Computational Complexity Analysis of Genetic Programming - Initial Results and Future Directions

  • Frank Neumann
  • Una-May O’Reilly
  • Markus Wagner
Part of the Genetic and Evolutionary Computation book series (GEVO)


The computational complexity analysis of evolutionary algorithmsworking on binary strings has significantly increased the rigorous understanding on how these types of algorithm work. Similar results on the computational complexity of genetic programming would fill an important theoretic gap. They would significantly increase the theoretical understanding on how and why genetic programming algorithms work and indicate, in a rigorous manner, how design choices of algorithm components impact its success. We summarize initial computational complexity results for simple tree-based genetic programming and point out directions for future research.


Abstract Expression Grammars Differential Evolution Grammar Template Genetic Programming Genetic Algorithms Particle Swarm Symbolic Regression 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Burke, Edmund K., Gustafson, Steven, and Kendall, Graham (2004). Diversity in genetic programming:An analysis ofmeasures and correlationwith fitness. IEEE Transactions on Evolutionary Computation, 8(1):47–62.CrossRefGoogle Scholar
  2. Doerr, Benjamin and Happ, Edda (2008). Directed trees: A powerful representation for sorting and ordering problems. In 2008 IEEE World Congress on Computational Intelligence, pages 3606–3613. IEEE Computational Intelligence Society, IEEE Press.Google Scholar
  3. Droste, Stefan, Jansen, Thomas, and Wegener, Ingo (2002). On the analysis of the (1+1) evolutionary algorithm. Theor. Comput. Sci., 276:51–81.MathSciNetzbMATHCrossRefGoogle Scholar
  4. Durrett,Greg,Neumann, Frank, andO’Reilly,Una-May (2011). Computational complexity analysis of simple genetic programming on two problems modeling isolated program semantics. In FOGA ’11: Proceedings of the 11th ACM SIGEVO workshop on Foundations of Genetic Algorithms. ACM. (to appear).Google Scholar
  5. Friedrich, Tobias, He, Jun, Hebbinghaus, Nils, Neumann, Frank, and Witt, Carsten (2010). Approximating covering problems by randomized search heuristics using multi-objective models. Evolutionary Computation, 18(4):617–633.CrossRefGoogle Scholar
  6. Goldberg, David E. and O’Reilly, Una-May (1998). Where does the good stuff go, andwhy? howcontextual semantics influence programstructure in simple Computational Complexity Analysis of Genetic Programming 127 genetic programming. In Banzhaf, Wolfgang, Poli, Riccardo, Schoenauer, Marc, and Fogarty, Terence C., editors, Proceedings of the First European Workshop on Genetic Programming, volume 1391 of LNCS, pages 16–36, Paris. Springer-Verlag.Google Scholar
  7. Gustafson, Steven, Ekart, Aniko, Burke, Edmund, and Kendall, Graham (2004). Problem difficulty and code growth in genetic programming. Genetic Programming and Evolvable Machines, 5(3):271–290.CrossRefGoogle Scholar
  8. Koza, John R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA.Google Scholar
  9. Neumann, Frank (2007). Expected runtimes of a simple evolutionary algorithm for the multi-objective minimum spanning tree problem. European Journal of Operational Research, 181(3):1620–1629.zbMATHCrossRefGoogle Scholar
  10. Neumann, Frank and Wegener, Ingo (2006). Minimum spanning trees made easier via multi-objective optimization. Natural Computing, 5(3):305–319.MathSciNetzbMATHCrossRefGoogle Scholar
  11. Neumann, Frank and Wegener, Ingo (2007). Randomized local search, evolutionary algorithms, and the minimum spanning tree problem. Theor. Comput. Sci., 378(1):32–40.MathSciNetzbMATHCrossRefGoogle Scholar
  12. Neumann, Frank and Witt, Carsten (2010). Bioinspired Computation in Combinatorial Optimization – Algorithms and Their Computational Complexity. Springer.Google Scholar
  13. O’Reilly, Una-May (1995). An Analysis of Genetic Programming. PhD thesis,Google Scholar
  14. Carleton University, Ottawa-Carleton Institute for Computer Science, Ottawa, Ontario, Canada.Google Scholar
  15. O’Reilly, Una-May and Oppacher, Franz (1994). Program search with a hierarchical variable length representation: Genetic programming, simulated annealing and hill climbing. In Davidor, Yuval, Schwefel, Hans-Paul, and Manner, Reinhard, editors, Parallel Problem Solving from Nature – PPSN III, number 866 in Lecture Notes in Computer Science, pages 397–406, Jerusalem. Springer-Verlag.Google Scholar
  16. Poli, Riccardo, Langdon, William B., and McPhee, Nicholas Freitag (2008). A field guide to genetic programming. Published via and freely available at (With contributions by J. R. Koza).
  17. Poli, Riccardo, Vanneschi, Leonardo, Langdon, William B., and McPhee, Nicholas Freitag (2010). Theoretical results in genetic programming: the next ten years? Genetic Programming and EvolvableMachines, 11(3-4):285–320.CrossRefGoogle Scholar
  18. Scharnow, Jens, Tinnefeld, Karsten, andWegener, Ingo (2004). The analysis of evolutionary algorithms on sorting and shortest paths problems. Journal of Mathematical Modelling and Algorithms, 3:349–366.Google Scholar
  19. Storch, Tobias (2008). On the choice of the parent population size. Evolutionary Computation, 16(4):557–578.CrossRefGoogle Scholar
  20. Wagner, Markus and Neumann, Frank (2011). Computational complexity results for genetic programming and the sorting problem. CoRR, abs/1103.5797.Google Scholar
  21. Witt, Carsten (2006). Runtime analysis of the (mu + 1) EA on simple pseudoboolean functions. Evolutionary Computation, 14(1):65–86.MathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Frank Neumann
    • 1
  • Una-May O’Reilly
    • 2
  • Markus Wagner
    • 1
  1. 1.School of Computer ScienceUniversity of AdelaideAdelaideAustralia
  2. 2.CSAIL, MITCambridgeUSA

Personalised recommendations