Algorithm::Evolutionary::Op::StringRand - randomly change chars in a string
my $xmlStr2=<<EOC; <op name='StringRand' type='unary' rate='0.5' /> <param name='numchars' value='1' /> </op> EOC my $ref2 = XMLin($xmlStr2); my $op2 = Algorithm::Evolutionary::Op::Base->fromXML( $ref2 ); print $op2->asXML(), "\n*Arity ", $op->arity(), "\n"; my $op = new Algorithm::Evolutionary::Op::StringRand 3; #Change 3 characters
Algorithm::Evolutionary::Op::Base
Mutation operator for a GA; changes a single element in a string by changing it to the next in the sequence deducted from the chromosome itself.
Creates a new mutation operator.
Applies mutation 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 the required type. The chosen character is changed to the next or previous in the array of chars used for coding the the string my $strChrom = new Algorithm::Evolutionary::Individual::String ['a','c','g','t'] 10; my $xmen = new Algorithm::Evolutionary::Op::IncMutation; $xmen->apply( $strChrom ) # will change 'acgt' into 'aagt' or # 'aggt', for instance
_str
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: 2009/11/17 19:19:41 $ $Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/StringRand.pm,v 3.1 2009/11/17 19:19:41 jmerelo Exp $ $Author: jmerelo $ $Revision: 3.1 $ $Name $
To install Algorithm::Evolutionary, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Algorithm::Evolutionary
CPAN shell
perl -MCPAN -e shell install Algorithm::Evolutionary
For more information on module installation, please visit the detailed CPAN module installation guide.