[][src]Trait genevo::operator::CrossoverOp

pub trait CrossoverOp<G>: GeneticOperator where
    G: Genotype
{ fn crossover<R>(&self, parents: Parents<G>, rng: &mut R) -> Children<G>
    where
        R: Rng + Sized
; }

A CrossoverOp defines a function of how to crossover two genetic::Genotypes, often called parent genotypes, to derive new genetic::Genotypes. It is analogous to reproduction and biological crossover. Cross over is a process of taking two parent solutions and producing an offspring solution from them.

Required methods

fn crossover<R>(&self, parents: Parents<G>, rng: &mut R) -> Children<G> where
    R: Rng + Sized

Performs the crossover of the genetic::Parents and returns the result as a new vector of genetic::Genotype - the genetic::Children.

Loading content...

Implementors

impl CrossoverOp<Vec<usize>> for OrderOneCrossover[src]

impl CrossoverOp<Vec<usize>> for PartiallyMappedCrossover[src]

impl<G> CrossoverOp<G> for MultiPointCrossBreeder where
    G: Genotype + MultiPointCrossover
[src]

impl<G> CrossoverOp<G> for SinglePointCrossBreeder where
    G: Genotype + MultiPointCrossover
[src]

impl<V> CrossoverOp<Vec<V>> for UniformCrossBreeder where
    V: Clone + Debug + PartialEq + Send + Sync
[src]

Loading content...