This section describes how to mutate individuals. Related classes can be found in the package org.evolvica.core.mutate and appropriate subpackages.
The structure of the mutation package is similar to the one recombination package. The interface for a mutator
and the abstract base class can be found in org.evolvica.core.mutate while there are several subpackages
including mutators for different data types.
The abstract base class org.evolvica.core.mutate.AbstractMutator specifies the method mutate( IIndividual ind ).
Just like in the recombination package this method is implemented in sevral subclasses which specify methods for
mutating the actual data. For instance the IntegerMutator specifies int mutate( int value ). An integer value
is provided as argument and a mutated value is returned. Please note that you do NOT have to deal with mutation
propabilities in this method.
The mutation propability is already handled in the top-level mutator class. It can be set via setPropability( float ).
The actual mutate method is only called when the mutation really has to be performed.