Evolving recursive programs by using adaptive grammar based genetic programming

Research output: Journal PublicationsJournal Article (refereed)peer-review

21 Citations (Scopus)


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.
Original languageEnglish
Pages (from-to)421-455
Number of pages35
JournalGenetic Programming and Evolvable Machines
Issue number4
Publication statusPublished - 1 Dec 2005


  • grammar based genetic programming; logic grammars; recursive programs


Dive into the research topics of 'Evolving recursive programs by using adaptive grammar based genetic programming'. Together they form a unique fingerprint.

Cite this