Each population had 256 NEAT networks, for a total of 512.
The coefficients for measuring compatibility were ,
, and
. The initial compatibility distance was
. However, because population dynamics can be unpredictable
over hundreds of generations, we assigned a target of 10
species. If the number of species grew above 10,
was
increased by
to reduce the number of species. Conversely,
if the number of species fell below 10,
was
decreased by
to increase the number of species.
The normalization factor
used to compute compatibility was fixed at one. In order
to prevent stagnation, the lowest
performing species over 30 generations old was not allowed to
reproduce. The champion of each species with more than five networks was
copied into the next generation unchanged.
There was an 80% chance of a genome having its
connection weights mutated, in which case each
weight had a 90% chance of being uniformly perturbed and a 10%
chance of being assigned a new random value.
(The system is tolerant to
frequent mutations because of the protection speciation provides.)
There was a 75% chance that an inherited
gene was disabled if it was disabled in either parent.
In 40% of crossovers, the offspring inherited the average
of the connection weights of matching genes from both parents, instead of the
connection weight of only one parent randomly.
In each generation, 25% of offspring resulted from mutation without
crossover. The interspecies mating rate was 0.05.
The probability of adding a new node was 0.01 and the probability
of a new link mutation was 0.1.
We used a modified sigmoidal transfer function,
, at all nodes.
These parameter values were found experimentally, and
they follow a logical pattern: Links need to be
added significantly more often than nodes, and an average weight
difference of 0.5 is about as significant as one disjoint or excess
gene. Performance is robust to
moderate variations in these values.
NEAT software is available in the software section at
http://nn.cs.utexas.edu.