Self Modifying Cartesian Genetic Programming: Fibonacci, Squares, Regression and Summing

  • Simon Harding
  • Julian F. Miller
  • Wolfgang Banzhaf
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5481)


Self Modifying CGP (SMCGP) is a developmental form of Cartesian Genetic Programming(CGP). It is able to modify its own phenotype during execution of the evolved program. This is done by the inclusion of modification operators in the function set. Here we present the use of the technique on several different sequence generation and regression problems.


Genetic programming developmental systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Banzhaf, W., Beslon, G., Christensen, S., Foster, J.A., Képès, F., Lefort, V., Miller, J.F., Radman, M., Ramsden, J.J.: From artificial evolution to computational evolution: A research agenda. Nature Reviews Genetics 7, 729–735 (2006)CrossRefGoogle Scholar
  2. 2.
    Kampis, G.: Self-modifying Systems in Biology and Cognitive Science. Pergamon Press, Oxford (1991)Google Scholar
  3. 3.
    Spector, L., Stoffel, K.: Ontogenetic programming. In: Koza, J.R., Goldberg, D.E., Fogel, D.B., Riolo, R.L. (eds.) Genetic Programming 1996: Proceedings of the First Annual Conference, pp. 394–399. MIT Press, Stanford University (1996)Google Scholar
  4. 4.
    Gruau, F.: Neural network synthesis using cellular encoding and the genetic algorithm. Ph.D. dissertation, Laboratoire de l’Informatique du Parallélisme, Ecole Normale Supérieure de Lyon, France (1994)Google Scholar
  5. 5.
    Miller, J.F., Thomson, P.: A developmental method for growing graphs and circuits. In: Tyrrell, A.M., Haddow, P.C., Torresen, J. (eds.) ICES 2003. LNCS, vol. 2606, pp. 93–104. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Kumar, S., Bentley, P.: On Growth, Form and Computers. Academic Press, London (2003)Google Scholar
  7. 7.
    Harding, S.L., Miller, J.F., Banzhaf, W.: Self-modifying cartesian genetic programming. In: Thierens, D., Beyer, H.-G., et al. (eds.) GECCO 2007: Proceedings of the 9th annual conference on Genetic and evolutionary computation, vol. 1, pp. 1021–1028. ACM Press, London (2007)Google Scholar
  8. 8.
    Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Vassilev, V.K., Miller, J.F.: The advantages of landscape neutrality in digital circuit evolution. In: Miller, J.F., Thompson, A., Thompson, P., Fogarty, T.C. (eds.) ICES 2000. LNCS, vol. 1801, pp. 252–263. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Yu, T., Miller, J.: Neutrality and the evolvability of boolean function landscape. In: Miller, J., Tomassini, M., Lanzi, P.L., Ryan, C., Tetamanzi, A.G.B., Langdon, W.B. (eds.) EuroGP 2001. LNCS, vol. 2038, pp. 204–217. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Koza, J.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  12. 12.
    Huelsbergen, L.: Learning recursive sequences via evolution of machine-language programs. In: Koza, J.R., Deb, K., et al. (eds.) Genetic Programming 1997: Proceedings of the Second Annual Conference, pp. 186–194. Morgan Kaufmann, Stanford University (1997)Google Scholar
  13. 13.
    Nishiguchi, M., Fujimoto, Y.: Evolution of recursive programs with multi-niche genetic programming (mnGP). In: Evolutionary Computation Proceedings, 1998. IEEE World Congress on Computational Intelligence, pp. 247–252 (1998)Google Scholar
  14. 14.
    Agapitos, A., Lucas, S.M.: Learning recursive functions with object oriented genetic programming. In: Collet, P., Tomassini, M., Ebner, M., Gustafson, S., Ekárt, A. (eds.) EuroGP 2006. LNCS, vol. 3905, pp. 166–177. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Shirakawa, S., Ogino, S., Nagao, T.: Graph structured program evolution. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, pp. 1686–1693. ACM, London (2007)CrossRefGoogle Scholar
  16. 16.
    Wilson, G., Heywood, M.: Learning recursive programs with cooperative coevolution of genetic code mapping and genotype. In: GECCO 2007: Proceedings of the 9th annual conference on Genetic and evolutionary computation, pp. 1053–1061. ACM Press, New York (2007)Google Scholar
  17. 17.
    Langdon, W.B., Banzhaf, W.: Repeated sequences in linear genetic programming genomes. Complex Systems 15(4), 285–306 (2005)MathSciNetzbMATHGoogle Scholar
  18. 18.
    Harding, S., Miller, J.F., Banzhaf, W.: Self modifying cartesian genetic programming: Parity. In: CEC 2009 (2009) (submitted)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Simon Harding
    • 1
  • Julian F. Miller
    • 2
  • Wolfgang Banzhaf
    • 1
  1. 1.Department of Computer ScienceMemorial UniversityCanada
  2. 2.Department Of ElectronicsUniversity of YorkUK

Personalised recommendations