Synthesizing interpretable strategies for solving puzzle games

Understanding how players interact with games is an important challenge for designers. When playing games centered around problem solving, such as logic puzzles like Sudoku or Nonograms, people employ a rich structure of domain-specific knowledge and strategies that are not obvious from the description of a game's rules. This paper explores automatic discovery of player-oriented knowledge and strategies, with the goal of enabling applications ranging from difficulty estimation to puzzle generation to game progression analysis. Using the popular puzzle game Nonograms as our target domain, we present a new system for learning human-interpretable rules for solving these puzzles. The system uses program synthesis, powered by an SMT solver, as the primary learning mechanism. The learned rules are represented as programs in a domain-specific language for condition-action rules. Given game mechanics and a training set of small Nonograms puzzles, our system is able to learn sound, concise rules that generalize to a test set of large real-world puzzles. We show that the learned rules outperform documented strategies for Nonograms drawn from tutorials and guides, both in terms of coverage and quality.

[1]  M. Gick Problem-solving strategies , 1986 .

[2]  N. Ueda,et al.  NP-completeness Results for NONOGRAM via Parsimonious Reductions , 1996 .

[3]  Jonathan Orwant,et al.  EGGG: Automated programming for game generation , 2000, IBM Syst. J..

[4]  J. Bransford How people learn , 2000 .

[5]  Sanjit A. Seshia,et al.  Combinatorial sketching for finite programs , 2006, ASPLOS XII.

[6]  Michael Mateas,et al.  Defining Operational Logics , 2009, DiGRA Conference.

[7]  Sumit Gulwani,et al.  Dimensions in program synthesis , 2010, Formal Methods in Computer Aided Design.

[8]  Michael Mateas,et al.  LUDOCORE: A logical game engine for modeling videogames , 2010, Proceedings of the 2010 IEEE Conference on Computational Intelligence and Games.

[9]  Frédéric Maire,et al.  Evolutionary Game Design , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[10]  Michael Mateas,et al.  Answer Set Programming for Procedural Content Generation: A Design Space Approach , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[11]  Sumit Gulwani,et al.  Synthesizing geometry constructions , 2011, PLDI '11.

[12]  Julian Togelius,et al.  Search-Based Procedural Content Generation: A Taxonomy and Survey , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[13]  Mark J. Nelson Game Metrics Without Players: Strategies for Understanding Game Artifacts , 2011, Artificial Intelligence in the Game Design Process.

[14]  Kees Joost Batenburg,et al.  On the Difficulty of Nonograms , 2012, J. Int. Comput. Games Assoc..

[15]  Zoran Popovic,et al.  Evaluating Competitive Game Balance with Restricted Play , 2012, AIIDE.

[16]  Song-Chun Zhu,et al.  Learning AND-OR Templates for Object Recognition and Detection , 2013, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[17]  Tom Schaul,et al.  A video game description language for model-based or interactive learning , 2013, 2013 IEEE Conference on Computational Inteligence in Games (CIG).

[18]  Cameron Browne Deductive search for logic puzzles , 2013, 2013 IEEE Conference on Computational Inteligence in Games (CIG).

[19]  Sumit Gulwani,et al.  A trace-based framework for analyzing and synthesizing educational progressions , 2013, CHI.

[20]  Sumit Gulwani,et al.  Automated feedback generation for introductory programming assignments , 2012, ACM-SIGPLAN Symposium on Programming Language Design and Implementation.

[21]  Michael Mateas,et al.  Modular Computational Critics for Games , 2013, AIIDE.

[22]  Emina Torlak,et al.  A lightweight symbolic virtual machine for solver-aided host languages , 2014, PLDI.

[23]  Sumit Gulwani,et al.  Automatic Game Progression Design through Analysis of Solution Features , 2015, CHI.

[24]  Mark O. Riedl,et al.  Monte-Carlo Tree Search for Simulation-based Play Strategy Analysis , 2015, FDG.

[25]  Sumit Gulwani,et al.  FlashMeta: a framework for inductive program synthesis , 2015, OOPSLA.

[26]  Chris Martens Ceptre: A Language for Modeling Generative Interactive Systems , 2015, AIIDE.

[27]  Jure Leskovec,et al.  Interpretable Decision Sets: A Joint Framework for Description and Prediction , 2016, KDD.

[28]  Emina Torlak,et al.  A Framework for Parameterized Design of Rule Systems Applied to Algebra , 2016, ITS.

[29]  Julian Togelius,et al.  General Video Game AI: Competition, Challenges and Opportunities , 2016, AAAI.

[30]  Trevor Darrell,et al.  Generating Visual Explanations , 2016, ECCV.

[31]  Mark O. Riedl,et al.  Monte-Carlo Tree Search for Simulation-based Strategy Analysis , 2019, ArXiv.