Skip to main content

Library Item

Eepigenetic inheritance in genetic programming


Classical genetic programming solves problems by applying the Darwinian concepts of selection, survival and reproduction to a population of computer programs. Here we extend the biological analogy to incorporate epigenetic regulation through both learning and evolution. We begin the chapter with a discussion of Darwinian, Lamarckian, and Baldwinian approaches to evolutionary computation and describe how recent findings in biology differ conceptually from the computational strategies that have been proposed. Using inheritable Lamarckian mechanisms as inspiration, we propose a system that allows for updating of individuals in the population during their lifetime while simultaneously preserving both genotypic and phenotypic traits during reproduction. The implementation is made simple through the use of syntax-free, developmental, linear genetic programming. The representation allows for arbitrarily-ordered genomes to be syntactically valid programs, thereby creating a genetic programming approach upon which quasi-uniform epigenetic updating and inheritance can be easily applied. Generational updates are made using an epigenetic hill climber (EHC), and the epigenetic properties of genes are inherited during crossover and mutation. The addition of pigenetics results in faster convergence, less bloat, and an improved ability to find exact solutions on a number of symbolic regression problems.