GENERICITY IN EVOLUTIONARY COMPUTATION SOFTWARE TOOLS: PRINCIPLES AND CASE-STUDY
Abstract
This paper deals with the need for generic software development tools in evolutionary computations (EC). These tools will be essential for the next generation of evolutionary algorithms where application designers and researchers will need to mix different combinations of traditional EC (e.g. genetic algorithms, genetic programming, evolutionary strategies, etc.), or to create new variations of these EC, in order to solve complex real world problems. Six basic principles are proposed to guide the development of such tools. These principles are then used to evaluate six freely available, widely used EC software tools. Finally, the design of Open BEAGLE, the framework developed by the authors, is presented in more detail.
References
-
Thomas Bäck , David B. Fogel and Zbigniew Michalewicz (eds.) , Evolutionary Computation 1: Basic Algorithms and Operators ( Institute of Physics Publishing , Bristol, UK , 2000 ) . Google Scholar -
Thomas Bäck , David B. Fogel and Zbigniew Michalewicz (eds.) , Evolutionary Computation 2: Advanced Algorithms and Operators ( Institute of Physics Publishing , Bristol, UK , 2000 ) . Google Scholar - IEEE Transactions on Evolutionary Computation 1(1), 3 (1997). Google Scholar
-
Wolfgang Banzhaf , Genetic Programming – An Introduction; On the Automatic Evolution of Computer Programs and its Applications ( Morgan Kaufmann, dpunkt.verlag , 1998 ) . Google Scholar - Tim Bray, Jean Paoli and C. M. Sperberg-McQueen Extensible Markup Language (XML) 1.0 – W3C recommendation 10 February 1998. http://www.w3.org/TR/1998/REC-xml-19980210, 1998 . Google Scholar
-
Mary Campione and Kathy Walrath , The Java Tutorial , 2nd edn. ( Addison-Wesley , Reading, MA, USA , 1998 ) . Google Scholar - James Clark. XSL transformations (XSLT) 1.0 - W3C recommendation 16 November 1999. http://www.w3.org/TR/1999/REC-xslt-19991116, 1999 . Google Scholar
-
Carlos A. Coello Coello , David A. Van Veldhuizen and Gary B. Lamont , Evolutionary Algorithms for Solving Multi-Objective Problems ( Kluwer Academic Publishers , 2002 ) . Google Scholar -
Pierre Collet , Take it EASEA , Parallel Problem Solving from Nature - PPSN VI 6th International Conference ,LNCS 1917 ( Springer-Verlag ) . Google Scholar John Cona , AI Expert (1995) pp. 20–29. Google Scholar-
Lawrence J. Fogel , Alvin J. Owens and Michael J. Walsh , Artificial Intelligence through Simulated Evolution ( John Wiley & Sons , New York , 1966 ) . Google Scholar - Kybernetes 10, 159 (1981). Web of Science, Google Scholar
Christian Gagné and Marc Parizeau , Open BEAGLE: A new C++ evolutionary computation framework, Proc. of the Genetic and Evolutionary Computations COnference (GECCO) 2002 (2002) p. 888. Google Scholar- Christian Gagné and Marc Parizeau. Open BEAGLE: An evolutionary computation framework in C++. http://beagle.gel.ulaval.ca, 2004 . Google Scholar
-
Erich Gamma , Design Patterns: Elements of Reusable Object-Oriented Software ( Addison-Wesley , Reading, MA, USA , 1994 ) . Google Scholar -
Michi Henning and Steve Vinoski , Advanced CORBA Programming with C++ ( Addison-Wesley , Reading, MA, USA , 1999 ) . Google Scholar - Physica D 42, 228 (1990). Web of Science, Google Scholar
-
John M. Holland , Adaptation in Natural and Artificial Systems ( University of Michigan Press , Ann Arbor, MI , 1975 ) . Google Scholar -
Maarten Keijzer , Evolving objects: a general purpose evolutionary computation library , Evolution Artificielle, 5th International Conference in Evolutionary Algorithms ( 2001 ) . Google Scholar - Advances in Genetic Programming, ed.
Kenneth E. Kinnear Jr. (MIT Press, 1994) pp. 285–310. Google Scholar , -
John R. Koza , Genetic Programming: On the Programming of Computers by Means of Natural Selection ( MIT Press , Cambridge, MA, USA , 1992 ) . Google Scholar -
John R. Koza , Genetic Programming II: Automatic Discovery of Reusable Programs ( MIT Press , Cambridge, MA, USA , 1994 ) . Google Scholar Natalio Krasnogor and Jim Smith , MAFRA: A java memetic algorithms framework, Genetic and Evolutionary Computation 2000 Workshops (2000) pp. 125–131. Google Scholar-
William B. Langdon , Data Structures and Genetic Programming: Genetic Programming + Data Structures = Automatic Programming! ( Kluwer Academic Publishers , Boston, MA, USA , 1998 ) . Google Scholar Tom Lenaerts and Bernard Manderick , Building a genetic programming framework: The added-value of design patterns, Proceedings of EuroGP'98 (1998) pp. 196–208. Google Scholar- Sean Luke, Liviu Panait, Gabriel Balan, Sean Paus, Zbigniew Skolicki, Jeff Bassett, Robert Hubley and Alexander Chircop. ECJ 13: A java-based evolutionary computation and genetic programming research system. http://cs.gmu.edu/~eclab/projects/ecj, 2005 . Google Scholar
Robert M. MacCallum , Introducing a perl genetic programming system – and can meta-evolution solve the bloat problem?, Proceedings of the Sixth European Conference on Genetic Programming (EuroGP-2003),LNCS 2610 (Springer Verlag, 2003) pp. 364–373. Google ScholarNicholas Freitag McPhee , Nicholas J. Hopper and Mitchell L. Reierson , Sutherland: An extensible object-oriented software framework for evolutionary computation, Genetic Programming 1998: Proceedings of the Third Annual Conference (Morgan Kaufmann, 1998) p. 241. Google Scholar- Juan J. Merelo, Maarten Keijzer, Marc Schoenauer, Jeroen Eggermont, Sébastien Cahon and Olivier König. Evolving Objects: Evolutionary computation framework. http://eodev.sourceforge.net, 2004 . Google Scholar
-
Zbigniew Michalewicz , Genetic Algorithms + Data Structures = Evolution Programs , 3rd edn. ( Springer-Verlag , 1996 ) . Google Scholar - Evolutionary Computation 3(2), 199 (1995). Web of Science, Google Scholar
-
David R. Musser , Gillmer J. Derge and Atul Saini , STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library ( Addison-Wesley , Reading, MA, USA , 1996 ) . Google Scholar - IEEE Computer 33(10), 23 (2000). Web of Science, Google Scholar
- Bill Punch and Douglas Zongker. lil-gp 1.1 beta. http://garage.cse.msu.edu/software/lil-gp, 1998 . Google Scholar
- Eric S. Raymond. The cathedral and the bazaar: musings on Linux and open source by an accidental revolutionary. http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar, 2000 . Google Scholar
-
Ingo Rechenberg , Evolutionsstrategie ( Friedrich Frommann Verlag (Günther Holzboog KG) , Stuttgart , 1973 ) . Google Scholar - IEEE Computer 27(6), 28 (1994). Web of Science, Google Scholar
-
Don Roberts and Ralph E. Johnson , Pattern Languages of Program Design 3 ( Addison Wesley , 1997 ) . Google Scholar Andreas Rummler and Gerd Scarbata , Computational Intelligence. Theory and Applications (Fuzzy Days 2001),LNCS 2206 (Springer Verlag, Dortmund, Germany, 2001) pp. 92–102. Google Scholar- Sara Silva. GPLAB: A genetic programming toolbox for MATLAB. http://gplab.sourceforge.net, 2005 . Google Scholar
Sara Silva and Jonas Almeida , GPLAB – a genetic programming toolbox for MATLAB, Proc. of the Nordic MATLAB Conference (NMC-2003) (2003) pp. 273–278. Google Scholar- Andy Singleton. Genetic programming with C++. BYTE, pp. 171–176, February 1994 . Google Scholar
- IEEE Transactions on Systems, Man and Cybernetics – Part B: Cybernetics 31(4), 537 (2001). Web of Science, Google Scholar
- Symbolic Visual Learning, eds.
Katsushi Ikeuchi and Manuela Veloso (Oxford University Press, 1996) pp. 81–116. Google Scholar , -
Zoltán Tóth and Gabriella Kókai , An experimental evaluation of the generic evolutionary algorithms programming library ,FGML 2001, Treffen der Fachgruppe maschinelles Lernen der Gesellschaft fur Informatik ( 2001 ) ( 2001 ) . Google Scholar Róbert Ványi , Object oriented design and implementation of a general evolutionary algorithm,LNCS 3103,Genetic and Evolutionary Computation – GECCO-2004 (2004) (Springer-Verlag, 2004) pp. 1275–1286. Google Scholar-
Christian Veenhuis , Katrin Franke and Mario Köppen , A semantic model for evolutionary computation , 6th International Conference on Soft Computing ( 2000 ) . Google Scholar - Matthew Wall. GAlib: A C++ library of genetic algorithm components. http://lancet.mit.edu/ga, 2000 . Google Scholar
- Genetic Programming and Evolvable Machines 5(1), 103 (2004). Google Scholar
Remember to check out the Most Cited Articles! |
---|
Check out Notable Titles in Artificial Intelligence. |