decide() in Brain calls getBestTrait() in the critter's genome.
The genome stores a value for each combination of action, touch sensor direction, and texture.
Since a state is a combination of several (for example, 6) direction-texture combinations,
the value of an action in a state is the sum of the values for the individual positions and textures.
It is these sums that are compared in getBestTrait().
mate() in Evolver with the two parent critters
as arguments.
mate() creates two new genomes by performing crossover on the genomes of the two parents.
mate() then mutates the new genomes.
mate() finds the two weakest critters in the population, and
reincarnates them by replacing their genomes with the two new ones and restoring
their strength to the initial value.