Cartesian Genetic Programming (CGP) is a form of automatic program induction that uses an evolutionary algorithm to evolve graph-based representations of computational structures. It is a highly flexible and general technique that can find solutions in many problem domains (e.g. neural networks, mathematical equation induction, object recognition in images, digital and analogue circuit design, algorithm design…).
Since its invention in 1999, it has been developed and made more efficient in various ways. It can automatically capture and evolve sub-functions (known as modules) and through the introduction of self-modification operators it is possible to find mathematically provable general solutions to classes of problems. This talk is given by the inventor of the technique.