28. What we do in this paper Check exhaustive search strategies Make small improvements Find out minimum set with same results Incorporate heuristic into EA Play the best score
29. Comparison of exhaustive search strategies Strategy min mean median max st.dev. max guesses Entropy 4.38 4.41 4.41 4.42 0.01 6 Most parts 4.38 4.41 4.41 4.43 0.01 7 Expected size 4.45 4.47 4.47 4.49 0.02 7 Worst case 4.46 4.48 4.47 4.51 0.02 6 Random 4.57 4.61 4.61 4.65 0.03 8
http://www.flickr.com/photos/96dpi/3045941013/ With a creative commons licence
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.
Creative Commons picture from http://www.flickr.com/photos/mayaevening/138372058/
You can install it right now, if you have Perl and cpan installed, as CPAN Algorithm::Mastermind. You can also download it otherwise.
CC Image from http://www.flickr.com/photos/catdonmit/3155198244/
The EDA using local entropy is statistically better than playing pure random, whereas the other EDA is not. In order to confirm the usefulness of the local entropy, an additional exper- iment was performed. This time, as in the previous sections, all consistent guesses are found and the one with the highest local entropy played. This results is labelled LocalEntropy in table 1.3. The results are not statistically different from the EDA results using fitness function fl.
In fact, for some subset size most-parts can be a bit better. Picture taken from http://www.flickr.com/photos/vernhart/1512271884/
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.