Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Algorithm::EvolutionarUserpContributedlPerithm::Evolutionary::Op::Crossover(3)

NAME
       Algorithm::Evolutionary::Op::Crossover -	n-point	crossover
	   operator; puts fragments of the second operand into the first
       operand

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 Class
       Algorithm::Evolutionary::Op::Base

DESCRIPTION
       Crossover 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

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 = {	numPoints => 2 };
	   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	BitString.

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

SEE ALSO
       Algorithm::Evolutionary::Op::QuadXOver for pass-by-reference xover
       Algorithm::Evolutionary::Op::Uniform_Crossover another more mutation-
       like xover
       Algorithm::Evolutionary::Op::Gene_Boundary_Crossover don't disturb the
       building	blocks!
       Algorithm::Evolutionary::Op::Uniform_Crossover_Diff vive	la difference!

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/Crossover.pm,v 3.2 2011/02/14 06:55:36 jmerelo Exp $
	 $Author: jmerelo $
	 $Revision: 3.2	$
	 $Name $

perl v5.24.1			  201Algorithm::Evolutionary::Op::Crossover(3)

NAME | SYNOPSIS | Base Class | DESCRIPTION | METHODS | SEE ALSO | Copyright

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Algorithm::Evolutionary::Op::Crossover&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help