NAME

Algorithm::Evolutionary::Op::GaussianMutation - Changes numeric chromosome components following the gaussian distribution

SYNOPSIS

my $xmlStr4=<<EOC; # From XML
<op name='GaussianMutation' type='unary' rate='1'>
  <param name='avg' value='0' />
  <param name='stddev' value='0.1' />
</op>
EOC
my $ref4 = XMLin($xmlStr4);
my $op4 = Algorithm::Evolutionary::Op::Base->fromXML( $ref4 );
print $op4->asXML(), "\n";

my $op = new Algorithm::Evolutionary::Op::GaussianMutation( 0, 0.05) # With average 0, and 0.05 standard deviation

Base Class

Algorithm::Evolutionary::Op::Base

DESCRIPTION

Mutation operator for a GA: applies gaussian mutation to a number

new( [$average = 0] [, $standard deviation = 1] [, $rate = 1 ]

Creates a new mutation operator with an application rate. Rate defaults to 1.

create

Creates a new mutation operator with an application rate. Rate defaults to 0.1.

Called create to distinguish from the classwide ctor, new. It just makes simpler to create a Mutation Operator

apply( $chromosome )

Applies mutation operator to a "Chromosome", a vector of stuff, really. Can be applied only to victims with the _array instance variable; but it checks before application that both operands are of type Algorithm::Evolutionary::Individual::Vector.

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: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/GaussianMutation.pm,v 3.1 2011/02/14 06:55:36 jmerelo Exp $ 
$Author: jmerelo $ 
$Revision: 3.1 $
$Name $