GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Algorithm::Evolutionary(3) User Contributed Perl Documentation Algorithm::Evolutionary(3)

Algorithm::Evolutionary - Perl module for performing paradigm-free evolutionary algorithms.

  #Short way of loading a lot of modules, POE-style
  use Algorithm::Evolutionary qw( Op::This_Operator
                                  Individual::That_Individual
                                  Fitness::Some_Fitness); 

  # other modules with explicit importation
  use Algorihtm::Evolutionary::Utils (this_util that_util);

"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 main design principle of Algorithm::Evolutionary is flexibility: it should be very easy to create your own evolutionary algorithms 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 YAML.

The module allows to create simple evolutionary algorithms, as well as more complex ones, that interface with databases or with the web.

 @article {springerlink:10.1007/s00500-009-0504-3,
   author = {Merelo Guervós, Juan-Julián and Castillo, Pedro and Alba, Enrique},
   affiliation = {Universidad de Granada Depto. Arquitectura y Tecnología de Computadores, ETS Ingenierías Informática y Telecomunicaciones Granada Spain},
   title = {Algorithm::Evolutionary, a flexible Perl module for evolutionary computation},
   journal = {Soft Computing - A Fusion of Foundations, Methodologies and Applications},
   publisher = {Springer Berlin / Heidelberg},
   issn = {1432-7643},
   keyword = {Computer Science},
   pages = {1091-1109},
   volume = {14},
   issue = {10},
   url = {http://dx.doi.org/10.1007/s00500-009-0504-3},
   note = {10.1007/s00500-009-0504-3},
   year = {2010}
 }

or

 @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",
 }

There are a few examples in the "examples" subdirectory, which should have been included with your CPAN bundle. For instance, check out "tide_float.pl", an example of floating point vector optimization, or "cd examples; run_easy_ga.pl p_peaks.yaml", which should run an example of a simple GA on the P_Peaks deceptive function.

Some other examples are installed: check out tide_bitstring.pl, tide_float.pl and canonical-genetic-algorithm.pl, which you can run and play with to get a taste of what EA programming is like, and then ammend, add and modify at leisure to create your own evolutionary algorithms. For a GUI example, check rectangle-coverage.pl, which uses Tk to show the population and its evolution. You will need to install the required modules, however, since it needs additional ones to those required by this module.

Head to the CPAN forum for this module: <http://www.cpanforum.com/dist/Algorithm-Evolutionary>

Have you found any bugs? Use the CPAN tracker to inform about them (<http://rt.cpan.org/Public/Dist/Display.html?Name=Algorithm-Evolutionary>) or email the author (below) or "bug-algorithm-evolutionary@rt.cpan.org".

If you are just looking for a plain vanilla genetic algorithm for didactic purposes, check also Algorithm::Evolutionary::Simple, which does the job in a straight fashion and can be used easily for demos or adapting it to external fitness functions.
Algorithm::Evolutionary::Op::Base.
Algorithm::Evolutionary::Individual::Base.
Algorithm::Evolutionary::Fitness::Base.
Algorithm::Evolutionary::Experiment.
Algorithm::Evolutionary::Run.
Algorithm::Evolutionary::Op::CanonicalGA.
POE::Component::Algorithm::Evolutionary if you want to mix evolutionary algorithms with anything else easily.
Algorithm::MasterMind::Evolutionary uses this library to find the solution to the MasterMind Puzzle.
You might also be interested in one of the other perl GA and evolutionary computation modules out there, such as AI::Genetic::Pro.

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
2021-03-29 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.