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

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();

This is a no-fuss class to have everything needed to run an algorithm in a single place, 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.

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 examples subdir for examples of the YAML conf file.
Resets the population size to the $new_size. It does not do anything to the actual population, just resests the number. You should do a reset_population afterwards.
Resets population, creating a new one; resets fitness counter to 0
Runs a single step of the algorithm, that is, a single generation
Applies the different operators in the order that they appear; returns the population as a ref-to-array.
Returns a random guy from the population
Returns results in a hash that contains the best, total time so far and the number of evaluations.
Returns the portion of population that has been evaluated (all but the new ones)
Computes the average hamming distance to the population
Computes the average hamming distance to the population

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: 2010/03/16 18:39:40 $ $Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Run.pm,v 3.2 2010/03/16 18:39:40 jmerelo Exp $ $Author: jmerelo $ $Revision: 3.2 $ $Name $