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.
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/
Excelent picture from http://www.flickr.com/photos/jeremymates/3090959981/lightbox/ with a CC licence This change of strategy is a heuristic method, which would make this possibly a memetic algorithm.
One of the possible ways to find solutions. Could be others, of course, but this is a good one.
One of the possible ways to find solutions. Could be others, of course, but this is a good one.
EvoRank-EG is the new algorithm with endgames; the rest have been included to see how it scaled to bigger sizes (and how difference scaled, too)
Picture from http://www.flickr.com/photos/20262161@N00/3301968244/in/photostream/ with a CC licence That means that, in general, heuristic methods help constrain search and are a boon for evolutionary algorithms
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.