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

Creates a new mutation operator with an application rate. Rate defaults to 0.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

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: 2002/06/18 12:21:13 $ 
  $Header: /cvsroot/opeal/opeal/Algorithm/Evolutionary/Op/GaussianMutation.pm,v 1.2 2002/06/18 12:21:13 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 1.2 $
  $Name $