I will always remember one of the first reviews I received on a paper on Mastermind, 15 or so years ago: Why would anybody care about mastermind?
How would you play mastermind? It's not easy to do, since possible branches are many more than for Sudoku or even chess. In fact, this is the kind of game that can be played more easily by a machine than by a person. CC picture from http://www.flickr.com/photos/unloveable/2399932549/
One of the possible ways to find solutions. Could be others, of course, but this is a good one.
Like the birds. They look the same, but one of them has a bad hair day. Or rather a bad feather day. Let's just say that what we do is, once a solution is consistent, we find a scoring based on how the set of consistent solutions is partitioned by comparing consistent solutions with each other. In other papers we tested different ways of doing it, and we're fixing it here. Ideally, anyways, the solution should have always the maximum fitness, but I'm not sure it does (it will have to be checked)
Creative commons image from Okinawa Soba at http://www.flickr.com/photos/24443965@N08/3606831198/ This was published in NICSO, Evostar, CIG, GECCO (as a póster) and eventually PPSN
CC Picture from San Diego Shooter http://www.flickr.com/photos/nathaninsandiego/3758988303/ New is always better. And better is also always better. Mostly.
Picture from http://www.flickr.com/photos/nostri-imago/3137422976/in/photostream/
Picture by AskThePixel at http://www.flickr.com/photos/askthepixel/3008033829 We realized that the algorithm was generating many repeated combinations, instead of generating new ones. In some cases, there were dozens of copies of them
Did we really improve population diversity, and could this be the cause of the improved results? It probably is, since the new algorithm maintains the diversity quite high during the whole experiment
All source, data sets, experiment results for this paper are available from Sourceforge (in fact, they were while we were doing it). Source is also available from the CPAN Perl module server worldwide, in two separate modules: the algorithm itself as the module Algorithm::Mastermind (along with other algorithms; for instance, Knuth's algorithm), and the EA in the shape of the Evolutionary Algorithm library.
Even better Mastermind
J. J. Merelo , Carlos Cotta, Antonio Mora U. Granada & Málaga (Spain) Http://geneura.wordpress.com http://twitter.com/geneura Optimizing worst-case scenario in evolutionary solutions to the MasterMind puzzle