Skip to main content

A Survey of Self Modifying Cartesian Genetic Programming

  • Chapter
  • First Online:

Part of the book series: Genetic and Evolutionary Computation ((GEVO,volume 8))

Abstract

Self-Modifying Cartesian Genetic Programming (SMCGP) is a general purpose, graph-based, developmental form of Cartesian Genetic Programming. In addition to the usual computational functions found in CGP, SMCGP includes functions that can modify the evolved program at run time. This means that programs can be iterated to produce an infinite sequence of phenotypes from a single evolved genotype. Here, we discuss the results of using SMCGP on a variety of different problems, and see that SMCGP is able to solve tasks that require scalability and plasticity. We demonstrate how SMCGP is able to produce results that would be impossible for conventional, static Genetic Programming techniques.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Banzhaf, W. and Miller, J. F. (2004). The Challenge of Complexity. Kluwer Academic.

    Google Scholar 

  • Harding, S., Miller, J. F., and Banzhaf, W. (2009a). Self modifying cartesian genetic programming: Parity. In Tyrrell, Andy, editor, 2009 IEEE Congress on Evolutionary Computation, pages 285–292, Trondheim, Norway. IEEE Computational Intelligence Society, IEEE Press.

    Google Scholar 

  • Harding, Simon, Miller, Julian F., and Banzhaf, Wolfgang (2009b). Evolution, development and learning with self modifying cartesian genetic programming. In GECCO’09: Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pages 699–706, New York, NY, USA. ACM.

    Google Scholar 

  • Harding, Simon, Miller, Julian F., and Banzhaf, Wolfgang (2010a). Developments in cartesian genetic programming: Self-modifying cgp. To be published in Genetic Programming and Evolvable Machines.

    Google Scholar 

  • Harding, Simon, Miller, Julian F., and Banzhaf, Wolfgang (2010b). Self modifying cartesian genetic programming: Finding algorithms that calculate pi and e to arbitrary precision. In Genetic and Evolutionary Computation Conference, GECCO 2010. Accepted for publication.

    Google Scholar 

  • Harding, Simon, Miller, Julian Francis, and Banzhaf, Wolfgang (2009c). Self modifying cartesian genetic programming: Fibonacci, squares, regression and summing. In Vanneschi, Leonardo, Gustafson, Steven, et al., editors, Genetic Programming, 12th European Conference, EuroGP 2009, Tübingen, Germany, April 15-17, 2009, Proceedings, volume 5481 of Lecture Notes in Computer Science, pages 133–144. Springer.

    Google Scholar 

  • Harding, Simon L., Miller, Julian F., and Banzhaf, Wolfgang (2007). Selfmodifying cartesian genetic programming. In Thierens, Dirk, Beyer, Hans-Georg, Bongard, Josh, Branke, Jurgen, Clark, John Andrew, Cliff, Dave, Congdon, Clare Bates, Deb, Kalyanmoy, Doerr, Benjamin, Kovacs, Tim, Kumar, Sanjeev, Miller, Julian F., Moore, Jason, Neumann, Frank, Pelikan, Martin, Poli, Riccardo, Sastry, Kumara, Stanley, Kenneth Owen, Stutzle, Thomas, Watson, Richard A, and Wegener, Ingo, editors, GECCO ’07: Proceedings of the 9th annual conference on Genetic and evolutionary computation, volume 1, pages 1021–1028, London. ACM Press.

    Google Scholar 

  • Huelsbergen, Lorenz (1998). Finding general solutions to the parity problem by evolving machine-language representations. In Koza, John R., Banzhaf, Wolfgang, Chellapilla, Kumar, Deb, Kalyanmoy, Dorigo, Marco, Fogel, David B., Garzon, Max H., Goldberg, David E., Iba, Hitoshi, and Riolo, Rick, editors, Genetic Programming 1998: Proceedings of the Third Annual Conference, pages 158–166, University of Wisconsin, Madison, Wisconsin, USA. Morgan Kaufmann.

    Google Scholar 

  • Khan, G.M., Miller, J.F, and Halliday, D.M. (2007). Coevolution of intelligent agents using cartesian genetic programming. In Proceedings of the 9th annual conference on Genetic and evolutionary computation, pages 269 – 276.

    Google Scholar 

  • Koza, J. R. (1994a).Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press.

    Google Scholar 

  • Koza, John R. (1992a). A genetic approach to the truck backer upper problem and the inter-twined spiral problem. In Proceedings of IJCNN International Joint Conference on Neural Networks, volume IV, pages 310–318. IEEE Press.

    Google Scholar 

  • Koza, John R. (1994b). Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge Massachusetts.

    MATH  Google Scholar 

  • Koza, J.R. (1992b). Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge, Massachusetts, USA.

    MATH  Google Scholar 

  • Miller, J. F. and Smith, S. L. (2006). Redundancy and computational efficiency in cartesian genetic programming. In IEEE Transactions on Evoluationary Computation, volume 10, pages 167–174.

    Article  Google Scholar 

  • Miller, Julian F. (2003). Evolving developmental programs for adaptation, morphogenesis, and self-repair. In Banzhaf,Wolfgang, Christaller, Thomas, Dittrich, Peter,Kim, Jan T., and Ziegler, Jens, editors, Advances in Artificial Life. 7th European Conference on Artificial Life, volume 2801 of Lecture Notes in Artificial Intelligence, pages 256–265, Dortmund, Germany. Springer.

    Google Scholar 

  • Miller, Julian F. and Banzhaf, Wolfgang (2003). Evolving the program for a cell: from french flags to boolean circuits. In Kumar, Sanjeev and Bentley, Peter J., editors, On Growth, Form and Computers. Academic Press.

    Google Scholar 

  • Miller, Julian F. and Thomson, Peter (2000). Cartesian genetic programming. In Poli, Riccardo, Banzhaf, Wolfgang, Langdon, William B., Miller, Julian F., Nordin, Peter, and Fogarty, Terence C., editors, Genetic Programming, Proceedings of EuroGP’2000, volume 1802 of LNCS, pages 121–132, Edinburgh. Springer-Verlag.

    Google Scholar 

  • Miller, Julian F. and Thomson, Peter (2003). Adevelopmental method for growing graphs and circuits. In Proceedings of the 5th International Conference on Evolvable Systems: From Biology to Hardware, volume 2606 of Lecture Notes in Computer Science, pages 93–104. Springer.

    Google Scholar 

  • Miller, Julian Francis (2004). Evolving a self-repairing, self-regulating, french flag organism. In Deb, Kalyanmoy, Poli, Riccardo, Banzhaf, Wolfgang, Beyer, Hans-Georg, Burke, Edmund K., Darwen, Paul J., Dasgupta, Dipankar, Floreano, Dario, Foster, James A., Harman, Mark, Holland, Owen, Lanzi, Pier Luca, Spector, Lee, Tettamanzi, Andrea, Thierens, Dirk, and Tyrrell, Andrew M., editors, GECCO (1), volume 3102 of Lecture Notes in Computer Science, pages 129–139. Springer.

    Google Scholar 

  • Spector, L. and Robinson, A. (2002). Genetic programming and autoconstructive evolution with the push programming language. Genetic Programming and Evolvable Machines, 3:7–40.

    Article  MATH  Google Scholar 

  • Spector, Lee and Stoffel, Kilian (1996). Ontogenetic programming. In Koza, John R., Goldberg, David E., Fogel, David B., and Riolo, Rick L., editors, Genetic Programming 1996: Proceedings of the First Annual Conference, pages 394–399, Stanford University, CA, USA. MIT Press.

    Google Scholar 

  • Stanley, K. O. and Miikkulainen, R. (2002). Evolving neural networks through augmenting topologies. Evolutionary Computation, 10(2):99–127.

    Article  Google Scholar 

  • Vassilev, Vesselin K. and Miller, Julian F. (2000). The advantages of landscape neutrality in digital circuit evolution. In Proceedings of the Third International Conference on Evolvable Systems, pages 252–263. Springer-Verlag.

    Google Scholar 

  • Wong, Man Leung (2005). Evolving recursive programs by using adaptive grammar based genetic programming. Genetic Programming and Evolvable Machines, 6(4):421–455.

    Article  Google Scholar 

  • Wong, Man Leung and Leung, Kwong Sak (1996). Evolving recursive functions for the even-parity problem using genetic programming. In Angeline, Peter J. and Kinnear, Jr., K. E., editors, Advances in Genetic Programming 2, chapter 11, pages 221–240. MIT Press, Cambridge, MA, USA.

    Google Scholar 

  • Yu, Tina and Miller, Julian (2001). Neutrality and the evolvability of boolean function landscape. InMiller, Julian F., Tomassini, Marco, Lanzi, Pier Luca, Ryan, Conor, Tettamanzi, Andrea G. B., and Langdon, William B., editors, GeneticProgramming, Proceedings ofEuroGP’2001, volume 2038 of LNCS, pages 204–217, Lake Como, Italy. Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Harding, S., Banzhaf, W., Miller, J.F. (2011). A Survey of Self Modifying Cartesian Genetic Programming. In: Riolo, R., McConaghy, T., Vladislavleva, E. (eds) Genetic Programming Theory and Practice VIII. Genetic and Evolutionary Computation, vol 8. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-7747-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-7747-2_6

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4419-7746-5

  • Online ISBN: 978-1-4419-7747-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics