
Algorithm::Evolutionary::Op::TreeMutation - GP-like mutation operator for trees

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

Algorithm::Evolutionary::Op::Base

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

Creates a new mutation operator with an application rate. Rate defaults to 0.1.
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
Applies mutation operator to a "Chromosome", but it checks before application that both operands are of type Algorithm::Evolutionary::Individual::Tree.
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

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/02/04 20:43:15 $ $Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/TreeMutation.pm,v 2.1 2009/02/04 20:43:15 jmerelo Exp $ $Author: jmerelo $ $Revision: 2.1 $ $Name $