Novel Loop Structures and the Evolution of Mathematical Algorithms

  • Mingxu Wan
  • Thomas Weise
  • Ke Tang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6621)


In this paper, we analyze the capability of Genetic Programming (GP) to synthesize non-trivial, non-approximative, and deterministic mathematical algorithms with integer-valued results. Such algorithms usually involve loop structures. We raise the question which representation for loops would be most efficient. We define five tree-based program representations which realize the concept of loops in different ways, including two novel methods which use the convergence of variable values as implicit stopping criteria. Based on experiments on four problems under three fitness functions (error sum, hit rate, constant 1) we find that GP can statistically significantly outperform random walks. Still, evolving said algorithms seems to be hard for GP and the success rates are not high. Furthermore, we found that none of the program representations could consistently outperform the others, but the two novel methods with indirect stopping criteria are utilized to a much higher degree than the other three loop instructions.


Genetic Programming Loop Structure Counter Loop Program Representation Loop Body 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chen, G., Zhang, M.: Evolving while-loop structures in genetic programming for factorial and ant problems. In: 18th Australian Joint Conference on Artificial Intelligence, Sydney, Australia, pp. 1079–1085 (2005)Google Scholar
  2. 2.
    Ciesielski, V., Li, X.: Experiments with explicit for-loops in genetic programming. In: IEEE Congress on Evolutionary Computation, Portland, OR, USA, vol. 1, pp. 494–501 (2004)Google Scholar
  3. 3.
    Finkel, J.R.: Using genetic programming to evolve an algorithm for factoring numbers. In: Genetic Algorithms and Genetic Programming at Stanford, pp. 52–60. Stanford Bookstore, Stanford (2003)Google Scholar
  4. 4.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  5. 5.
    Lai, T.: Discovery of understandable math formulas using genetic programming. In: Genetic Algorithms and Genetic Programming at Stanford, pp. 118–127. Stanford Bookstore, Stanford (2003)Google Scholar
  6. 6.
    Li, X., Ciesielski, V.: An analysis of explicit loops in genetic programming. In: IEEE Congress on Evolutionary Computation, Edinburgh, UK, pp. 2522–2529 (2005)Google Scholar
  7. 7.
    Luke, S., et al.: ECJ: A Java-based Evolutionary Computation Research System. George Mason University, Fairfax (2006)Google Scholar
  8. 8.
    Mann, H.B., Whitney, D.R.: On a test of whether one of two random variables is stochastically larger than the other. The Annals of Mathematical Statistics 18(1), 50–60 (1947)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    McPhee, N.F., Poli, R.: Memory with memory: Soft assignment in genetic programming. In: Genetic and Evolutionary Computation Conference, Atlanta, GA, USA, pp. 1235–1242 (2008)Google Scholar
  10. 10.
    Poli, R., McPhee, N.F., Citi, L., Crane, E.: Memory with memory in genetic programming. Journal of Artificial Evolution and Applications, Article ID 570606 (2009)Google Scholar
  11. 11.
    Qi, Y., Wang, B., Kang, L.: Genetic programming with simple loops. Journal of Computer Science and Technology 14(4), 429–433 (1999)CrossRefGoogle Scholar
  12. 12.
    Teller, A.: Genetic programming, indexed memory, the halting problem, and other curiosities. In: 7th Florida Artificial Intelligence Research Symposium, Pensacola Beach, FL, USA, pp. 270–274 (1994)Google Scholar
  13. 13.
    Teller, A.: Turing completeness in the language of genetic programming with indexed memory. In: 1st IEEE Conference on Evolutionary Computation, Orlando, FL, USA, pp. 136–141 (1994)Google Scholar
  14. 14.
    Weise, T.: Evolving Distributed Algorithms with Genetic Programming. PhD thesis, University of Kassel, Kassel, Germany (2009)Google Scholar
  15. 15.
    Weise, T.: Global Optimization Algorithms – Theory and Application (2009b),
  16. 16.
    Weise, T., Chiong, R.: Evolutionary approaches and their applications to distributed systems. In: Intelligent Systems for Automated Learning and Adaptation: Emerging Trends and Applications, pp. 114–149 (2009)Google Scholar
  17. 17.
    Weise, T., Tang, K.: Evolving distributed algorithms with genetic programming. IEEE Transactions on Evolutionary Computation (2010) (accepted for publication)Google Scholar
  18. 18.
    Weise, T., Zapf, M., Geihs, K.: Rule-based genetic programming. In: 2nd International Conference on Bio-Inspired Models of Network, Information, and Computing Systems, Budapest, Hungary, pp. 8–15 (2007)Google Scholar
  19. 19.
    Weise, T., Zapf, M., Chiong, R., Nebro Urbaneja, A.J.: Why is optimization difficult? In: Chiong, R. (ed.) Nature-Inspired Algorithms for Optimisation. SCI, vol. 193, pp. 1–50. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Wijesinghe, G., Ciesielski, V.: Experiments with indexed for-loops in genetic programming. In: Genetic and Evolutionary Computation Conference, Atlanta, GA, USA, pp. 1347–1348 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Mingxu Wan
    • 1
  • Thomas Weise
    • 1
  • Ke Tang
    • 1
  1. 1.University of Science and Technology of ChinaHefeiChina

Personalised recommendations