Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)
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)
Li, X., Ciesielski, V.: An analysis of explicit loops in genetic programming. In: IEEE Congress on Evolutionary Computation, Edinburgh, UK, pp. 2522–2529 (2005)
Luke, S., et al.: ECJ: A Java-based Evolutionary Computation Research System. George Mason University, Fairfax (2006)
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)
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)
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)
Qi, Y., Wang, B., Kang, L.: Genetic programming with simple loops. Journal of Computer Science and Technology 14(4), 429–433 (1999)
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)
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)
Weise, T.: Evolving Distributed Algorithms with Genetic Programming. PhD thesis, University of Kassel, Kassel, Germany (2009)
Weise, T.: Global Optimization Algorithms – Theory and Application (2009b), http://www.it-weise.de/
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)
Weise, T., Tang, K.: Evolving distributed algorithms with genetic programming. IEEE Transactions on Evolutionary Computation (2010) (accepted for publication)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wan, M., Weise, T., Tang, K. (2011). Novel Loop Structures and the Evolution of Mathematical Algorithms. In: Silva, S., Foster, J.A., Nicolau, M., Machado, P., Giacobini, M. (eds) Genetic Programming. EuroGP 2011. Lecture Notes in Computer Science, vol 6621. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20407-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-20407-4_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20406-7
Online ISBN: 978-3-642-20407-4
eBook Packages: Computer ScienceComputer Science (R0)