Abstract
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.
Keywords
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 subscriptionsNotes
- 1.
MCTS can be expressed as a special form of this approach where each state maps exactly to one feature representing this state.
References
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)
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)
Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Commun. ACM 53, 109–116 (2010)
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)
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)
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)
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)
Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, vol. 1. MIT Press, Cambridge (1992)
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)
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)
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)
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)
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)
Cazenave, T.: Monte-carlo expression discovery. Int. J. Artif. Intell. Tools 22, 1–21 (2013)
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)
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)
Szepesvári, C.: Algorithms for reinforcement learning. Synth. Lect. Artif. Intell. Mach. Learn. 4, 1–103 (2010)
Powell, W.B.: Approximate Dynamic Programming: Solving the Curses of Dimensionality. Wiley, Hoboken (2007)
Acknowledgments
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).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Kronberger, G., Kommenda, M., Winkler, S., Affenzeller, M. (2015). Using Contextual Information in Sequential Search for Grammatical Optimization Problems. In: Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A. (eds) Computer Aided Systems Theory – EUROCAST 2015. EUROCAST 2015. Lecture Notes in Computer Science(), vol 9520. Springer, Cham. https://doi.org/10.1007/978-3-319-27340-2_52
Download citation
DOI: https://doi.org/10.1007/978-3-319-27340-2_52
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27339-6
Online ISBN: 978-3-319-27340-2
eBook Packages: Computer ScienceComputer Science (R0)