Evolving recursive programs by using adaptive grammar based genetic programming
Genetic Programming and Evolvable Machines
grammar based genetic programming; logic grammars; recursive programs
Genetic programming (GP) extends traditional genetic algorithms to automatically induce computer programs. GP has been applied in a wide range of applications such as software re-engineering, electrical circuits synthesis, knowledge engineering, and data mining. One of the most important and challenging research areas in GP is the investigation of ways to successfully evolve recursive programs. A recursive program is one that calls itself either directly or indirectly through other programs. Because recursions lead to compact and general programs and provide a mechanism for reusing program code, they facilitate GP to solve larger and more complicated problems. Nevertheless, it is commonly agreed that the recursive program learning problem is very difficult for GP. In this paper, we propose techniques to tackle the difficulties in learning recursive programs. The techniques are incorporated into an adaptive Grammar Based Genetic Programming system (adaptive GBGP). A number of experiments have been performed to demonstrate that the system improves the effectiveness and efficiency in evolving recursive programs.
Copyright © 2005 Springer US.
Access to external full text or publisher's version may require subscription.
Wong, M. L. (2005). Evolving recursive programs by using adaptive grammar based genetic programming. Genetic Programming and Evolvable Machines, 6(4), 421-455. doi: 10.1007/s10710-005-4805-8