Module io.jenetics.base
Package io.jenetics
Class Crossover<G extends Gene<?,G>,C extends Comparable<? super C>>
java.lang.Object
io.jenetics.AbstractAlterer<G,C>
io.jenetics.Recombinator<G,C>
io.jenetics.Crossover<G,C>
- Type Parameters:
G
- the gene type.
- All Implemented Interfaces:
Alterer<G,
C>
- Direct Known Subclasses:
IntermediateCrossover
,LineCrossover
,MultiPointCrossover
,PartiallyMatchedCrossover
,SimulatedBinaryCrossover
,UniformCrossover
,UniformOderBasedCrossover
public abstract class Crossover<G extends Gene<?,G>,C extends Comparable<? super C>>
extends Recombinator<G,C>
Performs a
Crossover of two Chromosome
. This crossover implementation can
handle genotypes with different lengths (different number of chromosomes). It
is guaranteed that chromosomes with the same (genotype) index are chosen
for crossover.
The order (Recombinator.order()
) of this Recombination implementation is two.
- Since:
- 1.0
- Version:
- 4.0
-
Field Summary
Fields inherited from class io.jenetics.AbstractAlterer
_probability
Fields inherited from interface io.jenetics.Alterer
DEFAULT_ALTER_PROBABILITY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Crossover
(double probability) Constructs an alterer with a given recombination probability. -
Method Summary
Methods inherited from class io.jenetics.Recombinator
alter, order
Methods inherited from class io.jenetics.AbstractAlterer
probability
-
Constructor Details
-
Crossover
Constructs an alterer with a given recombination probability.- Parameters:
probability
- the recombination probability- Throws:
IllegalArgumentException
- if theprobability
is not in the valid range of[0, 1]
-
-
Method Details
-
recombine
Description copied from class:Recombinator
Recombination template method. This method is called 0 to n times. It is guaranteed that this method is only called by one thread.- Specified by:
recombine
in classRecombinator<G extends Gene<?,
G>, C extends Comparable<? super C>> - Parameters:
population
- the population to recombineindividuals
- the array with the indexes of the individuals which are involved in the recombination step. The length of the array isRecombinator.order()
. The first individual is the primary individual.generation
- the current generation.- Returns:
- the number of genes that has been altered.
-
crossover
Template method which performs the crossover. The arguments given are mutable non-null arrays of the same length.- Parameters:
that
- the genes of the first chromosomeother
- the genes of the other chromosome- Returns:
- the number of altered genes
-