Cartesian genetic programming

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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 et al. in 1997.[1] The term ‘Cartesian genetic programming’ first appeared in 1999[2] and was proposed as a general form of genetic programming in 2000.[3] It is called ‘Cartesian’ because it represents a program using a two-dimensional grid of nodes.

Miller's web site[4] explains how CGP works. He edited a book titled 'Cartesian Genetic Programming,[5] published in 2011 by Springer.


  1. ^ 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)
  2. ^ Miller, 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)
  3. ^ Miller, J.F., Thomson, P.: Cartesian Genetic Programming. In: Proc. European Conference on Genetic Programming, LNCS, vol. 1802, pp. 121–132. Springer (2000)
  4. ^ "CGP home". Retrieved 2018-08-02.
  5. ^ Miller, Julian F., ed. (2011). Cartesian Genetic Programming. Natural Computing Series. CiteSeerX doi:10.1007/978-3-642-17310-3. ISBN 978-3-642-17309-7. ISSN 1619-7127.