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::StringRand - randomly change chars in a string

SYNOPSIS

  my $xmlStr2=<<EOC;
    <op name='StringRand' type='unary' rate='0.5' />
      <param name='numchars' value='1' />
    </op>
  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::StringRand 3; #Change 3 characters

Base Class

Algorithm::Evolutionary::Op::Base

DESCRIPTION

  Mutation operator for a GA; changes a single element in a string by
  changing it to the next in the sequence deducted from the chromosome
  itself.

create()

Creates a new mutation operator.

apply( $victim )

Applies mutation operator to a "Chromosome", a string, really. Can be applied only to victims with the _str instance variable; but it checks before application that both operands are of the required type. The chosen character is changed to the next or previous in the array of chars used for coding the the string my $strChrom = new Algorithm::Evolutionary::Individual::String ['a','c','g','t'] 10; my $xmen = new Algorithm::Evolutionary::Op::IncMutation; $xmen->apply( $strChrom ) # will change 'acgt' into 'aagt' or # 'aggt', for instance

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/11/17 19:19:41 $ 
  $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/StringRand.pm,v 3.1 2009/11/17 19:19:41 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 3.1 $
  $Name $