Introducing a Perl Genetic Programming System - and Can Meta-evolution Solve the Bloat Problem?
An open source Perl package for genetic programming, called PerlGP, is presented. The supplied algorithm is strongly typed tree-based GP with homologous crossover. User-defined grammars allow any valid Perl to be evolved, including object oriented code and parameters of the PerlGP system itself. Time trials indicate that PerlGP is around 10 times slower than a C based system on a numerical problem, but this is compensated by the speed and ease of implementing new problems, particularly string-based ones. The effect of per-node, fixed and self-adapting crossover and mutation rates on code growth and fitness is studied. On a pi estimation problem, self-adapting rates give both optimal and compact solutions. The source code and manual can be found at http://perlgp.org.
KeywordsHash Table Uniform Mutation Curly Brace Code Growth Genetic Programming Individual
Unable to display preview. Download preview PDF.
- 2.Christian Gagné and Marc Parizeau. Open BEAGLE: A new C++ evolutionary computation framework. In W. B. Langdon and et al, editors, GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, page 888, New York, 9-13 July 2002. Morgan Kaufmann Publishers.Google Scholar
- 3.J. L. Gerton, J. DeRisi, R. Shro., M. Lichten, P. O. Brown, and T. D. Petes. Inaugural article: global mapping of meiotic recombination hotspots and coldspots in the yeast Saccharomyces cerevisiae. Proc. Natl. Acad. Sci. USA, 97(21):11383–11390, Oct 2000.Google Scholar
- 4.W. B. Langdon. Size fair and homologous tree genetic programming crossovers. In Wolfgang Banzhaf, Jason Daida, Agoston E. Eiben, Max H. Garzon, Vasant Honavar, Mark Jakiela, and Robert E. Smith, editors, Proceedings of the Genetic and Evolutionary Computation Conference, volume 2, pages 1092–1097, Orlando, Florida, USA, 13-17 July 1999. Morgan Kaufmann. au]5._Sean Luke. A java-based evolutionary computation and genetic programming research system. Technical report, George Mason University, USA, Nov 2002.Google Scholar
- 6.Brad Murray and Ken Williams. Genetic algorithms with Perl. The Perl Journal (online), Issue 15 Vol. 5 No.3 http://www.samag.com/tpj, 1999.
- 7.J. Page, R. Poli, and W. B. Langdon. Smooth uniform crossover with smooth point mutation in genetic programming: A preliminary study. In Riccardo Poli, Peter Nordin, William B. Langdon, and Terence C. Fogarty, editors, Genetic Programming, Proceedings of EuroGP’99, volume 1598 of LNCS, pages 39–49, Goteborg, Sweden, 26-27 May 1999. Springer-Verlag. au]8._Terry Van Belle and David H. Ackley. Uniform subtree mutation. In James A. Foster, Evelyne Lutton, Julian Miller, Conor Ryan, and Andrea G. B. Tettamanzi, editors, Genetic Programming, Proceedings of the 5th European Conference, EuroGP 2002, volume 2278 of LNCS, pages 152–161, Kinsale, Ireland, 3-5 April 2002. Springer-Verlag.Google Scholar
- 9.Mark S. Withall, Chris J. Hinde, and Roger G. Stone. Evolving perl. In Erick Cantú-Paz, editor, Late Breaking Papers at the Genetic and Evolutionary Computation Conference (GECCO-2002), pages 474–481, New York, NY, July 2002. AAAI.Google Scholar
- 10.Douglas Zongker and Bill Punch. lilgp 1.01 user’s manual. Technical report, Michigan State University, USA, 26 March 1996.Google Scholar