Using Contextual Information in Sequential Search for Grammatical Optimization Problems
G. K. Kronberger, M. Kommenda, S. M. Winkler, M. Affenzeller - Using Contextual Information in Sequential Search for Grammatical Optimization Problems - Lecture Notes in Computer Science LNCS 9520, Las Palmas, Gran Canaria, Spain, 2015, pp. 417-424
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.