Skip to main content

Abstract

Games have simple, fixed rules as well as clear results such as win, draw, or loss. However, developing algorithms for solving games has been a difficult challenge in Artificial Intelligence, because of the combinatorial complexity that the algorithms must tackle.

This chapter presents an overview of successful approaches and results accomplished thus far on game solving. Conducting tree search is a standard way to solve games and game positions. Remarkable progress has been made in developing efficient search algorithms over the last few decades. The chapter describes several standard techniques including αβ search, proof-number search, and endgame databases.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 699.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 949.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

Recommended Reading

  • L.V. Allis, A Knowledge-Based Approach of Connect Four: The Game is Over, White to Move Wins. Master’s thesis, Vrije Universiteit Amsterdam, Amsterdam, 1988. Report No. IR-163

    Google Scholar 

  • L.V. Allis, Searching for Solutions in Games and Artificial Intelligence. PhD thesis, University of Limburg, Maastricht, 1994

    Google Scholar 

  • L.V. Allis, M. van der Meulen, H.J. van den Herik, Proof-number search. Artif. Intell. 66(1), 91–124 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  • L.V. Allis, M.P.H. Huntjes, H.J. van den Herik, Go-moku solved by new search techniques. Comput. Intell. 12(1), 7–23 (1996)

    Article  Google Scholar 

  • V. Anshelevich, A hierarchical approach to computer Hex. Artif. Intell. 134(1–2), 101–120 (2002)

    Article  MATH  Google Scholar 

  • B. Arneson, R.B. Hayward, P. Henderson, Solving Hex: beyond humans, in Computers and Games 2010, ed. by H.J. van den Herik, H. Iida, A. Plaat. Lecture Notes in Computer Science (LNCS), vol. 6515 (Springer, Berlin, 2011), pp. 1–10

    Chapter  Google Scholar 

  • D. Beal, M.C. Smith, Multiple probes of transposition tables. ICCA J. 19(4), 227–233 (1996)

    Google Scholar 

  • R. Bellman, On the application of dynamic programming to the determination of optimal play in chess and checkers. Proc. Natl. Acad. Sci. U. S. A. 53, 244247 (1965)

    MathSciNet  MATH  Google Scholar 

  • D.M. Breuker, Memory Versus Search in Games. PhD thesis, Universiteit Maastricht, Maastricht, 1998

    Google Scholar 

  • M. Campbell, The graph-history interaction: on ignoring position history, in Proceedings of the 1985 ACM Annual Conference on the Range of Computing: Mid-80’s Perspective, (ACM, New York, 1985). pp. 278–280

    Google Scholar 

  • M. Campbell, A.J. Hoane Jr., F. Hsu, Deep Blue. Artif. Intell. 134(1–2), 57–83 (2002)

    Article  MATH  Google Scholar 

  • T. Cazenave, A generalized threats search algorithm, in Computers and Games 2002, ed. by J. Schaeffer, M. Müller, Y. Björnsson. Lecture Notes in Computer Science (LNCS) (Springer, Heidelberg, 2002), pp. 75–87

    Google Scholar 

  • A. de Bruin, W. Pijls, A. Plaat, Solution trees as a basis for game tree search. ICCA J. 17(4), 207–219 (1994)

    Google Scholar 

  • R. Gasser, Solving Nine Men’s Morris, in Games of No Chance, ed. by R.J. Nowakowski. MSRI Publications, vol. 29 (Cambridge University Press, Cambridge, 1996), pp. 101–113

    Google Scholar 

  • R. Greenblatt, D. Eastlake, S. Croker, The Greenblatt chess program, in Proceedings of the Fall Joint Computer Conference, 1967, pp. 801–810. Reprinted (1988) in Computer Chess Compendium, ed. by D.N.L. Levy (Batsford, London), pp. 56–66

    Google Scholar 

  • P. Henderson, B. Arneson, R.B. Hayward, Solving 8 × 8 Hex, in Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI’09), ed. by C. Boutilier (AAAI Press, Pasadena, 2009), pp. 505–510

    Google Scholar 

  • T. Kaneko, Parallel depth first proof number search, in Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, (AAAI’10), ed. by M. Fox, D. Poole (AAAI Press, Menlo Park, 2010), pp. 95–100

    Google Scholar 

  • Y. Kawano, Using similar positions to search game trees, in Games of No Chance, ed. by R.J. Nowakowski. MSRI Publications, vol. 29 (Cambridge University Press, Cambridge, 1996), pp. 193–202

    Google Scholar 

  • A. Kishimoto, Dealing with infinite loops, underestimation, and overestimation of depth-first proof-number search, in Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, (AAAI’10), ed. by M. Fox, D. Poole (AAAI Press, 2010)

    Google Scholar 

  • A. Kishimoto, M. Müller, About the completeness of depth-first proof-number search, in Computers and Games 2008, ed. by H.J. van den Herik, X. Xu, Z. Ma, M.H.M. Winands. Lecture Notes in Computer Science, vol. 5131 (Springer, Heidelberg, 2008), pp. 146–156

    Google Scholar 

  • A. Kishimoto, M. Müller, Df-pn in Go: an application to the one-eye problem, in Advances in Computer Games 10 (ACG’03): Many Games, Many Challenges, ed. by H.J. van den Herik, H. Iida, E.A. Heinz (Kluwer, Boston, 2003), pp. 125–141

    Google Scholar 

  • A. Kishimoto, M. Müller, Search versus knowledge for solving life and death problems in Go, in Proceedings of the 20th National Conference on Artificial Intelligence (AAAI’05), ed. by M.M. Veloso, S. Kambhampati (AAAI Press/MIT Press, Menlo Park, 2005), pp. 1374–1379

    Google Scholar 

  • A. Kishimoto, M. Winands, M. Müller, J.-T. Saito, Game-tree search using proof numbers: the first twenty years. ICGA J. 35(3), 131–156 (2012)

    Article  Google Scholar 

  • D.E. Knuth, R.W. Moore, An analysis of alpha-beta pruning. Artif. Intell. 6(4), 293–326 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  • R. Lake, J. Schaeffer, P. Lu, Solving large retrograde analysis problems using a network of workstations. Advances in Computer Games 7, 135–162 (1994)

    Google Scholar 

  • T. Lincke, Exploring the Computational Limits of Large Exhaustive Search Problems. PhD thesis, ETH Zürich, 2002

    Google Scholar 

  • T. Marsland, A review of game-tree pruning. ICCA J. 9(1), 3–19 (1986)

    Google Scholar 

  • A. Nagai, A new depth-first-search algorithm for AND/OR trees. Master’s thesis, The University of Tokyo, Tokyo, 1999

    Google Scholar 

  • A. Nagai, Df-pn Algorithm for Searching AND/OR trees and its Applications. PhD thesis, The University of Tokyo, 2002

    Google Scholar 

  • J. Nash, Some games and machines for playing them. Technical Report D-1164, Rand Corp., 1952

    Google Scholar 

  • A.J. Palay, Searching with Probabilities. PhD thesis, Carnagie Mellon University, 1983

    Google Scholar 

  • J. Pawlewicz, R. Hayward, Scalable parallel depth first proof number search, in Computers and Games (CG 2013), vol. 8427. Lecture Notes in Computer Science (Springer, 2014), pp. 138–150

    Google Scholar 

  • J. Pawlewicz, L. Lew, Improving depth-first pn-search: 1+ε trick, in Proceedings of the 5th Computers and Games Conference (CG’06), ed. by H.J. van den Herik, P. Ciancarini, H.H.L.M. Donkers. Lecture Notes in Computer Science, vol. 4630 (Springer, Heidelberg, 2007), pp. 160–170

    Google Scholar 

  • J. Pearl, Heuristics: Intelligent Search Strategies for Computer Problem Solving (Addison-Wesley, Reading, 1984)

    Google Scholar 

  • J.W. Romein, H. Bal, Solving the game of Awari using parallel retrograde analysis. IEEE Comput. 36(10), 26–33 (2003)

    Article  Google Scholar 

  • A. Saffidine, T. Cazenave, Developments on product propagation. in Computer Games 2013, vol. 8427. Lecture Notes in Computer Science, 2013, pp. 100–109

    Google Scholar 

  • J. Schaeffer, The history heuristic and alpha-beta search enhancements in practice. IEEE Trans. Pattern Anal. Mach. Intell. 11(1), 1203–1212 (1989)

    Article  Google Scholar 

  • J. Schaeffer, Y. Björnsson, N. Burch, R. Lake, P. Lu, S. Sutphen, Building the checkers 10-piece endgame databases, in Advances in Computer Games 10: Many Games, ed. by H.J. van den Herik, H. Iida, E.A. Heinz. (Kluwer, Boston, 2003), pp. 193–210

    Google Scholar 

  • J. Schaeffer, N. Burch, Y. Björnsson, A. Kishimoto, M. Müller, R. Lake, P. Lu, S. Sutphen, Checkers is solved. Science 317(5844), 1518–1522 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  • M. Seo, On effective utilization of dominance relations in tsume-shogi solving algorithms, in Proceedings of the 8th Game Programming Workshop, 1999, pp. 137–144 (in Japanese)

    Google Scholar 

  • M. Seo, H. Iida, J.W.H.M. Uiterwijk, The PN*-search algorithm: Application to tsume shogi. Artif. Intell. 129(1–2), 253–277 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  • D.J. Slate, L.R. Atkin, Chapter 4. Chess 4.5 – Northwestern University chess program, in Chess Skill in Man and Machine, ed. by P.W. Frey (Springer, New York, 1977), pp. 82–118

    Google Scholar 

  • J. Song, M. Müller, An enhanced solver for the game of Amazons, 2014, in Accepted for IEEE Transactions on Computational Intelligence and AI in Games (TCIAIG), 12 pp

    Google Scholar 

  • D. Stern, R. Herbrich, T. Graepel, Learning to solve game trees, in Proceedings of the 24th International Conference of Machine Learning (ICML), 2007, pp. 839–846

    Google Scholar 

  • K. Thompson, Retrograde analysis of certain endgames. ICCA J. 9(3), 131–139 (1986)

    Google Scholar 

  • T. Thomsen, Lambda-search in game trees – with application to Go. ICGA J. 23(4), 203–217 (2000)

    Google Scholar 

  • Y. Tsuruoka, D. Yokoyama, T. Chikayama, Game-tree search algorithm based on realization probability. ICGA J. 25(3), 132–144 (2002)

    Google Scholar 

  • E.C.D. van der Werf, H.J. van den Herik, J.W.H.M. Uiterwijk, Solving Go on small boards. ICGA J. 26(2), 92–107 (2003)

    Google Scholar 

  • M.H.M. Winands, J.W.H.M. Uiterwijk, H.J. van den Herik, An effective two-level proof-number search algorithm. Theor. Comput. Sci 313(3), 511–525 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  • M.H.M. Winands, Y. Björnsson, J.-T. Saito, Monte-Carlo tree search solver, in Proceedings of the 6th Computers and Games Conference (CG’08), ed. by H.J. van den Herik, X. Xu, Z. Ma, M.H.M. Winands. Lecture Notes in Computer Science, vol. 5131 (Springer, Berlin, 2008), pp. 25–36

    Google Scholar 

  • T. Wolf, The program GoTools and its computer-generated tsume Go database, in 1st Game Programming Workshop in Japan (Hakone), 1994

    Google Scholar 

  • K. Yoshizoe, A. Kishimoto, M. Müller, Lambda depth-first proof number search and its application to Go, in Proceedings of the 20th International Joint Conference on Artificial Intelligence (IJCAI-07), ed. by M.M. Veloso (2007), Morgan Kaafmann, San Francisco, pp. 2404–2409

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Akihiro Kishimoto .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer Science+Business Media Singapore

About this entry

Cite this entry

Kishimoto, A., Mueller, M. (2017). Game Solvers. In: Nakatsu, R., Rauterberg, M., Ciancarini, P. (eds) Handbook of Digital Games and Entertainment Technologies. Springer, Singapore. https://doi.org/10.1007/978-981-4560-50-4_35

Download citation

Publish with us

Policies and ethics