The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Algorithm::Evolutionary::Op::ChangeLengthMutation - Increases/decreases by one atom the length of the string

SYNOPSIS

  my $xmlStr2=<<EOC;
  <op name='ChangeLengthMutation' 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::ChangeLengthMutation 1, 0.5, 0.5; #Create from scratch

Base Class

Algorithm::Evolutionary::Op::Base

DESCRIPTION

Increases or decreases the length of a string, by adding a random element, or eliminating it.

METHODS

new( $rate[, $increment_probability] [, $decrement_probability]

Creates a new operator. It is called with 3 arguments: the rate it's going to be applied, and the probability of adding and substracting an element from the string each time it's applied.

create

Creates a new operator. It is called with 3 arguments: the rate it's going to be applied, and the probability of adding and substracting an element from the string each time it's applied. Rates default to one.

apply

This is the function that does the stuff. The probability of adding and substracting are normalized. Depending on a random draw, a random char is added to the string (at the end) or eliminated from a random position within the string..

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/09/13 12:49:04 $ 
  $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/ChangeLengthMutation.pm,v 3.1 2009/09/13 12:49:04 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 3.1 $
  $Name $