Cartesian genetic programming is a form of
genetic programming
Genetic programming (GP) is an evolutionary algorithm, an artificial intelligence technique mimicking natural evolution, which operates on a population of programs. It applies the genetic operators selection (evolutionary algorithm), selection a ...
that uses a
graph representation to encode
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
s. It grew from a method of evolving
digital circuits developed by Julian F. Miller and Peter Thomson in 1997. The term ‘Cartesian genetic programming’ first appeared in 1999 and was proposed as a general form of genetic programming in 2000. It is called ‘
Cartesian’ because it represents a program using a two-dimensional grid of
nodes.
Miller's keynote explains how CGP works. He edited a book entitled ''Cartesian Genetic Programming'', published in 2011 by
Springer
Springer or springers may refer to:
Publishers
* Springer Science+Business Media, aka Springer International Publishing, a worldwide publishing group founded in 1842 in Germany formerly known as Springer-Verlag.
** Springer Nature, a multinationa ...
.
The open source project dCGP implements a differentiable version of CGP developed at the European Space Agency by Dario Izzo, Francesco Biscani and Alessio Mereta
[Izzo, D. and Biscani, F. and Mereta, A.: Differentiable Genetic Programming. In: Proc. European Conference on Genetic Programming, LNCS, vol. 10196, pp. 35–51. Springer (2017)] able to approach symbolic regression tasks, to find solution to differential equations, find prime integrals of dynamical systems, represent variable topology artificial neural networks and more.
See also
*
Genetic programming
Genetic programming (GP) is an evolutionary algorithm, an artificial intelligence technique mimicking natural evolution, which operates on a population of programs. It applies the genetic operators selection (evolutionary algorithm), selection a ...
*
Gene expression programming
*
Grammatical evolution
*
Linear genetic programming
*
Multi expression programming
References
#
{{Compu-prog-stub