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:
  • Constructor Details

    • 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

      Create a new single point crossover object with crossover probability of 0.05.
  • Method Details