Package io.jenetics

Class SinglePointCrossover<G extends Gene<?,​G>,​C extends Comparable<? super C>>

  • All Implemented Interfaces:
    Alterer<G,​C>

    public class SinglePointCrossover<G extends Gene<?,​G>,​C extends Comparable<? super C>>
    extends MultiPointCrossover<G,​C>
    Single point crossover

    One or two children are created by taking two parent strings and cutting them at some randomly chosen site. E.g.

    Single-point crossover

    If we create a child and its complement we preserving the total number of genes in the population, preventing any genetic drift. Single-point crossover is the classic form of crossover. However, it produces very slow mixing compared with multi-point crossover or uniform crossover. For problems where the site position has some intrinsic meaning to the problem single-point crossover can lead to small disruption than multi-point or uniform crossover.

    Since:
    1.0
    Version:
    5.0
    See Also:
    MultiPointCrossover
    • Constructor Detail

      • SinglePointCrossover

        public SinglePointCrossover​(double probability)
        Constructs an alterer with a given recombination probability.
        Parameters:
        probability - the crossover probability.
        Throws:
        IllegalArgumentException - if the probability is not in the valid range of [0, 1].
      • SinglePointCrossover

        public SinglePointCrossover()
        Create a new single point crossover object with crossover probability of 0.05.