If you're looking for more doc / research on GAs, be sure to include 'evolutionary computation' in your searches.<p>The tough parts to using EC/GA on your problem (which this article doesn't discuss at all, unfortunately) are going to be:<p>a) figuring out a string representation for your candidate solutions (i.e. because strings are easy to 'mate', 'mutate', etc.)<p>b) writing a fitness function to evaluate one or more candidates<p>[a] and [b] are intimately related, of course.<p>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.