Advertisement

Learning Recursive Functions with Object Oriented Genetic Programming

  • Alexandros Agapitos
  • Simon M. Lucas
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3905)

Abstract

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.

Keywords

Genetic Program Recursive Function Recursive Call Fibonacci Sequence Training Case 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Koza, J.R.: Genetic Programming II: automatic discovery of reusable programs. MIT Press, Cambridge (1994)MATHGoogle Scholar
  2. 2.
    Angeline, P.J., Pollack, J.: Evolutionary module acquisition. In: Proceedings of the Second Annual Conference on Evolutionary Programming, February 25-26, pp. 154–163 (1993)Google Scholar
  3. 3.
    Rosca, J.P., Ballard, D.H.: Discovery of subroutines in genetic programming. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming,  2, ch. 9, pp. 177–202. MIT Press, Cambridge (1996)Google Scholar
  4. 4.
    Spector, L.: Simultaneous evolution of programs and their control structures. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming,  2, ch. 7, pp. 137–154. MIT Press, Cambridge (1996)Google Scholar
  5. 5.
    Langdon, W.B.: Evolving data structures with genetic programming. In: Eshelman, L.J. (ed.) Proc. of the Sixth Int. Conf. on Genetic Algorithms, pp. 295–302. Morgan Kaufmann, San Francisco (1995)Google Scholar
  6. 6.
    Rosca, J.: Generality versus size in genetic programming. In: Genetic Programming 1996: Proceedings of the First Annual Conference, July 28–31, pp. 381–387. MIT Press, Cambridge (1996)Google Scholar
  7. 7.
    Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming – An Introduction. In: On the Automatic Evolution of Computer Programs and its Applications, Morgan Kaufmann, San Francisco (1998)Google Scholar
  8. 8.
    Maxwell, S.R.: Experiments with a coroutine execution model for genetic programming. In: IEEE Conference on Evolutionary Computation, pp. 413–417. IEEE, Los Alamitos (1994)Google Scholar
  9. 9.
    Spector, L., Klein, J., Keijzer, M.: The push3 execution stack and the evolution of control. In: GECCO 2005: Proceedings of the 2005 conference on Genetic and evolutionary computation, pp. 1689–1696 (2005)Google Scholar
  10. 10.
    Huelsbergen, L.: Learning recursive sequences via evolution of machinelanguage programs. In: Genetic Programming 1997: Proceedings of the Second Annual Conference, July 13-16, pp. 186–194 (1997)Google Scholar
  11. 11.
    Koza, J.R., Andre, D., Bennett III, F.H., Keane, M.: Genetic Programming 3: Darwinian Invention and Problem Solving. Morgan Kaufman, San Francisco (1999)MATHGoogle Scholar
  12. 12.
    Clack, C., Yu, T.: Performance enhanced genetic programming. In: Angeline, P.J., McDonnell, J.R., Reynolds, R.G., Eberhart, R. (eds.) EP 1997. LNCS, vol. 1213, Springer, Heidelberg (1997)CrossRefGoogle Scholar
  13. 13.
    Whigham, P.A., McKay, R.I.: Genetic approaches to learning recursive relations. In: Yao, X. (ed.) AI-WS 1993 and 1994. LNCS, vol. 956, pp. 17–27. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  14. 14.
    Wong, M.L., Leung, K.S.: Evolving recursive functions for the even-parity problem using genetic programming. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming,  2, ch. 11, pp. 221–240. MIT Press, Cambridge (1996)Google Scholar
  15. 15.
    Yu, T., Clack, C.: Recursion, lambda abstractions and genetic programming. In: Genetic Programming 1998: Proceedings of the Third Annual Conference, July 22-25, pp. 422–431 (1998)Google Scholar
  16. 16.
    Kochenderfer, M.J.: Evolving hierarchical and recursive teleo-reactive programs through genetic programming. In: Ryan, C., Soule, T., Keijzer, M., Tsang, E.P.K., Poli, R., Costa, E. (eds.) EuroGP 2003. LNCS, vol. 2610, pp. 83–92. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Nordin, P., Banzhaf, W.: Evolving turing-complete programs for a register machine with self-modifying code. In: Eshelman, L. (ed.) Genetic Algorithms: Proceedings of the Sixth International Conference (ICGA 1995), pp. 318–325. Morgan Kaufmann, San Francisco (1995)Google Scholar
  18. 18.
    Nishiguchi, M., Fujimoto, Y.: Evolutions of recursive programs with multi-niche genetic programming (mnGP). In: Proceedings of the 1998 IEEE World Congress on Computational Intelligence, pp. 247–252. IEEE Press, Los Alamitos (1998)Google Scholar
  19. 19.
    Brave, S.: Evolving recursive programs for tree search. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming,  2, ch. 10, pp. 203–220. MIT Press, Cambridge (1996)Google Scholar
  20. 20.
    Koza, J.R.: Genetic Programming: on the programming of computers by means of natural selection. MIT Press, Cambridge (1992)MATHGoogle Scholar
  21. 21.
    Bruce, W.S.: Automatic generation of object-oriented programs using genetic programming. In: Genetic Programming 1996: Proceedings of the First Annual Conference, Stanford University, CA, USA, July 28–31, pp. 267–272 (1996)Google Scholar
  22. 22.
    Abbott, R.J.: Object-oriented genetic programming, an initial implementation. In: Procceedings of the Sixth International Conference on Computational Intelligence and Natural Computing, September 26-30 (2003)Google Scholar
  23. 23.
    Lucas, S.M.: Exploiting reflection in object oriented genetic programming. In: Keijzer, M., O’Reilly, U.-M., Lucas, S., Costa, E., Soule, T. (eds.) EuroGP 2004. LNCS, vol. 3003, pp. 369–378. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  24. 24.
    Pinzon, D.E.S., Ramos, J.Y.O., Galeano, S.A.R.: Evolving object oriented agent programs in robocup domain. In: Genetic and Evolutionary Computation Conference (GECCO 2005) workshop program, Washington, D.C., USA, June 25-29, pp. 407–410. ACM Press, New York (2005)Google Scholar
  25. 25.
    Abelson, H., Sussman, G.J.: Structure and Interpretation of Computer Programs. MIT Press, Cambridge (1984)MATHGoogle Scholar
  26. 26.
    David, J.: Montana, “Strongly typed genetic programming”, BBN Technical Report #7866, Bolt Beranek and Newman, Inc., Cambridge, MA (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Alexandros Agapitos
    • 1
  • Simon M. Lucas
    • 1
  1. 1.Department of Computer ScienceUniversity of EssexColchesterUK

Personalised recommendations