Lee Altenberg's Home Page > Papers | E-mail me

The Evolution of Evolvability in Genetic Programming

Lee Altenberg

Chapter 3 in Advances in Genetic Programming, ed. Kenneth Kinnear. pp. 47-74. MIT Press, Cambridge, 1994.

The notion of “evolvability” — the ability of a population to produce variants fitter than any yet existing — is developed as it applies to genetic algorithms. A theoretical analysis of the dynamics of genetic programming predicts the existence of a novel, emergent selection phenomenon: the evolution of evolvability. This is produced by the proliferation, within programs, of blocks of code that have a higher chance of increasing fitness when added to programs. Selection can then come to mold the variational aspects of the way evolved programs are represented. A model of code proliferation within programs is analyzed to illustrate this effect. The mathematical and conceptual framework includes: the definition of evolvability as a measure of performance for genetic algorithms; application of Price's Covariance and Selection Theorem to show how the fitness function, representation, and genetic operators must interact to produce evolvability — namely, that genetic operators produce offspring with fitnesses specifically correlated with their parent's fitnesses; how blocks of code emerge as a new level of replicator, proliferating as a function of their “constructional fitness”, which is distinct from their schema fitness; and how programs may change from innovative code to conservative code as the populations mature. Several new selection techniques and genetic operators are proposed in order to give better control over the evolution of evolvability and improved evolutionary performance.