NAME
Algorithm::Evolutionary::Op::IncMutation - Increments/decrements by one the value of one of the components
of the string, takes into account the char class
SYNOPSIS
my $xmlStr2=<<EOC;
<op name='IncMutation' type='unary' rate='0.5' />
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::IncMutation; #Create from scratch
Base Class
Algorithm::Evolutionary::Op::Base
DESCRIPTION
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.
create
Creates a new mutation operator.
apply
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
Issues an error if there is no _chars
array.
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: 2002/11/19 12:26:49 $
$Header: /cvsroot/opeal/opeal/Algorithm/Evolutionary/Op/IncMutation.pm,v 1.4 2002/11/19 12:26:49 jmerelo Exp $
$Author: jmerelo $
$Revision: 1.4 $
$Name $