Package io.jenetics.ext
Class WeaselMutator<G extends Gene<?,G>,C extends Comparable<? super C>>
- java.lang.Object
-
- io.jenetics.AbstractAlterer<G,C>
-
- io.jenetics.Mutator<G,C>
-
- io.jenetics.ext.WeaselMutator<G,C>
-
- Type Parameters:
G
- the gene typeC
- the fitness result type
- All Implemented Interfaces:
Alterer<G,C>
public class WeaselMutator<G extends Gene<?,G>,C extends Comparable<? super C>> extends Mutator<G,C>
Mutator implementation which is part of the Weasel program algorithm. The Weasel program is an thought experiment by Richard Dawkins to illustrate the functioning of the evolution: random mutation combined with non-random cumulative selection.The mutator mutates the genes of every chromosome of every genotype in the population with the given mutation probability.
Engine
setup for the Weasel program:final Engine<CharacterGene, Integer> engine = Engine.builder(problem) // Set the 'WeaselSelector'. .selector(new WeaselSelector<>()) // Disable survivors selector. .offspringFraction(1) // Set the 'WeaselMutator'. .alterers(new WeaselMutator<>(0.05)) .build();
- Since:
- 3.5
- Version:
- 5.0
- See Also:
- Weasel program,
WeaselSelector
-
-
Field Summary
-
Fields inherited from class io.jenetics.AbstractAlterer
_probability
-
Fields inherited from interface io.jenetics.Alterer
DEFAULT_ALTER_PROBABILITY
-
-
Constructor Summary
Constructors Constructor Description WeaselMutator()
Create a new weasel mutator with the default mutation probability of0.05
.WeaselMutator(double probability)
Create a new weasel mutator with the given mutation probability.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AltererResult<G,C>
alter(Seq<Phenotype<G,C>> population, long generation)
protected MutatorResult<Genotype<G>>
mutate(Genotype<G> genotype, double p, Random random)
String
toString()
-
Methods inherited from class io.jenetics.AbstractAlterer
probability
-
-
-
-
Constructor Detail
-
WeaselMutator
public WeaselMutator(double probability)
Create a new weasel mutator with the given mutation probability.- Parameters:
probability
- the mutation probability- Throws:
IllegalArgumentException
- if theprobability
is not in the valid range of[0, 1]
.
-
WeaselMutator
public WeaselMutator()
Create a new weasel mutator with the default mutation probability of0.05
.
-
-