Cartesian genetic programming

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

Cartesian genetic programming is a form of genetic programming, which uses a graph representation to encode computer programs. It grew from a method of evolving digital circuits developed by Miller et al. in 1997[1]. However 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.

Julian F. Miller (the inventor of CGP) has a web site[4] which explains how CGP works. You can download many publications about CGP from this site. He also 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. doi:10.1007/978-3-642-17310-3. ISSN 1619-7127.