Algorithm::Evolutionary::Op::Mutation - BitFlip mutation, changes several bits in a bitstring, depending on the probability
use Algorithm::Evolutionary::Op::Mutation; my $xmlStr=<<EOC; <op name='Mutation' type='unary' rate='2'> <param name='probability' value='0.5' /> </op> EOC my $ref = XMLin($xmlStr); my $op = Algorithm::Evolutionary::Op::->fromXML( $ref ); print $op->asXML(), "\n*Arity ->", $op->arity(), "\n"; #Create from scratch my $op = new Algorithm::Evolutionary::Op::Mutation (0.5 ); #All options my $priority = 1; my $mutation = new Algorithm::Evolutionary::Op::Mutation 1/$length, $priority;
Algorithm::Evolutionary::Op::Base
Mutation operator for a GA
Creates a new mutation operator with a bitflip application rate, which defaults to 0.5, and an operator application rate (general for all ops), which defaults to 1. Application rate will be converted in runtime to application probability, which will eventually depend on the rates of all the other operators. For instance, if this operator's rate is one and there's another with rate=4, probability will be 20% for this one and 80% for the other; 1 in 5 new individuals will be generated using this and the rest using the other one.
Creates a new mutation operator with an application rate. Rate defaults to 0.5 (which is rather high, you should not rely on it).
Called create to distinguish from the classwide ctor, new. It just makes simpler to create a Mutation Operator
create
Applies mutation operator to a "Chromosome", a bitstring, really. Can be applied only to victims with the _str instance variable; it checks before application that the operand is of type Algorithm::Evolutionary::Individual::BitString. It returns the victim.
_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/09/13 12:49:04 $ $Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/Mutation.pm,v 3.1 2009/09/13 12:49:04 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.