Learning Recursive Functions with Object Oriented Genetic Programming

This paper describes the evolution of recursive functions within an Object-Oriented Genetic Programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We report the computational effort required to evolve these methods and provide a comparison between crossover and mutation variation operators, and also undirected random search. We found that the evolutionary algorithms performed much better than undirected random search, and thats mutation outperformed crossover on most problems.

[1]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[2]  M. Nishiguchi,et al.  Evolution of recursive programs with multi-niche genetic programming (mnGP) , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[3]  Peter J. Angeline,et al.  Evolving Recursive Functions for the Even-Parity Problem Using Genetic Programming , 1996 .

[4]  Vidroha Debroy,et al.  Genetic Programming , 1998, Lecture Notes in Computer Science.

[5]  Justinian Rosca,et al.  Generality versus size in genetic programming , 1996 .

[6]  Peter Nordin,et al.  Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code , 1995, ICGA.

[7]  William B. Langdon Evolving Data Structures with Genetic Programming , 1995, ICGA.

[8]  Scott Brave,et al.  Evolving recursive programs for tree search , 1996 .

[9]  David J. Montana,et al.  Strongly Typed Genetic Programming , 1995, Evolutionary Computation.

[10]  C. Clack,et al.  Recursion , Lambda Abstractions and Genetic Programming , 2022 .

[11]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[12]  Wilker Shane Bruce Automatic generation of object-oriented programs using genetic programming , 1996 .

[13]  Simon M. Lucas,et al.  Exploiting Reflection in Object Oriented Genetic Programming , 2004, EuroGP.

[14]  Tina Yu,et al.  Performance-Enhanced Genetic Programming , 1997, Evolutionary Programming.

[15]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[16]  Sergio A. Rojas,et al.  Evolving object oriented agent programs in Robocup domain , 2005, GECCO '05.

[17]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[18]  Sidney R. Maxwell,et al.  Experiments with a coroutine execution model for genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[19]  L. Huelsbergen Learning Recursive Sequences via Evolution of Machine-Language Programs , 1999 .

[20]  Maarten Keijzer,et al.  The Push3 execution stack and the evolution of control , 2005, GECCO '05.

[21]  Mykel J. Kochenderfer Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming , 2003, EuroGP.

[22]  Russ Abbott,et al.  Object-Oriented Genetic Programming: An Initial Implementation , 2003, MLMTA.

[23]  Peter A. Whigham,et al.  Genetic Approaches to Learning Recursive Relations , 1994, Evo Workshops.

[24]  Peter J. Angeline,et al.  Evolving Recursive Programs for Tree Search , 1996 .

[25]  Peter J. Angeline,et al.  Evolutionary Module Acquisition , 1993 .

[26]  John R. Koza Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[27]  Lee Spector,et al.  Simultaneous evolution of programs and their control structures , 1996 .

[28]  Justinian P. Rosca,et al.  Discovery of subroutines in genetic programming , 1996 .