The best place to go to learn about Cartesian genetic programming is

This web site has recently been re-designed and will now be updated regularly.

You can download my publications and software there. It has latest news and links to many people who do CGP.

I suggest using Internet Explorer or Firefox web browsers to read this page (to open a link right click and choose 'Open file'). Google chrome has the annoying feature that you have to click on the link and save - it is annoying, but that is how google sites does it :-(

       Cartesian Genetic Programming

       Cartesian Genetic Programming is an easy to program and highly effective form of automatic programming with wide application. In September 2011, the first book on CGP
       was published. 

       First book on Cartesian Genetic Programming is published
           SeriesNatural Computing Series

            Miller, Julian F. (Ed.)

            Publisher: Springer

            1st Edition., 2011, XXII, 344 p. 164 illus., 13 in colour.

            HardcoverISBN 978-3-642-17309-7

       Here are the chapter titles.

       1. Introduction to Evolutionary Computation and Genetic Programming.
       2. Cartesian Genetic Programming.
       3. Problem Decomposition in Cartesian Genetic Programming.
       4. Self-Modifying Cartesian Genetic Programming.
       5. Evolution of Electronic Circuits.
       6. Image Processing and CGP..
       7. CGP Acceleration Using Field-Programmable Gate Arrays.
       8. Hardware Acceleration for CGP: Graphics Processing Units.
       9. The CGP Developmental Network.
       10. CGP, Creativity and Art.
       11. Medical Applications of Cartesian Genetic Programming.
       Appendix A. Resources for Cartesian Genetic Programming.

CGP Software
There is some free software available available below.
CGP in C (written by Dr. Julian Miller). This is version1.1. I am currently working on the next release (you need the free software 7zip to unzip this)
CGP in Matlab (written by Prof. Jordan Pollack)

I am planning to release SMCGP (self-modifying CGP, see below) software in C in the next few months. So keep an eye on the web site or the yahoo GP groups page.
PhD research topics offered

I am interested in applying Cartesian genetic programming to Artificial Intelligence problems. An interesting sub-theme of this is to apply CGP to artificial neural networks (since it is very easy to encode ANNs in CGP). So possible topics for PhDs are

Object recognition

Voice recognition and voice production, voice imitation

language learning

simulated robots that play games

game playing (e.g. MS Pacman)

Recently a new form of CGP has been developed that is self-modifying, this means that the CGP program change with iteration (rather like a re-writing system or computational development). This allows CGP to be applied to new classes of problems.  Working on this would also make a good research topic.

I have at present no funding in place for such PhD positions for international students, but if you can arrange your own funding then that would work.

If you are a UK graduate, then positions become available annually (decisions in July each year) so you should contact me for further details.

Research Interests

Evolvable Hardware, Computational Development, Genetic Programming, particularly my own flavour of this called Cartesian Genetic Programming, Developmental Neural Networks, Artificial Life, Evolutionary Computation, Evolutionary Robotics, Machine Learning, AI, Chemical/Biological Computation. I have dabbled in quantum computation too.

Evolutionary Art (see Laurence's Ashmore's work using Cartesian GP ) and also Steve DiPaola recent impressive work on evolving a portrait painter program  (again using Cartesian GP)

Current PhD students
Tom Seaton  started a PhD in October 2009. He is working on coevolution of graph representations for genetic programming

Yuan Zhang is working on using CGP for classification of mammary tumours from X-Ray images. She started in October 2008. This is a joint supervision with Dr. Steve Smith in the Department of Electronics.

Former PhD students
Adam Falconbridge successfully defended his thesis on 15th Decemeber 2011. He was jointly supervised with Prof. Susan Stepney (Computer Science) and Dr. Leo Caves (Biology).

Thesis title: RBN-World: Sub-symbolic Arti.cial Chemistry for Arti.cial Life

Understanding living systems is a fundamental scienti.c challenge, and how living systems emerge is a key component of this challenge. With modern
computing resources, simulation of virtual environments is possible. This opens new approaches to examine conditions required for emergence of living systems by developing forms of Arti.cial Life. Arti.cial Chemistry seeks to explore how life-like systems can emerge from a pre-biotic environment. In this work, a novel form of molecular representation is described 'subsymbolic' and a group of novel Arti.cial Chemistries called RBN-World is developed using Random Boolean Networks as a sub-symbolic molecular representation. It is shown that RBN-World has several properties thought to be important for the emergence of life-like systems.

Tüze Kuyucu successfully defended his thesis on 30 August 2010. He is currently JSPS Research Fellow in the Socio-Informatics group, Department of Information Systems Design, Doshisha University.

Thesis title: Evolution of Circuits in Hardware and The Evolvability of Artificial Development

Automatic design of digital electronic circuits via evolutionary algorithms is a promising area of research. When evolved intrinsically on real hardware, evolved circuits are guaranteed to work and the emergence of novel and unconventional circuits is likely. However, evolution of digital circuits on real hardware can cause various reliability issues. Thus, key mechanisms that produce reliable evolution of digital circuits on a hardware platform are developed and explained in the first part of this thesis.

On the other hand, the evolution of complex and scalable designs without any assistance is thwarted due to increasingly large genomes. Using traditional circuit design knowledge to assist evolutionary algorithms, the evolution of scalable circuits becomes feasible, but the results found in such experiments are neither novel anymore nor are they competitive with engineered designs. A novel, biologically inspired gene regulatory network based multicellular artificial developmental model is introduced in this thesis. This developmental model is evolved to build digital circuits that can automatically scale to larger designs. However, the results achieved still remain inferior to engineered digital circuit designs. Evolving a developmental system for the design of engineering systems or computational paradigms provides a variety of desirable properties, such as fault tolerance, adaptivity, and scalable designs automation. However, developmental systems in their role as computational networks are as yet poorly understood. Many mechanisms and parameters that a developmental system comprises are based on various assumptions, their biological counterparts, or educated guesses. There is a lack of understanding of the roles of these mechanisms and parameters in forming an evolvable platform for evolutionary computation. Initially, various experiments are shown to demonstrate the evolvability of the new developmental system. A thorough investigation is then undertaken in order to obtain large amounts of empirical data that yields a better understanding of some of the crucial developmental mechanisms and parameters on the evolvability of multicellular developmental systems

Song Zhan successfully defended her thesis on 21st April 2009

Thesis title: A Developmental Gene Regulation Network Model for Electronic Circuit Design

Motivated by the incomparable, but desirable, characteristics from nature organisms, the thesis describes the application of biological regulation mechanisms to electronic circuit design so that the designed systems will employ some desirable characteristics from its underlying regulations. It proposes a multi layered architecture considering of different levels of processes in design. It models gene regulation networks with cell signalling to build a cellular structure and investigates and finds the necessary aspects for achieving gene regulation patterns. Gene regulations are applied as the self organizing mechanism and protein synthesis as the mapping process for the construction of digital circuits. Through evolution, the obtained circuit construction process is shown to be robust due to the underlying gene regulations and the mapping process. Evolution in damaging environments produces even more robust circuits.

The design process allows modularity and its re-use to achieve scalable and combinatorial systems

Gul Muhammad Khan succesfully defended his thesis on 21st July 2008

Thesis title: Evolution of neuro-inspired developmemental programs capable of learning. Gul, I, and David Halliday worked on evolving a new kind of neural network in which each neuron was represented by seven evolved CGP programs. When these were run new neurons grew or withered away, dendritic and axonal branches grew, changed, or died, and synapses formed or dissappeared. He found, at present, tentative evidence that the networks could learn by experience. This work is still going on. Gul has gone back to Pakistan as a lecturer. I hope to get a research grant for him to return to York and continue working on this subject. I believe the work has much promise. 

James A. Walker has successfully defended his PhD on 23rd April 2008.

Thesis title: The Automatic Acquisition, Evolution and Re-use of Modules in Cartesian Genetic Programming. He has done some excellent work on evolving and re-using modules in CGP. This has made the technique much more powerful. James is currently a postdoctoral researcher in the department of Electronic at the University of York working with Prof. Andy Tyrrell.

Liu Heng (jointly with Andy Tyrrell) obtained his PhD in 2008

Thesis title: Biological Development model for the design of Robust Digital System. Liu Heng created a hardware model based on my developmental 'French flag' work. He introduced an execution unit in each cell, whose code was evolved (written in CGP), together with developmental code (also in CGP). He was able to evolve a self-repairing 2-bit parallel multiplier and also robot controllers, which recovered autonomously fater damage. 

Simon Harding   obtained his PhD in January 2006                                                                                                                         

Thesis title: Evolution in materio

Simon has been a postdoctoral researcher ar EPFL in Lausanne Switzerland, and is currently a postdoc working with Prof. Wolfgang Banzhaf, in the Department of Computer Science, at Memorial University of Newfoundland in Canada. Simon did groundbreaking work on the evolution of computation in materials. He is also a pioneer in the use of graphics cards for computation. See his site

He, I and Wolfgang Banzhaf are also creating a new efficient, developmental form of CGP called self-modifying CGP, which includes functions in the genotype that are instructions to modify the genotype. So it is iterated over time and each time it can modify itself. Take a look at our publications on it, on my publications page. We are shortly going to submit some more papers on it.

Ahmed Younes (jointly with Jon Rowe at the School of Computer Science at the University of Birmingham) obtained his PhD in 2004

Thesis title: Practical Search Algorithms and Boolean Circuits for Quantum Computers

He is a lecturer at the University of Alexandria in Egypt.

Tatiana Kalganova (with Professors Terry Fogarty and Abid Almaini) in 2000.

Thesis title: Evolvable Hardware Design for Combinational Logic Circuits

She is a lecturer at Brunel University in London.

Vesselin K. Vassilev (with Professor Terry Fogarty) in 2000.

Thesis title: Fitness Landscapes and Search in the Evolutionary Design of Digital Circuits

He left academia to earn lots of money in Investment Finance at Black Rock in New York City.


Journal editorial duties

1. Associate editor of Genetic Programming and Evolvable Machines (2000 to present)

2. Former Associate editor of IEEE Transactions on Evolutionary Computation(Jan 2003 - Dec 2006).

3. Editorial Board member: Evolutionary Computation

4. Editorial Board member: Unconventional Computing

5. Editorial Board member: Journal of Natural Computing Research

Conference chairmanships

  1. Program co-chair for 8th International Conference on Evolvable Systems: From Biology to Hardware (ICES2010)
  2. Program co-chair for Generative and Developmental Systems track at GECCO 2010
  3. Program co-chair for Workshop on Generative and Developmental Systems at GECCO 2009.
  4. Program chair Genetic Programming track at GECCO 2008
  5. Program co-chair for Generative and Developmental Systems track at GECCO 2007.
  6. Program co-chair for GECCO 2006: Workshop on Complexity through Development and Self-Organizing Representations (CODESOAR).
  7. Program co-chair for GECCO 2005 workshop on Scalable, Emergent, Evolvable, Developmental/Design Systems(SEEDS).
  8. Program chair for GECCO 2004 workshop on regeneration and learning in developmental systems (WORLDS).
  9. Program co-chair and local organiser of Symposium on Evolvability and Sensor Evolution, Birmingham, April 2003.
  10. Program chair for the Evolvable Hardware Track in GECCO 2003 in Chicago.
  11. Program chair for the Evolvable Hardware Track in GECCO 2002 in New York.
  12. Publicity chair and debate organiser for the  5th European Conference on Genetic Programming (EuroGP 2002), April 2002 in Kinsale, Ireland.
  13. Program Co-chair and debate organiser of the  4th European Conference on Genetic Programming (EuroGP 2001)April 2001 in Como, Italy.
  14. Local chair the  3rd European Conference on Genetic Programming (EuroGP 2000), April 2000 in Edinburgh
  15. Program Co-chair of the 3rd International Conference on Evolvable Systems (ICES 2000), April 2000 in Edinburgh.


BSc 2/1, Physics. University of London (Birkbeck College) 1980.

PhD Mathematics. The City University 1988.

The title of my PhD was 'Interacting Solitons and their representation as a linear superposition'. Solitons are non-linear waves which do not dissipate. I once thought that elementary particles might be solitons of some currently unknown non-linear field. You see equations like the sine-Gordon have solutions of an arbitrary number of solitons, antisolitons and breathers (bound pairs). It is like a world in itself. They interact as if they were independent particles under the action of a force field. I found out how to work out what they were all doing and how they interact.

Postgraduate Certificate in Learning and Teaching in Higher Education. University of Birmingham 2002.

SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser

  Jun 28, 2009, 5:46 AM Julian Miller