Using Contextual Information in Sequential Search for Grammatical Optimization Problems

  • Gabriel KronbergerEmail author
  • Michael Kommenda
  • Stephan Winkler
  • Michael Affenzeller
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9520)


Automated synthesis of complex programs is still an unsolved problem even though some successes have been achieved recently for relatively contrived and specialized settings. One possible approach to automated programming is genetic programming, however, a diverse set of alternative techniques are possible which makes it rather difficult to make general assertions about characteristics or structure of automated programming tasks. We have therefore defined the concept of grammatical optimization problems for problems with an objective function and grammar constraint for valid solutions. The problem of synthesizing computer programs can be formulated as a grammatical optimization problem. In this contribution we describe our idea of using contextual information for guiding the search process. First, we describe how the search process can be described as a sequential decision process and show how Monte-Carlo tree search is one way to optimize this decision process. Based on the formulation as a sequential decision process we explain how lexical, syntactical, as well as program state can be used for guiding the search process. This makes it possible to learn problem structure in a way that goes beyond what is possible with simple Monte-Carlo tree search.


Automated programming Genetic programming Monte-Carlo tree search Sequential decision processes 



The authors would like to thank Tristan Cazenave for the helpful discussion which lead to improvements of this paper. The work described in this paper was done within the COMET Project Heuristic Optimization in Production and Logistics (HOPL), #843532 funded by the Austrian Research Promotion Agency (FFG).


  1. 1.
    Gulwani, S.: Synthesis from examples: interaction models and algorithms. In: 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), pp. 8–14 (2012)Google Scholar
  2. 2.
    Le Goues, C., Dewey-Vogt, M., Forrest, S., Weimer, W.: A systematic study of automated program repair: fixing 55 out of 105 bugs for \({{{\$}8}}\) each. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 3–13 (2012)Google Scholar
  3. 3.
    Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Commun. ACM 53, 109–116 (2010)CrossRefGoogle Scholar
  4. 4.
    Weimer, W., Nguyen, T., Le Goues, C., Forrest, S.: Automatically finding patches using genetic programming. In: Proceedings of the 31st International Conference on Software Engineering, ICSE 2009, pp. 364–374. IEEE Computer Society, Washington, DC (2009)Google Scholar
  5. 5.
    Schkufza, E., Sharma, R., Aiken, A.: Stochastic optimization of floating-point programs with tunable precision. In: O’Boyle, M.F.P., Pingali, K. (eds.) PLDI, p. 9. ACM (2014)Google Scholar
  6. 6.
    Schkufza, E., Sharma, R., Aiken, A.: Stochastic superoptimization. In: Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2013, pp. 305–316. ACM, New York (2013)Google Scholar
  7. 7.
    Norvig, P.: Machine learning for programming. In: Proceedings of the Companion Publication of the 2014 ACM SIGPLAN Conference on Systems, Programming, and Applications: Software for Humanity, p. 3. ACM (2014)Google Scholar
  8. 8.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, vol. 1. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  9. 9.
    Kronberger, G., Kommenda, M.: Search strategies for grammatical optmization problems - alternatives to grammar-guided genetic programming. In: Borowik, G., Chaczko, Z., Jacak, W., Łuba, T. (eds.) Computational Intelligence and Efficiency in Engineering Systems. SCI, vol. 595, pp. 89–102. Springer, Heidelberg (2015)Google Scholar
  10. 10.
    Duvenaud, D., Lloyd, J.R., Grosse, R., Tenenbaum, J.B., Ghahramani, Z.: Structure discovery in nonparametric regression through compositional kernel search. arXiv preprint arXiv:1302.4922 (2013)
  11. 11.
    Kronberger, G., Kommenda, M., Wagner, S., Dobler, H.: GPDL: a framework-independent problem definition language for grammar-guided genetic programming. In: Proceeding of the Fifteenth Annual Conference Companion on Genetic and Evolutionary Computation Conference Companion, pp. 1333–1340. ACM (2013)Google Scholar
  12. 12.
    Kocsis, L., Szepesvári, C.: Bandit based Monte-Carlo planning. In: Fürnkranz, J., Scheffer, T., Spiliopoulou, M. (eds.) ECML 2006. LNCS (LNAI), vol. 4212, pp. 282–293. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  13. 13.
    Browne, C.B., Powley, E., Whitehouse, D., Lucas, S.M., Cowling, P.I., Rohlfshagen, P., Tavener, S., Perez, D., Samothrakis, S., Colton, S.: A survey of monte carlo tree search methods. IEEE Trans. Comput. Intell. AI Games 4, 1–43 (2012)CrossRefGoogle Scholar
  14. 14.
    Cazenave, T.: Monte-carlo expression discovery. Int. J. Artif. Intell. Tools 22, 1–21 (2013)CrossRefGoogle Scholar
  15. 15.
    de Mesmay, F., Rimmel, A., Voronenko, Y., Püschel, M.: Bandit-based optimization on graphs with application to library performance tuning. In: Proceedings of the 26th Annual International Conference on Machine Learning, ICML 2009, pp. 729–736. ACM, New York (2009)Google Scholar
  16. 16.
    Helmuth, T., Spector, L.: Word count as a traditional programming benchmark problem for genetic programming. In: Proceedings of the 2014 Conference on Genetic and Evolutionary Computation, GECCO 2014, pp. 919–926. ACM, New York (2014)Google Scholar
  17. 17.
    Szepesvári, C.: Algorithms for reinforcement learning. Synth. Lect. Artif. Intell. Mach. Learn. 4, 1–103 (2010)CrossRefzbMATHGoogle Scholar
  18. 18.
    Powell, W.B.: Approximate Dynamic Programming: Solving the Curses of Dimensionality. Wiley, Hoboken (2007)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Gabriel Kronberger
    • 1
    Email author
  • Michael Kommenda
    • 1
    • 2
  • Stephan Winkler
    • 1
    • 2
  • Michael Affenzeller
    • 1
    • 2
  1. 1.Heuristic and Evolutionary Algorithms Laboratory, School of Informatics, Communications and MediaUniversity of Applied Sciences Upper AustriaHagenbergAustria
  2. 2.Institute for Formal Models and VerificationJohannes Kepler University LinzLinzAustria

Personalised recommendations