NAME

Algorithm::Evolutionary::Run - Class for setting up an experiment with algorithms and population
             

SYNOPSIS

use Algorithm::Evolutionary::Run;

my $algorithm = new Algorithm::Evolutionary::Run 'conf.yaml';
#or
my $conf = {
'fitness' => {
  'class' => 'MMDP'
},
'crossover' => {
  'priority' => '3',
  'points' => '2'
},
'max_generations' => '1000',
'mutation' => {
  'priority' => '2',
  'rate' => '0.1'
},
'length' => '120',
'max_fitness' => '20',
'pop_size' => '1024',
'selection_rate' => '0.1'
};

my $algorithm = new Algorithm::Evolutionary::Run $conf;

#Run it to the end
$algorithm->run();

#Print results
$algorithm->results();

#A single step
$algorithm->step();

DESCRIPTION

This is a no-fuss class to have everything in a single class, although for the time being it's reduced to fitness functions in the A::E::F namespace, and binary strings. Mostly for demo purposes, but can be an example of class for other stuff

METHODS

new

Creates the whole stuff needed to run an algorithm. Can be called from a hash with t options, as per the example. All of them are compulsory. See also the C<examples> subdir for examples of the YAML conf file.

step

Runs a single step of the algorithm, that is, a single generation

run

Applies the different operators in the order that they appear; returns the population as a ref-to-array.

random

Returns a random guy from the population

results

Returns results in a hash that contains the best, total time so far and the number of evaluations.

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: 2008/04/01 08:24:13 $ 
$Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Run.pm,v 1.5 2008/04/01 08:24:13 jmerelo Exp $ 
$Author: jmerelo $ 
$Revision: 1.5 $
$Name $