T - The type of evolved candidates that are operated on by
this cross-over implementation.public abstract class AbstractCrossover<T> extends Object implements EvolutionaryOperator<T>
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCrossover(int crossoverPoints)
Sets up a fixed-point cross-over implementation.
|
protected |
AbstractCrossover(int crossoverPoints,
Probability crossoverProbability)
Sets up a cross-over implementation that uses a fixed number of cross-over
points.
|
protected |
AbstractCrossover(NumberGenerator<Integer> crossoverPointsVariable)
Sets up a cross-over implementation that uses a variable number of cross-over
points.
|
protected |
AbstractCrossover(NumberGenerator<Integer> crossoverPointsVariable,
NumberGenerator<Probability> crossoverProbabilityVariable)
Sets up a cross-over implementation that uses a variable number of cross-over
points.
|
| Modifier and Type | Method and Description |
|---|---|
List<T> |
apply(List<T> selectedCandidates,
Random rng)
Applies the cross-over operation to the selected candidates.
|
protected abstract List<T> |
mate(T parent1,
T parent2,
int numberOfCrossoverPoints,
Random rng)
Perform cross-over on a pair of parents to generate a pair of offspring.
|
protected AbstractCrossover(int crossoverPoints)
AbstractCrossover(int, Probability)
constructor.crossoverPoints - The constant number of cross-over points
to use for all cross-over operations.protected AbstractCrossover(int crossoverPoints,
Probability crossoverProbability)
crossoverProbability parameter.crossoverPoints - The constant number of cross-over points
to use for all cross-over operations.crossoverProbability - The probability that, once selected,
a pair of parents will be subjected to cross-over rather than
being copied, unchanged, into the output population. Must be in the range
0 < crossoverProbability <= 1protected AbstractCrossover(NumberGenerator<Integer> crossoverPointsVariable)
AbstractCrossover(NumberGenerator, NumberGenerator) constructor.crossoverPointsVariable - A random variable that provides a number
of cross-over points for each cross-over operation.protected AbstractCrossover(NumberGenerator<Integer> crossoverPointsVariable, NumberGenerator<Probability> crossoverProbabilityVariable)
crossoverProbabilityVariable
parameter.crossoverPointsVariable - A variable that provides a (possibly constant,
possibly random) number of cross-over points for each cross-over operation.crossoverProbabilityVariable - A variable that controls the probability
that, once selected, a pair of parents will be subjected to cross-over rather
than being copied, unchanged, into the output population.public List<T> apply(List<T> selectedCandidates, Random rng)
apply in interface EvolutionaryOperator<T>selectedCandidates - The evolved individuals that have survived to
be eligible to reproduce.rng - A source of randomness used to determine the location of
cross-over points.protected abstract List<T> mate(T parent1, T parent2, int numberOfCrossoverPoints, Random rng)
parent1 - One of two individuals that provides the source material
for generating offspring.parent2 - One of two individuals that provides the source material
for generating offspring.numberOfCrossoverPoints - The number of cross-overs performed on the
two parents.rng - A source of randomness used to determine the location of
cross-over points.