CX (Cycle crossover) - 2-point crossover operator; Builds offspreing 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 $xmlStr3=<<EOC; <op name='CX' type='binary' rate='1'> </op> EOC my $ref3 = XMLin($xmlStr3);
my $op3 = OpBase->fromXML( $ref3 ); print $op3->asXML(), "\n";
my $indi = new BinaryIndi 10; my $indi2 = $indi->clone(); my $indi3 = $indi->clone(); $op3->apply( $indi2, $indi3 );
Cycle Crossover operator for a GA
Creates a new CX operator.
Creates a new CX operator. But this is just to have a non-empty chromosome
Sets the instance variables. Takes a ref-to-hash as input
Applies 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
VectorIndi.
Prints as XML, following the EvoSpec 0.2 XML specification. Should be called from derived classes, not by itself.
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
CVS Info: $Date: 2002/04/23 12:33:47 $ $Header: /cvsroot/opeal/opeal/CX.pm,v 1.2 2002/04/23 12:33:47 jmerelo Exp $ $Author: jmerelo $