Code Factoring And The Evolution Of Evolvability

Evolvability can be defined as the capacity of a population to evolve. We show that one advantage of Automatically Defined Functions (ADFs) in genetic programming is their ability to increase the evolvability of a population over time. We observe this evolution of evolvability in experiments using genetic programming to solve a symbolic regression problem that varies in a partially unpredictable manner. When ADFs are part of a tree's architecture, then not only do average populations recover from periodic changes in the fitness function, but that recovery rate itself increases over time, as the trees adopt modular software designs more suited to the changing requirements of their environment.