**Algorithm::MasterMind - Framework for algorithms that solve the MasterMind game**

Includes common functions used in Mastermind solvers; it should not be used directly, but from derived classes. See examples in Algorithm::MasterMind::Random, for instance....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Evo - New evolutionary algorithms solving MM - Evo* version**

This algorithm is a new evolutionary algorithm that includes EndGames and also using Most Parts score for evolving solutions to Mastermind. I was introduced in "Improving and Scaling Evolutionary Approaches to the MasterMind Problem", by Merelo, Cott...

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::EDA - Solver using an Estimation of Distribution Algorithm**

Uses Algorithm::Evolutionary instance of EDAs to solve MM; as there are two different fitness functions you can use; probably "fitness_orig" works better....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::MOGA - Solver using an Estimation of Distribution Algorithm**

Uses Algorithm::Evolutionary instance of MOGAs to solve MM; as there are two different fitness functions you can use; probably "fitness_orig" works better....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Test - Mock class used for testing algorithms by hand**

Mainly used in test functions, and as a way of instantiating base class....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Random - Plays random consistent combinations**

Not very efficient, but memory footprint is null and works pretty well for small spaces. Beware of big spaces, it could get stuck...

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Secret - Minimal framework for MM secrets**

Basically a string and a hash, caches the string in a hash so that it is faster to check against it in mastermind. This class is heavily optimized for speed, which might result in some inconvenients....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::EvoRank - Evolutionary algorithm with the partition method and ranked fitness, prepared for GECCO 2010**

The partition method was introduced in a 2010 paper, and then changed by Runarsson and Merelo to incorporate it in the genetic search. It was prepared for a conference paper, this one: @INPROCEEDINGS{mm:cig, author={Merelo, J.J. and Mora, A.M. and Ru...

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Partition - Base class for exhaustive partion-based methods**

This is a base class for endgames based on partitions....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Sequential - Tests each combination in turn.**

Test combinations in turn, starting by A x length. Should find the solution, but complexity increases with size. Not very efficient....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Test_Solver - Utility functions for testing solvers**

Used mainly in the test set, but useful for testing your own algorithms...

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Evolutionary - Tries to compute new solution from last**

Mainly used in test functions, and as a way of instantiating base class....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Canonical_GA - Tries to compute new solution from last**

Mainly used in test functions, and as a way of instantiating base class....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Sequential_Alt - Tests each combination in turn, alternating with the beginning and end of the sequence.**

Test combinations in turn, starting by A x length. Should find the solution, but complexity increases with size. Not very efficient, but a bit better than Algorithm::MasterMind::Sequential...

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Partition_Most - Plays combination with the highest number of partitions**

Solves the algorithm by issuing each time a combination that maximizes the number of non-null partitions. This intends to maximally reduce the search space each time; I wouldn't advice using it for sizes over 4-6. In fact, it will probably take a lot...

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::EDA_Partitions - Solver using an EDA plus partitions**

Uses Algorithm::Evolutionary instance of EDAs to solve MM; as there are two different fitness functions you can use; probably "fitness_orig" works better....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Consistent_Set - Class for handling the set of consistent combinations**

The consistent set in Mastermind contains the set of strings that could possibly be a solution, that is, those that meet all partitions made so far....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::CGA_Partitions - Solver using a Canonical GA**

Uses Algorithm::Evolutionary instance of canonical genetic algorithm to solve MM; as there are two different fitness functions you can use; probably "fitness_orig" works better....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Evolutionary_MO - Tries to compute new solution from last**

Mainly used in test functions, and as a way of instantiating base class....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT**Algorithm::MasterMind::Partition::Most - Uses "most partitions" criterium to play**

Solves the algorithm by issuing each time a combination with a particular score; the computation of that score is delegated to subclasses....

JMERELO/Algorithm-MasterMind-v0.4.5 - 19 Jul 2012 18:06:25 GMT