-
Notifications
You must be signed in to change notification settings - Fork 9
Evolution and Population
The evolution argument allows you to choose what kind of evolutionary algorithm to use in your experiments. Below is a description of the different types of evolutionary algorithms currently implemented:
A simple elitist evolutionary algorithm where the top X controllers copied to the next generation and mutated. The default value is 100 genomes per population and 5 elites. It can be used with any Controller that extends the FixedLengthGenomeEvolvableController (see the the wiki page on Controller. Below are the default arguments:
--population classname=MuLambdaPopulation,size=100,generations=100,samples=5,mutationrate=0.1
--evolution classname=GenerationalEvolution
NEAT is an evolutionary algorithm that simultaneously optimizes the network's topology and weights. The NeuralNetworkController and the NEATNetwork class should be used with this evolutionary algorithm. It can be used in the following way:
--population classname=NEATPopulation,size=150,generations=100,samples=10
--evolution classname=NEATEvolution
The full argument list for NEAT can be found in the NEATEvolution class.