Mutation

This section describes how to mutate individuals. Related classes can be found in the package org.evolvica.core.mutate and appropriate subpackages.

Mutating Individuals

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.