skip to main content
10.1145/3102071.3102084acmotherconferencesArticle/Chapter ViewAbstractPublication PagesfdgConference Proceedingsconference-collections
research-article
Public Access

Synthesizing interpretable strategies for solving puzzle games

Published: 14 August 2017 Publication History

Abstract

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.

References

[1]
Erik Andersen, Sumit Gulwani, and Zoran Popović. 2013. A Trace-based Framework for Analyzing and Synthesizing Educational Progressions. In CHI.
[2]
K Joost Batenburg and Walter A Kosters. 2012. On the difficulty of Nonograms. ICGA Journal 35, 4 (2012), 195--205.
[3]
John D Bransford, Ann L Brown, Rodney R Cocking, and others. 2000. How people learn. Washington, DC: National Academy Press.
[4]
Cameron Browne. 2013. Deductive search for logic puzzles. In Computational Intelligence in Games (CIG), 2013 IEEE Conference on. IEEE.
[5]
Cameron Browne and Frederic Maire. 2010. Evolutionary Game Design. IEEE Transactions on Computational Intelligence and AI in Games 2 (2010), 1--16.
[6]
Eric Butler, Erik Andersen, Adam M. Smith, Sumit Gulwani, and Zoran Popović. 2015. Automatic Game Progression Design Through Analysis of Solution Features. In Proc. of the 33rd ACM Conf. on Human Factors in Computing Systems (CHI '15).
[7]
Eric Butler, Emina Torlak, and Zoran Popović. 2016. A Framework for Parameterized Design of Rule Systems Applied to Algebra. In Intelligent Tutoring Systems. Springer.
[8]
Mary L Gick. 1986. Problem-solving strategies. Educational psychologist 21, 1--2 (1986), 99--120.
[9]
Sumit Gulwani. 2010. Dimensions in Program Synthesis. In Proceedings of the 12th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP '10). ACM.
[10]
Sumit Gulwani, Vijay Anand Korthikanti, and Ashish Tiwari. 2011. Synthesizing Geometry Constructions. In Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '11). ACM.
[11]
Lisa Anne Hendricks, Zeynep Akata, Marcus Rohrbach, Jeff Donahue, Bernt Schiele, and Trevor Darrell. 2016. Generating visual explanations. In European Conference on Computer Vision. Springer, 3--19.
[12]
Alexander Jaffe, Alex Miller, Erik Andersen, Yun-En Liu, Anna Karlin, and Zoran Popović. 2012. Evaluating Competitive Game Balance with Restricted Play. In AIIDE.
[13]
Jupiter. 2015. Picross e6. (2015).
[14]
Jupiter. 2015. Pokémon Picross. (2015).
[15]
Jupiter. 2016. Picross e7. (2016).
[16]
Himabindu Lakkaraju, Stephen H. Bach, and Jure Leskovec. 2016. Interpretable Decision Sets: A Joint Framework for Description and Prediction. In Proceedings of the 22Nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD '16). ACM, New York, NY, USA.
[17]
Nathaniel Love, Timothy Hinrichs, David Haley, Eric Schkufza, and Michael Genesereth. 2008. General game playing: Game description language specification. Technical Report. Stanford University.
[18]
Chris Martens. 2015. Ceptre: A language for modeling generative interactive systems. In Eleventh Artificial Intelligence and Interactive Digital Entertainment Conference.
[19]
Michael Mateas and Noah Wardrip-Fruin. 2009. Defining operational logics, In DiGRA. Digital Games Research Association (DiGRA) (2009).
[20]
Gareth Moore. 2006. The Essential Book of Hanjie and How to Solve It.
[21]
Mark J Nelson. 2011. Game Metrics Without Players: Strategies for Understanding Game Artifacts. In Artificial Intelligence in the Game Design Process.
[22]
Tetsuya Nishio. 2008. Original O'Ekaki: Intelligent Designs from Its Creator.
[23]
John Orwant. 2000. EGGG: Automated programming for game generation. IBM Systems Journal 39, 3.4 (2000), 782--794.
[24]
Joseph Carter Osborn, April Grow, and Michael Mateas. 2013. Modular Computational Critics for Games. In AIIDE.
[25]
Diego Perez-Liebana, Spyridon Samothrakis, Julian Togelius, Tom Schaul, and Simon M Lucas. 2016. General video game ai: Competition, challenges and opportunities. In Thirtieth AAAI Conference on Artificial Intelligence.
[26]
Oleksandr Polozov and Sumit Gulwani. 2015. FlashMeta: A framework for inductive program synthesis. In Proceedings of the 2015 ACM SIGPLAN Inter. Conf. on Object-Oriented Programming, Systems, Languages, and Applications. ACM.
[27]
Tom Schaul. 2013. A Video Game Description Language for Model-based or Interactive Learning. In IEEE Conference on Computational Intelligence in Games.
[28]
Zhangzhang Si and Song-Chun Zhu. 2013. Learning and-or templates for object recognition and detection. IEEE transactions on pattern analysis and machine intelligence 35, 9 (2013), 2189--2205.
[29]
Rishabh Singh, Sumit Gulwani, and Armando Solar-Lezama. 2013. Automated Feedback Generation for Introductory Programming Assignments. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13). ACM, New York, NY, USA.
[30]
Adam M Smith and Michael Mateas. 2011. Answer set programming for procedural content generation: A design space approach. IEEE Transactions on Computational Intelligence and AI in Games 3, 3 (2011), 187--200.
[31]
Adam M Smith, Mark J Nelson, and Michael Mateas. 2010. Ludocore: A logical game engine for modeling videogames. In Computational Intelligence and Games (CIG), 2010 IEEE Symposium on. IEEE, 91--98.
[32]
Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Sanjit Seshia, and Vijay Saraswat. 2006. Combinatorial Sketching for Finite Programs. In Proceedings of the 12th Inter. Conf. on Architectural Support for Programming Languages and Operating Systems. ACM, 12.
[33]
Andrew C Stuart. 2007. The Logic of Sudoku. Michael Mepham Publishing.
[34]
Andrew C Stuart. 2012. Sudoku Creation and Grading. (January 2012). http://www.sudokuwiki.org/Sudoku_Creation_and_Grading.pdf [Online, accessed 8 Mar 2017].
[35]
Julian Togelius, Georgios N Yannakakis, Kenneth O Stanley, and Cameron Browne. 2011. Search-based procedural content generation: A taxonomy and survey. IEEE Transactions on Computational Intelligence and AI in Games 3, 3 (2011), 172--186.
[36]
Emina Torlak and Rastislav Bodik. 2014. A Lightweight Symbolic Virtual Machine for Solver-aided Host Languages. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. 12.
[37]
Nobuhisa Ueda and Tadaaki Nagao. 1996. NP-completeness results for NONOGRAM via parsimonious reductions. Technical Report (1996).
[38]
Alexander Zook, Brent Harrison, and Mark O Riedl. 2015. Monte-carlo tree search for simulation-based strategy analysis. In Proceedings of the 10th Conference on the Foundations of Digital Games.

Cited By

View all
  • (2022)A formal foundation for symbolic evaluation with mergingProceedings of the ACM on Programming Languages10.1145/34987096:POPL(1-28)Online publication date: 12-Jan-2022
  • (2022)Evolving interpretable strategies for zero-sum gamesApplied Soft Computing10.1016/j.asoc.2022.108860122(108860)Online publication date: Jun-2022
  • (2021)Program Lifting using Gray-Box BehaviorProceedings of the 30th International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT52795.2021.00012(60-74)Online publication date: 26-Sep-2021
  • Show More Cited By

Index Terms

  1. Synthesizing interpretable strategies for solving puzzle games

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    FDG '17: Proceedings of the 12th International Conference on the Foundations of Digital Games
    August 2017
    545 pages
    ISBN:9781450353199
    DOI:10.1145/3102071
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    • Microsoft: Microsoft
    • Massive Entertainment: Massive Entertainment

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 August 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. artificial intelligence
    2. automated game analysis
    3. program synthesis

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    FDG'17
    Sponsor:
    • Microsoft
    • Massive Entertainment

    Acceptance Rates

    FDG '17 Paper Acceptance Rate 36 of 89 submissions, 40%;
    Overall Acceptance Rate 152 of 415 submissions, 37%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)323
    • Downloads (Last 6 weeks)35
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)A formal foundation for symbolic evaluation with mergingProceedings of the ACM on Programming Languages10.1145/34987096:POPL(1-28)Online publication date: 12-Jan-2022
    • (2022)Evolving interpretable strategies for zero-sum gamesApplied Soft Computing10.1016/j.asoc.2022.108860122(108860)Online publication date: Jun-2022
    • (2021)Program Lifting using Gray-Box BehaviorProceedings of the 30th International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT52795.2021.00012(60-74)Online publication date: 26-Sep-2021
    • (2020)Verifying and improving Halide’s term rewriting system with program synthesisProceedings of the ACM on Programming Languages10.1145/34282344:OOPSLA(1-28)Online publication date: 13-Nov-2020
    • (2020)Modeling black-box components with probabilistic synthesisProceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3425898.3426952(1-14)Online publication date: 16-Nov-2020
    • (2020)Fixing Code that Explodes Under Symbolic EvaluationVerification, Model Checking, and Abstract Interpretation10.1007/978-3-030-39322-9_3(44-67)Online publication date: 2020
    • (2018)Finding code that explodes under symbolic evaluationProceedings of the ACM on Programming Languages10.1145/32765192:OOPSLA(1-26)Online publication date: 24-Oct-2018

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media