Skip to main content

Learning Recursive Functions with Object Oriented Genetic Programming

  • Conference paper
Genetic Programming (EuroGP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3905))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Koza, J.R.: Genetic Programming II: automatic discovery of reusable programs. MIT Press, Cambridge (1994)

    MATH  Google Scholar 

  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. 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. 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. 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. 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. 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. 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. 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. 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. Koza, J.R., Andre, D., Bennett III, F.H., Keane, M.: Genetic Programming 3: Darwinian Invention and Problem Solving. Morgan Kaufman, San Francisco (1999)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. 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. 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. Koza, J.R.: Genetic Programming: on the programming of computers by means of natural selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. Abelson, H., Sussman, G.J.: Structure and Interpretation of Computer Programs. MIT Press, Cambridge (1984)

    MATH  Google Scholar 

  26. David, J.: Montana, “Strongly typed genetic programming”, BBN Technical Report #7866, Bolt Beranek and Newman, Inc., Cambridge, MA (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Agapitos, A., Lucas, S.M. (2006). Learning Recursive Functions with Object Oriented Genetic Programming. In: Collet, P., Tomassini, M., Ebner, M., Gustafson, S., Ekárt, A. (eds) Genetic Programming. EuroGP 2006. Lecture Notes in Computer Science, vol 3905. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11729976_15

Download citation

  • DOI: https://doi.org/10.1007/11729976_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-33143-8

  • Online ISBN: 978-3-540-33144-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics