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're 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 multipoint crossover or uniform crossover. For problems where the site position has some intrinsic meaning to the problem, single-point crossover can lead to smaller disruption than multipoint 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