NAME
Algorithm::Evolutionary - Perl module for performing paradigm-free evolutionary algorithms.
SYNOPSIS
#Short way of loading a lot of modules, POE-style
use Algorithm::Evolutionary qw( Op::This_Operator
Individual::That_Individual
Fitness::Some_Fitness);
DESCRIPTION
Algorithm::Evolutionary
is a set of classes for doing object-oriented evolutionary computation in Perl. Why would anyone want to do that escapes my knowledge, but, in fact, we have found it quite useful for our own purposes. Same as Perl itself.
The design principle of Algorithm::Evolutionary is flexibility: it should be very easy to extend using this library, and it should be also quite easy to program what's already there in the evolutionary computation community. Besides, the library classes should have persistence provided by XML modules, and, in some cases, YAML.
The algorithm allows to create simple evolutionary algorithms, as well as more complex ones, that interface with databases or with the web.
The project is hosted at Sourceforge . Latest aditions, and nightly updates, can be downloaded from there before they are uploaded to CPAN. That page also hosts the mailing list, as well as bug reports, news, updates, whatever.
In case the examples are hidden somewhere in the .cpan
directory,
you can also download them from the
CVS repository, and the -examples
tarballs in the file download area of that repository
I have used this continously for my research all these year, and any search will return a number of papers; a journal article is already submitted, but meanwhile if you use it for any of your research, I would be very grateful if you quoted papers such as this one:
@InProceedings{jj:2008:PPSN,
author = "Juan J. Merelo and Antonio M. Mora and Pedro A. Castillo and Juan L. J. Laredo and Lourdes Araujo and Ken C. Sharman and Anna I. Esparcia-Alcázar and Eva Alfaro-Cid and Carlos Cotta",
title = "Testing the Intermediate Disturbance Hypothesis: Effect of Asynchronous Population Incorporation on Multi-Deme Evolutionary Algorithms",
booktitle = "Parallel Problem Solving from Nature - PPSN X",
year = "2008",
editor = "Gunter Rudolph and Thomas Jansen and Simon Lucas and
Carlo Poloni and Nicola Beume",
volume = "5199",
series = "LNCS",
pages = "266-275",
address = "Dortmund",
month = "13-17 " # sep,
publisher = "Springer",
keywords = "genetic algorithms, genetic programming, p2p computing",
ISBN = "3-540-87699-5",
doi = "10.1007/978-3-540-87700-4_27",
size = "pages",
notes = "PPSN X",
}
Some information on this paper and instructions from download can be found in our group blog
AUTHOR
Main author and developer is J. J. Merelo, jmerelo (at) geneura.ugr.es. There have also been some contributions from Javi García, fjgc (at) decsai.ugr.es and Pedro Castillo, pedro (at) geneura.ugr.es. Patient users that have submitted bugs include jamarier. Bugs, requests and any kind of comment are welcome.Examples
There are a few examples in the examples
subdirectory, which should have been included with your CPAN bundle. Foor instance, check out tide_float.pl
, an example of floating point vector optimization, or run_easy_ga.pl p_peaks.yaml
, which should run an example of a simple GA on the P_Peaks deceptive function.
SEE ALSO
- Algorithm::Evolutionary::Op::Base.
- Algorithm::Evolutionary::Individual::Base.
- Algorithm::Evolutionary::Fitness::Base.
- Algorithm::Evolutionary::Experiment.
- XML for an explanation of the XML format used
- POE::Component::Algorithm::Evolutionary if you want to mix evolutionary algorithms with anything else easily
-
You might be interested in one of the other GA modules out there, such as AI::Genetic::Pro
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: 2009/02/10 06:51:27 $
$Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary.pm,v 2.6 2009/02/10 06:51:27 jmerelo Exp $
$Author: jmerelo $
$Revision: 2.6 $
$Name $
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 88:
Non-ASCII character seen before =encoding in 'Esparcia-Alcázar'. Assuming UTF-8