View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
J. J. Merelo-Guervós > Algorithm-Evolutionary-0.79_1 > Algorithm::Evolutionary::Op::Uniform_Crossover

Download:
Algorithm-Evolutionary-0.79_1.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 3.2   Source   Latest Release: Algorithm-Evolutionary-0.80

NAME ^

Algorithm::Evolutionary::Op::Uniform_Crossover - interchanges a set of atoms from one parent to the other.

SYNOPSIS ^

  #Create from XML description using EvoSpec
  my $xmlStr3=<<EOC;
  <op name='Uniform_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 $indi2 = $indi->clone();
  my $indi3 = $indi->clone();
  my $offspring = $op3->apply( $indi2, $indi3 ); #$indi2 == $offspring

  #Initialize using OO interface
  my $op4 = new Algorithm::Evolutionary::Op::Uniform_Crossover 0.5;# Crossover rate

Base Class ^

Algorithm::Evolutionary::Op::Base

DESCRIPTION ^

General purpose uniform crossover operator

METHODS ^

new( [$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 my $options_hash = { crossover_rate => 0.5 }; my $priority = 1;

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 String.

Changes the first parent, and returns it. If you want to change both parents at the same time, check QuadXOver

Copyright ^

  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: 2011/02/14 06:55:36 $ 
  $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/Uniform_Crossover.pm,v 3.2 2011/02/14 06:55:36 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 3.2 $
  $Name $
syntax highlighting: