jaga.evolve
Class SAGAMutator
java.lang.Object
|
+--jaga.evolve.SAGAMutator
- All Implemented Interfaces:
- GeneticOperator, java.io.Serializable
- public class SAGAMutator
- extends java.lang.Object
- implements GeneticOperator
This Genetic Operator attempts to implement the mutation rate
m = ln( rho ), where rho is the selective advantage of the fittest possible
individual compared to the population average.
In this implementation we can configure the floor and roof of this rate (in mutations per genotype) as
well, so we can set what the maximum and minimum mutation rates are; such that:
m_max = km * ln( inf ) + kc = mutRoof and m_min = km * ln( 1 ) + kc = mutFloor.
kc is clearly mutFloor. km is calculated using the a minimum fitness value d,
so mutRoof = km * ln( 1 / d ) + 1.
- See Also:
- Serialized Form
|
Constructor Summary |
SAGAMutator(int mutFloor,
int mutRoof)
Creates new SAGAMutator |
SAGAMutator(int mutFloor,
int mutRoof,
int fitnessIndex)
|
SAGAMutator(int mutFloor,
int mutRoof,
int fitnessIndex,
int rangeStart,
int rangeEnd)
|
|
Method Summary |
void |
operate(Selector selector,
Population oldPopulation,
Population newPopulation,
int howMany)
method that adds genotypes to the new population by extracting some
from the old one and manipulating them in some way. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SAGAMutator
public SAGAMutator(int mutFloor,
int mutRoof,
int fitnessIndex,
int rangeStart,
int rangeEnd)
SAGAMutator
public SAGAMutator(int mutFloor,
int mutRoof,
int fitnessIndex)
SAGAMutator
public SAGAMutator(int mutFloor,
int mutRoof)
- Creates new SAGAMutator
operate
public void operate(Selector selector,
Population oldPopulation,
Population newPopulation,
int howMany)
- method that adds genotypes to the new population by extracting some
from the old one and manipulating them in some way.
WARNING: Will not work with pops with unevaluated individuals.
- Specified by:
operate in interface GeneticOperator
- Parameters:
oldPopulation - in parameter having all the original genotypesnewPopulation - in/out parameter where the next generation of genotypes is being builthowMany - how many new genotypes to add to the new population
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object