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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Koza, J.R.: Genetic Programming II: automatic discovery of reusable programs. MIT Press, Cambridge (1994)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Koza, J.R., Andre, D., Bennett III, F.H., Keane, M.: Genetic Programming 3: Darwinian Invention and Problem Solving. Morgan Kaufman, San Francisco (1999)
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)
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)
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)
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)
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)
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)
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)
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)
Koza, J.R.: Genetic Programming: on the programming of computers by means of natural selection. MIT Press, Cambridge (1992)
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)
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)
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)
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)
Abelson, H., Sussman, G.J.: Structure and Interpretation of Computer Programs. MIT Press, Cambridge (1984)
David, J.: Montana, “Strongly typed genetic programming”, BBN Technical Report #7866, Bolt Beranek and Newman, Inc., Cambridge, MA (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)