Skip navigation

Kenneth E. Kinnear

Titles by This Editor


There is increasing interest in genetic programming by both researchers and professional software developers. These twenty-two invited contributions show how a wide variety of problems across disciplines can be solved using this new paradigm.

Advances in Genetic Programming reports significant results in improving the power of genetic programming, presenting techniques that can be employed immediately in the solution of complex problems in many areas, including machine learning and the simulation of autonomous behavior. Popular languages such as C and C++ are used in many of the applications and experiments, illustrating how genetic programming is not restricted to symbolic computing languages such as LISP. Researchers interested in getting started in genetic programming will find information on how to begin, on what public domain code is available, and on how to become part of the active genetic programming community via electronic mail.

A major focus of the book is on improving the power of genetic programming. Experimental results are presented in a variety of areas, including adding memory to genetic programming, using locality and "demes" to maintain evolutionary diversity, avoiding the traps of local optima by using coevolution, using noise to increase generality, and limiting the size of evolved solutions to improve generality.

Significant theoretical results in the understanding of the processes underlying genetic programming are presented, as are several results in the area of automatic function definition. Performance increases are demonstrated by directly evolving machine code, and implementation and design issues for genetic programming in C++ are discussed.



Genetic programming, a form of genetic algorithm that evolves programs and program-like executable structures, is a new paradigm for developing reliable, time- and cost-effective applications. The second volume of Advances in Genetic Programming highlights many of the most recent technical advances in this increasingly popular field. The twenty-three contributions are divided into four parts: Variations on the Genetic Programming Theme; Hierarchical, Recursive, and Pruning Genetic Programs; Analysis and Implementation Issues; and New Environments for Genetic Programming.

The first part extends the core concepts of genetic programming through the addition of new evolutionary techniques—adaptive and self-adaptive crossover methods, hill climbing operators, and the inclusion of introns into the representation.

Creating more concise executable structures is a long-term research topic in genetic programming. The second part describes the field's most recent efforts, including the dynamic manipulation of automatically defined functions, evolving logic programs that generate recursive structures, and using minimum description length heuristics to determine when and how to prune evolving structures.

The third part takes up the many implementation and analysis issues associated with evolving programs. Advanced applications of genetic programming to nontrivial real-world problems are described in the final part: remote sensing of pressure ridges in Arctic sea ice formations from satellite imagery, economic prediction through model evolution, the evolutionary development of stress and loading models for novel materials, and data mining of a large customer database to optimize responses to special offers.