If you're interested in the world of "computational intelligence" aka "nature-inspired computation", this book is a good high level survey: <a href="http://www.cleveralgorithms.com/" rel="nofollow">http://www.cleveralgorithms.com/</a><p>(You can also find stuff under the heading of "metaheuristics" -- <a href="http://cs.gmu.edu/~sean/book/metaheuristics/" rel="nofollow">http://cs.gmu.edu/~sean/book/metaheuristics/</a>).<p>GAs are one of four (!) different independently developed strands of thought -- Genetic Algorithms, Genetic Programming, Evolutionary Programming and Evolutionary Strategies. Look out for that when you hit the Googletrons.
<i>> Then our Charles simply had to figure out how Mrs Kipling scored the cakes and he could genetically evolve the best cake!</i><p>"And then a miracle happens." Isn't the fitness function the "key ingredient?" (It's in the source code, but not in the text for a reason.)<p>Still a good explanation of the rest.
I would suggest making the fitness function more complex. I think its a bit confusing to see the optimal result be equal to the fitness function's parameters, and it makes it easier to miss the point.
I've written something [1] related to this if someone is interested.<p>[1] <a href="http://pyevolve.sourceforge.net/wordpress/?p=576" rel="nofollow">http://pyevolve.sourceforge.net/wordpress/?p=576</a>
I don't have much of a knowledge of genetic algorithms so it might be good to explicitly say what part of GA algorithms set them apart from other branches of algorithms.<p>Nice story otherwise.