The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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: 2009/02/04 20:43:14 $ 
  $Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/GaussianMutation.pm,v 2.1 2009/02/04 20:43:14 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 2.1 $
  $Name $