Open main menu

Wikipedia β

Cartesian genetic programming

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 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.


  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.