Accord.Genetic.GEPChromosome.Crossover C# (CSharp) Method

Crossover() public method

Crossover operator.

The method performs one-point or two-point crossover selecting them randomly with equal probability.

public Crossover ( IChromosome pair ) : void
pair IChromosome Pair chromosome to crossover with.
return void
        public override void Crossover(IChromosome pair)
        {
            var rand = Generator.Random;
            GEPChromosome p = (GEPChromosome)pair;

            // check for correct chromosome
            if (p != null)
            {
                // choose recombination method
                if (rand.Next(2) == 0)
                {
                    RecombinationOnePoint(p);
                }
                else
                {
                    RecombinationTwoPoint(p);
                }
            }
        }