Developments in Cartesian Genetic Programming: self-modifying CGP

Research output: Contribution to journalArticle



Publication details

JournalGenetic programming and evolvable machines
DatePublished - Sep 2010
Issue number3-4
Number of pages43
Pages (from-to)397-439
Original languageEnglish


Self-modifying Cartesian Genetic Programming (SMCGP) is a general purpose, graph-based, developmental form of Genetic Programming founded on Cartesian Genetic Programming. In addition to the usual computational functions, it includes functions that can modify the program encoded in the genotype. This means that programs can be iterated to produce an infinite sequence of programs (phenotypes) from a single evolved genotype. It also allows programs to acquire more inputs and produce more outputs during this iteration. We discuss how SMCGP can be used and the results obtained in several different problem domains, including digital circuits, generation of patterns and sequences, and mathematical problems. We find that SMCGP can efficiently solve all the problems studied. In addition, we prove mathematically that evolved programs can provide general solutions to a number of problems: n-input even-parity, n-input adder, and sequence approximation to pi.

    Research areas

  • Cartesian Genetic Programming, Developmental systems, EVOLUTION, ACQUISITION, MODULES

Discover related content

Find related publications, people, projects, datasets and more using interactive charts.

View graph of relations