Genetic Programming

AAAI Fall Symposium Series Report

To appear in AI Magazine


Genetic programming extends the genetic algorithm to the domain of computer programs. In genetic programming, populations of programs are selectively bred to solve problems. Starting with a primordial soup of hundreds or thousands of randomly created programs composed of functions and terminals appropriate to the problem, the population is progressively evolved over a series of generations by applying the operations of Darwinian selection and crossover (sexual recombination).

The AAAI Fall Symposium on Genetic Programming was the first symposium devoted to this rapidly growing field. The application areas of genetic programming discussed at the symposium include computer system intrusion detection, controlling a real robot, signal classification and understanding, function modeling, and game theory. Genetic programming has begun to improve on human performance in real world domains (e.g. protein classification), and continues to contribute to machine learning in benchmark domains -- for example, the discovery that the 2-Pole balancing problem is linearly separable, and the creation of a majority-rule for 149-element Cellular Automata, which improves upon the three best hand-written rules (and all learned rules).

Genetic programming contributes to the field of machine learning by applying the crossover operation (common across all types of genetic algorithms) to dynamic representations (computer programs) that have position-independent constituents (computer operations). Under these circumstances, computational mechanisms specialized for a problem domain can emerge. This area of research is relatively new, and most of the symposium was spent pinpointing and fleshing out the salient issues that arise while investigating this complex system. Our discussion topics included the automatic hierarchical breakdown of a problem by way of evolved modular programs (e.g., automatically defined functions), representations for evolved programs (e.g., the ontogeny that results from implementing a "growth" phase before evaluating fitness), the interactive coevolution of subpopulations, and evolving programs that read from and write to memory. David Cohn, a guest speaker from the Active Learning Symposium, led a discussion on integrating active learning techniques in genetic programming.

Short presentations paralleled the 19 working notes papers, and the open discussion was energized and enlightening. It has been clear since The Fifth International Conference on Genetic Algorithms (Champaign-Urbana, 1993), where "the most enthusiastic subgroup at the conference was composed of those interested in genetic programming," (Michael de la Maza, AI Magazine, volume 15, no. 2) that the open discussion format of AAAI symposia is perfectly conducive for a meeting of genetic programming researchers. In addition to the working notes (available through AAAI), we have compiled an archive of our collective brainstorming.

The first genetic programming conference will be July 28-31, 1996, in Stanford, CA. To join our on-line discussion of genetic programming, send mail to

This symposium was made possible with the help of many people. Astro Teller, a member of the program committee, was particularly helpful in establishing and conducting the review process for the submitted papers. The members of the program committee reviewed paper submissions, providing valuable feedback to the authors. Finally, the people at AAAI made the planning and execution of this symposium simple and smooth.