J. J. Merelo-Guervós > Algorithm-Evolutionary-0.78 > Algorithm::Evolutionary::Op::Novelty_Mutation

Download:
Algorithm-Evolutionary-0.78.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 3.001   Source   Latest Release: Algorithm-Evolutionary-0.80

NAME ^

Algorithm::Evolutionary::Op::Novelty_Mutation - Mutation guaranteeing new individual is not in the population

SYNOPSIS ^

  my $mmdp = new  Algorithm::Evolutionary::Fitness::MMDP;
  my $bits = 36;
  my @population;
  for ( 1..100 ) { #Create and evaluate a population
    my $indi = new Algorithm::Evolutionary::Individual::BitString $bits;
    $indi->evaluate( $mmdp );
    push @population, $indi;
  }
  my $nm = new Algorithm::Evolutionary::Op::Novelty_Mutation $mmdp->{'_cache'}; #Initialize using cache
  $nm->apply($population[$i]);

Base Class ^

Algorithm::Evolutionary::Op::Base

DESCRIPTION ^

Attempts all possible mutations in order, until a "novelty" individual is found. Generated individuals are checked against the population hash, and discarded if they are already in the population.

METHODS ^

new( $ref_to_population_hash [,$priority] )

Creates a new mutation operator with an operator application rate (general for all ops), which defaults to 1, and stores the reference to population hash.

apply( $chromosome )

Applies mutation operator to a "Chromosome", a bitstring, really. Can be applied only to victims composed of [0,1] atoms, independently of representation; but it checks before application that the operand is of type BitString.

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: 2011/02/14 06:55:36 $ 
  $Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/Novelty_Mutation.pm,v 3.1 2011/02/14 06:55:36 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 3.1 $
  $Name $
syntax highlighting: