Skip to main content

Using Contextual Information in Sequential Search for Grammatical Optimization Problems

  • Conference paper
  • First Online:
  • 1529 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9520))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    MCTS can be expressed as a special form of this approach where each state maps exactly to one feature representing this state.

References

  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. 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. Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Commun. ACM 53, 109–116 (2010)

    Article  Google Scholar 

  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. 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. 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. 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. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, vol. 1. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  14. Cazenave, T.: Monte-carlo expression discovery. Int. J. Artif. Intell. Tools 22, 1–21 (2013)

    Article  Google Scholar 

  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. 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. Szepesvári, C.: Algorithms for reinforcement learning. Synth. Lect. Artif. Intell. Mach. Learn. 4, 1–103 (2010)

    Article  MATH  Google Scholar 

  18. Powell, W.B.: Approximate Dynamic Programming: Solving the Curses of Dimensionality. Wiley, Hoboken (2007)

    Book  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Gabriel Kronberger .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics