Module io.jenetics.ext
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 a 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:
-
Field Summary
Fields inherited from class io.jenetics.AbstractAlterer
_probability
Fields inherited from interface io.jenetics.Alterer
DEFAULT_ALTER_PROBABILITY
-
Constructor Summary
ConstructorDescriptionCreate 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
Methods inherited from class io.jenetics.AbstractAlterer
probability
-
Constructor Details
-
WeaselMutator
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
.
-
-
Method Details
-
alter
-
mutate
-
toString
-