[][src]Trait genevo::operator::GeneticOperator

pub trait GeneticOperator: Clone {
    fn name() -> String;
}

A GeneticOperator defines a function used to guide the genetic algorithm towards a solution to a given problem. There are three main types of operators - Selection, Crossover and Mutation - which must work in conjunction with one another in order for the algorithm to be successful.

There are unary operators that operate on one genotype at a time, e.g. mutation operators, and binary operators that work on two genotypes at a time, e.g. crossover operators.

Required methods

fn name() -> String

The name of the operator used for display purposes. The name should make clear to the user of the simulation which implementation of which kind of operator is being performed.

It is recommended to combine some name of the method implemented by this operator (first part) with some name for the kind of operator (second part), e.g. "Flip-Bit-Mutation" or "Roulette-Wheel-Selection".

Loading content...

Implementors

impl GeneticOperator for InsertOrderMutator[src]

impl GeneticOperator for SwapOrderMutator[src]

impl GeneticOperator for MultiPointCrossBreeder[src]

impl GeneticOperator for SinglePointCrossBreeder[src]

impl GeneticOperator for UniformCrossBreeder[src]

impl GeneticOperator for OrderOneCrossover[src]

impl GeneticOperator for PartiallyMappedCrossover[src]

impl GeneticOperator for UniformReinserter[src]

impl GeneticOperator for RouletteWheelSelector[src]

impl GeneticOperator for UniversalSamplingSelector[src]

impl GeneticOperator for TournamentSelector[src]

impl GeneticOperator for MaximizeSelector[src]

impl<G> GeneticOperator for BreederValueMutator<G> where
    G: Genotype + BreederGenomeMutation
[src]

impl<G> GeneticOperator for RandomValueMutator<G> where
    G: Genotype + RandomGenomeMutation
[src]

impl<G, F, E> GeneticOperator for ElitistReinserter<G, F, E> where
    G: Genotype,
    F: Fitness,
    E: FitnessFunction<G, F>, 
[src]

Loading content...