Cartesian genetic programming
{{Evolutionary algorithms}}
Cartesian genetic programming is a form of genetic programming that uses a graph representation to encode computer programs. It grew from a method of evolving digital circuits developed by Julian F. Miller and Peter Thomson in 1997.Miller, J.F., Thomson, P., Fogarty, T.C.: Designing Electronic Circuits Using Evolutionary Algorithms: Arithmetic Circuits: A Case Study. In: D. Quagliarella, J. Periaux, C. Poloni, G. Winter (eds.) Genetic Algorithms and Evolution Strategies in Engineering and Computer Science: Recent Advancements and Industrial Applications, pp. 105–131. Wiley (1998) The term ‘Cartesian genetic programming’ first appeared in 1999Miller, J.F.: An Empirical Study of the Efficiency of Learning Boolean Functions using a Cartesian Genetic Programming Approach. In: Proc. Genetic and Evolutionary Computation Conference, pp. 1135–1142. Morgan Kaufmann (1999) and was proposed as a general form of genetic programming in 2000.Miller, J.F., Thomson, P.: Cartesian Genetic Programming. In: Proc. European Conference on Genetic Programming, LNCS, vol. 1802, pp. 121–132. Springer (2000) It is called ‘Cartesian’ because it represents a program using a two-dimensional grid of nodes.{{cite book|author1=S. Sumathi|author2=T. Hamsapriya|author3=P. Surekha|title=Evolutionary Intelligence: An Introduction to Theory and Applications with Matlab|url=https://books.google.com/books?id=_w7jx5KS0b8C|date=15 May 2008|publisher=Springer Science & Business Media|isbn=978-3-540-75382-7|pages=201–}}
Miller's keynote{{Cite web|url=https://www.youtube.com/watch?v=qb2R0rL4OHQ|title=Julian Miller - Tutorial: Cartesian Genetic Programming|website=YouTube |date=30 July 2020 }} explains how CGP works. He edited a book entitled Cartesian Genetic Programming,{{Cite book|date=2011|editor-last=Miller|editor-first=Julian F.|title=Cartesian Genetic Programming|journal=Natural Computing Series|language=en-gb|doi=10.1007/978-3-642-17310-3|issn=1619-7127|isbn=978-3-642-17309-7|citeseerx=10.1.1.8.3777}} published in 2011 by Springer.
The open source project dCGP{{Cite web|url=https://darioizzo.github.io/dcgp/index.html|website=github.com|access-date=2018-08-02|title=dCGP v1.5}} 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.