|  |  
 |   |   
 NAMEAlgorithm::Evolutionary::Op::Crossover - n-point crossover
   SYNOPSIS  #Create from XML description using EvoSpec
  my $xmlStr3=<<EOC;
  <op name='Crossover' type='binary' rate='1'>
    <param name='numPoints' value='3' /> #Max is 2, anyways
  </op>
  EOC
  my $op3 = Algorithm::Evolutionary::Op::Base->fromXML( $xmlStr3 );
  print $op3->asXML(), "\n";
  #Apply to 2 Individuals of the String class
  my $indi = new Algorithm::Evolutionary::Individual::BitString 10;
  my $offspring = $op3->apply( $indi2, $indi3 ); #$indi2 == $offspring
  #Initialize using OO interface
  my $op4 = new Algorithm::Evolutionary::Op::Crossover 2; #Crossover with 2 crossover points
Base ClassAlgorithm::Evolutionary::Op::Base DESCRIPTIONCrossover operator for a Individuals of type Algorithm::Evolutionary::Individual::String and their descendants (Algorithm::Evolutionary::Individual::BitString). Crossover for Algorithm::Evolutionary::Individual::Vector would be Algorithm::Evolutionary::Op::VectorCrossover METHODSnew( [$options_hash] [, $operation_priority] )Creates a new n-point crossover operator, with 2 as the default
    number of points, that is, the default would be
   apply( $chromsosome_1, $chromosome_2 )Applies xover operator to a "Chromosome", a string, really. Can be applied only to victims with the "_str" instance variable; but it checks before application that both operands are of type BitString. Changes the first parent, and returns it. If you want to change both parents at the same time, check QuadXOver SEE ALSO
 CopyrightThis 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: 2011/02/14 06:55:36 $ $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/Crossover.pm,v 3.2 2011/02/14 06:55:36 jmerelo Exp $ $Author: jmerelo $ $Revision: 3.2 $ $Name $ 
 
 |