Coevolutionary Genetic Programming

Anthony Lukas

Abstract

A modification to genetic programming (GP) called coevolutionary genetic programming of automatically defined functions (CADF) will be examined. A brief history and overview of GP will be given to explain what it is and how it works. It will be shown that genetic programming works with a population of programs that are represented as tree structures. In addition, the role of fitness proportional selection, crossover and mutation will be explained and how it leads to individuals with higher fitness as evolution proceeds. Furthermore, automatically defined functions (ADFs) for GP will be shown to be useful reusable subroutines that can aid in finding solutions to problems that could not otherwise be solved with GP alone. Finally, the idea of splitting the ADFs and the main program trees into different populations to have them coevolve will be presented as a technique that allows solutions to be found that could not be otherwise be solved with GP + ADF. In addition, various ways to improve this technique and comparisons on some problems will be shown.