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.
examples
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.
$new_size
reset_population
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
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 $
To install Algorithm::Evolutionary, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Algorithm::Evolutionary
CPAN shell
perl -MCPAN -e shell install Algorithm::Evolutionary
For more information on module installation, please visit the detailed CPAN module installation guide.