The Future Waits For No One.

Join us in the optimal website experience. Upgrade your browser now and enjoy the full spectrum has to offer.

  • Internet Explorer 9
  • Mozilla Firefox
  • Google Chrome
  • Apple Safari

The Genetics of Checkers


Twin Cities Code Camp will get a big dose of evolution with space150 Ruby on Rails developer Jake Good’s introduction to genetic algorithms. He’ll show code in Ruby, Java, and C#/.Net.

Genetic algorithms are computer models or simulations that mimic the biological process of natural selection—software that models evolution. Real world applications include cryptography, neural networks, colony behavior, and simple models of the natural world. (Not to mention some of the work here at space150.)

Jake explains how they work:

Say we wanted to help a checkers player win more games. In the real world, humans have traits—encoded in the DNA that is information about our structure/species—shaping our entire biological being.

So to begin a checkers genetic algorithm, we would ask, if humans have traits that make them capable of surviving, what traits do checkers players have that allow them to win and survive?

Look at the player’s checkers traits: move patterns, tendencies, likes and dislikes about board/piece positions. These traits affect how the player will move and play the game.

These traits are also quantifiable and can be recorded—like DNA.

In the real world, natural selection weeds out bad genetic traits. Genetic algorithms let us create a simulation to weed out bad checkers-skill traits—testing and evolving the player’s checkers DNA (the checkers-playing traits). Keep the good and lose the bad: the checkers player will win more games.

To learn more about genetic algorithms and their applications, go to Jake’s talk:

If Darwin Could Write Code

Charles Darwin had an idea: that over time, species of animals adapted, evolved. Later, in the 1950s, computer scientists thought, “Hey, why not model natural selection on a computer?” With that, genetic algorithms were born! This talk will introduce (softly, I promise) genetic algorithms, applications of genetic algorithms, and, hopefully, some takeaway concepts and frameworks so you can try your own.

Twin Cities Code CampAPRIL 28, 200712:45–2:00Classroom 1