Algorithm::Evolutionary::Op::CX (Cycle crossover) - 2-point crossover operator;
Builds offspring in such a way
that each gene comes from one of the parents. Preserves the absolute position
of the elements
in the parent sequence
my $op4 = new Algorithm::Evolutionary::Op::CX 3;
my $indi = new Algorithm::Evolutionary::Individual::Vector 10;
my $indi2 = $indi->clone();
my $indi3 = $indi->clone();
$op3->apply( $indi2, $indi3 );
Algorithm::Evolutionary::Op::Base
Cycle Crossover operator for a GA. It is applied to chromosomes that are a
permutation of each other; even as the class it applies to is
Algorithm::Evolutionary::Individual::Vector, it will issue lots of "La
jodimos!" messages if the parents do not fulfill this condition.
Some information on this operator can be obtained from this
evolutionary computation tutorial
<http://www.cs.bham.ac.uk/~rmp/slide_book/node4.html#SECTION00444300000000000000>
Creates a new Algorithm::Evolutionary::Op::CX operator.
Creates a new Algorithm::Evolutionary::Op::CX operator. But this is just to have
a non-empty chromosome
Applies Algorithm::Evolutionary::Op::CX operator to a "Chromosome", a
bitstring, really. Can be applied only to victims with the
"_bitstring" instance variable; but it
checks before application that both operands are of type Individual::Vector.
This file is released under the GPL. See the LICENSE file included in this distribution,
or go to http://www.fsf.org/licenses/gpl.txt