NAME

  Mutation - BitFlip mutation, changes several bits, depending on the probability


SYNOPSIS

  my $op = new Algorithm::Evolutionary::Op::TreeMutation (0.5 ); #Create from scratch


Base Class

Algorithm::Evolutionary::Op::Base


DESCRIPTION

Mutation operator for a genetic programming, mutates tree nodes with a certain probability


METHODS

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

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'', but it checks before application that both operands are of type Algorithm::Evolutionary::Individual::Tree.

mutate

Callback routine called from apply; decides on mutation application, and applies it. If appliable, substitutes a node by other with the same arity. Builds a lists of nodes before, to speed up operation


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/TreeMutation.pm,v 1.2 2002/06/18 12:21:13 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 1.2 $
  $Name $