NAME

    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 = OpBase->fromXML( $ref4 );
  print $op4->asXML(), "\n";
  my $op = new GaussianMutation( 0, 0.05) # With average 0, and 0.05 standard deviation


Base Class

OpBase


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

set

Sets the instance variables. Takes a ref-to-hash as input

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 VectorIndi.

asXML

Prints as XML, following the EvoSpec 0.2 XML specification. Should be called from derived classes, not by itself.


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: 2001/10/25 12:33:11 $ 
  $Header: /cvsroot/opeal/opeal/GaussianMutation.pm,v 1.3 2001/10/25 12:33:11 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 1.3 $