Skip to main content

Introduction to Evolutionary Computation and Genetic Programming

  • Chapter

Part of the book series: Natural Computing Series ((NCS))

Abstract

In this chapter we describe evolutionary computation (EC) and in particular a sub-branch of it known as genetic programming (GP). We discuss the five most widely used forms of GP: Tree-based, Linear (or Machine code), Grammar-based, Stack-based and Cartesian Graph-based.

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

  1. Aho, A.V., Ullman, J.D., Hopcroft, J.E.: Data Structures and Algorithms. Addison–Wesley (1983)

    MATH  Google Scholar 

  2. Anderson, P.G., Ashlock, D.A.: Advances in Ordered Greed. In: C.H. Dagli (ed.) Intelligent Engineering Systems Through Artificial Neural Networks, vol. 14, pp. 223–228. ASME Press (2004)

    Google Scholar 

  3. Banzhaf, W.: Genetic programming for pedestrians. In: S. Forrest (ed.) Proc. International Conference on Genetic Algorithms, p. 628. Morgan Kaufmann (1993)

    Google Scholar 

  4. Banzhaf, W.: Genetic Programming for pedestrians. Tech. Rep. 93-03, Mitsubishi Electric Research Labs, Cambridge, MA (1993)

    Google Scholar 

  5. Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming: An Introduction. Morgan Kaufmann (1999)

    Google Scholar 

  6. Brameier, M., Banzhaf, W.: A Comparison of Linear Genetic Programming and Neural Networks in Medical Data Mining. IEEE Transactions on Evolutionary Computation 5(1), 17–26 (2001)

    Article  Google Scholar 

  7. Brameier, M.F., Banzhaf, W.: Linear Genetic Programming. Springer (2006)

    Google Scholar 

  8. Chartrand, G., Lesniak, L., Zhang, P.: Graphs and Digraphs, fifth edn. Chapman and Hall (2010)

    Google Scholar 

  9. Cramer, N.L.: A Representation for the Adaptive Generation of Simple Sequential Programs. In: J.J. Grefenstette (ed.) Proc. International Conference on Genetic Algorithms and their Applications. Carnegie Mellon University, USA (1985)

    Google Scholar 

  10. Darwin, C.: On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. John Murray (1859)

    Google Scholar 

  11. Deo, N.: Graph Theory with Applications to Engineering and Computer Science. Prentice-Hall (2004)

    Google Scholar 

  12. Dickmanns, D., Schmidhüber, J., Winklhofer, A.: Der genetische Algorithmus: Eine Implementierung in Prolog. Fortgeschrittenenpraktikum, Institut für Informatik, Technische Universität München (1987)

    Google Scholar 

  13. Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing. Springer (2007)

    Google Scholar 

  14. Fogel, D.B.: Evolutionary Computation: The Fossil Record. Wiley-IEEE Press (1998)

    MATH  Google Scholar 

  15. Fogel, L.J., Owens, A.J., Walsh, M.J.: Artificial Intelligence through Simulated Evolution. John Wiley (1966)

    MATH  Google Scholar 

  16. Forsyth, R.: BEAGLE A Darwinian Approach to Pattern Recognition. Kybernetes 10(3), 159–166 (1981)

    Article  MathSciNet  Google Scholar 

  17. Friedberg, R.: A learning machine: Part I. IBM Journal of Research and Development 2, 2–13 (1958)

    Article  MathSciNet  Google Scholar 

  18. Friedberg, R., Dunham, B., North, J.: A learning machine: Part II. IBM Journal of Research and Development 3, 282–287 (1959)

    Article  MathSciNet  Google Scholar 

  19. Holland, J.H.: Adaptation in natural and artificial systems: An introductory analysis with applications to biology, control, and artificial intelligence. University of Michigan Press, Ann Arbor, MI (1975)

    Google Scholar 

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

    MATH  Google Scholar 

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

    MATH  Google Scholar 

  22. Louis, S., Rawlins, G.J.E.: Using Genetic Algorithms to Design Structures. Tech. Rep. 326, Department of Computer Science, Indiana University (1990)

    Google Scholar 

  23. Louis, S., Rawlins, G.J.E.: Designer Genetic Algorithms: Genetic Algorithms in Structure Design. In: Proc. International Conference on Genetic Algorithms, pp. 53–60. Morgan Kauffmann (1991)

    Google Scholar 

  24. Louis, S.J.: Genetic algorithms as a computational tool for design. Ph.D. thesis, Department of Computer Science, Indiana University (1993)

    Google Scholar 

  25. McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, part I. Communications of the ACM, 184–195 (1960)

    Google Scholar 

  26. McKay, R., Hoai, N., Whigham, P., Shan, Y., O’Neill, M.: Grammar-based Genetic Programming: a survey. Genetic Programming and Evolvable Machines 11(3), 365–396 (2010)

    Article  Google Scholar 

  27. Miller, J.F., Smith, S.L.: Redundancy and Computational Efficiency in Cartesian Genetic Programming. IEEE Transactions on Evolutionary Computation 10(2), 167–174 (2006)

    Article  Google Scholar 

  28. Mumford, C.L.: New Order-Based Crossovers for the Graph Coloring Problem. In: T. Runarsson, H.G. Beyer, E. Burke, J. Merelo-Guervós, L. Whitley, X. Yao (eds.) Parallel Problem Solving from Nature - PPSN IX, LNCS, vol. 4193, pp. 880–889 (2006)

    Chapter  Google Scholar 

  29. Nordin, P.: A Compiling Genetic Programming System that Directly Manipulates the Machine Code. In: K.E. Kinnear (ed.) Advances in Genetic Programming, pp. 311–331. MIT Press (1994)

    Google Scholar 

  30. Nordin, P.: Evolutionary program induction of binary machine code and its applications. Ph.D. thesis, Department of Computer Science, University of Dortmund, Germany (1997)

    Google Scholar 

  31. Nordin, P., Banzhaf, W.: Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code. In: Proc. International Conference on Genetic Algorithms, pp. 318–327. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (1995)

    Google Scholar 

  32. O’Neill, M., Ryan, C.: Grammatical Evolution. IEEE Transactions on Evolutionary Computation 5(4), 349–358 (2001)

    Article  Google Scholar 

  33. O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Springer (2003)

    Google Scholar 

  34. Poli, R.: Parallel distributed genetic programming. Tech. Rep. CSRP-96-15, School of Computer Science, University of Birmingham (1996)

    Google Scholar 

  35. Poli, R.: Evolution of Graph-Like Programs with Parallel Distributed Genetic Programming. In: E. Goodman (ed.) Proc. International Conference on Genetic Algorithms, pp. 346–353. Morgan Kaufmann (1997)

    Google Scholar 

  36. Poli, R., Langdon, W.B.: Foundations of Genetic Programming. Springer (2002)

    MATH  Google Scholar 

  37. Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk (2008)

  38. Rechenberg, I.: Evolutionsstrategie - Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Ph.D. thesis, Technical University of Berlin, Germany (1971)

    Google Scholar 

  39. Schmidhüber, J.: Evolutionary principles in self-referential learning. Diploma thesis, Institut für Informatik, Technical University of München (1987)

    Google Scholar 

  40. Schwefel, H.P.: Numerische Optimierung von Computer-Modellen. Ph.D. thesis, Technical University of Berlin (1974)

    Google Scholar 

  41. Silva, S., Costa, E.: Dynamic limits for bloat control in genetic programming and a review of past and current bloat theories. Genetic Programming and Evolvable Machines 10, 141–179 (2009)

    Article  Google Scholar 

  42. Smith, S.F.: A Learning System Based on Genetic Adaptive Algorithms. Ph.D. thesis, University of Pittsburgh (1980)

    Google Scholar 

  43. Spector, L., Robinson, A.: Genetic Programming and Autoconstructive Evolution with the Push Programming Language. Genetic Programming and Evolvable Machines 3, 7–40 (2002)

    Article  MATH  Google Scholar 

  44. Turing, A.: Intelligent Machinery. In: D. Ince (ed.) Collected Works of A. M. Turing: Mechanical Intelligence. Elsevier Science (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Julian F. Miller .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Miller, J.F. (2011). Introduction to Evolutionary Computation and Genetic Programming. In: Miller, J. (eds) Cartesian Genetic Programming. Natural Computing Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17310-3_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17310-3_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17309-7

  • Online ISBN: 978-3-642-17310-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics