An introduction to genetic algorithms
theprojectspot.com
theprojectspot.com
The tough parts to using EC/GA on your problem (which this article doesn't discuss at all, unfortunately) are going to be:
a) figuring out a string representation for your candidate solutions (i.e. because strings are easy to 'mate', 'mutate', etc.)
b) writing a fitness function to evaluate one or more candidates
[a] and [b] are intimately related, of course.
One of the nice things about EC/GA is that it's typically very easy to scale up to take advantage of more hardware. If you have an expensive fitness function, e.g. 'fighting' two chess-board evaluators against one another over an extended series of games, you can just farm those simulations out to as many procs/machines as you have available.
Here's a presentation I gave on GE and tic-tac-toe as part of senior sem in college, might be helpful for someone just getting into GA (as I was at the time). https://docs.google.com/present/view?id=df49rshq_117sjxbr2ks
edit: and here's the tutorial I used at the time, which I think would complement your tutorial http://www.puremango.co.uk/2010/12/genetic-algorithm-for-hel...
Another problem with GAs that model individuals as arbitrary binary strings is that they unnecessarily create a lot of invalid strings that don't correspond to the solution space of a given problem. Sometimes it's easy to convert the solution space to the entire sequence range of 0 and 1s but sometimes it's not.
https://github.com/Mononofu/Simple-GeneticAlgorithm
Just like the Java one, but less code. Usually converges in 10 - 20 iterations.
It feels much more compelling to pay for a book that the writer is having enough confidence to give away for free.