Evolving recursive programs using non-recursive scaffolding

Alberto Moraglio, Fernando E. B. Otero, Colin G. Johnson, Simon Thompson, Alex A. Freitas
2012 2012 IEEE Congress on Evolutionary Computation  
Genetic programming has proven capable of evolving solutions to a wide variety of problems. However, the successes have largely been with programs without iteration or recursion; evolving recursive programs has turned out to be particularly challenging. The main obstacle to evolving recursive programs seems to be that they are particularly fragile to the application of search operators: a small change in a correct recursive program generally produces a completely wrong program. In this paper,
more » ... present a simple and general method that allows us to pass back and forth from a recursive program to an associated nonrecursive program. Finding a recursive program can be reduced to evolving non-recursive programs followed by converting the optimum non-recursive program found to the associated optimum recursive program. This avoids the fragility problem above, as evolution does not search the space of recursive programs. We present promising experimental results on a test-bed of recursive problems. U.S. Government work not protected by U.S.
doi:10.1109/cec.2012.6256545 dblp:conf/cec/MoraglioOJTF12 fatcat:nnbb4rbcn5f6foxdqwv6qe2cfa