In combinatorial games, the most fundamental question is: who wins? We develop a Minimax-based Combinatorial Game Solver (MCGS), which can efficiently answer this question for “short” game positions. MCGS is specialised for solving positions that consist of a sum of independent subgames. Given a first player, it can find the winner of a sum of games by search. The algorithms and data structures in MCGS take advantage of subgame structure. In contrast to previous approaches, MCGS avoids computing the canonical forms of combinatorial game theory, which can very quickly become a major bottleneck for answering win/loss questions. Search improvements based on minimax search techniques and on principles of combinatorial games greatly increase the efficiency of MCGS. After reviewing the background and some motivational examples, we introduce the methods used in MCGS, and show first computational results for popular combinatorial games such as Clobber and NoGo. MCGS strives for a balance, providing a game-independent general framework while supporting game-specific optimisations.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

MCGS: A Minimax-Based Combinatorial Game Solver

  • Taylor Folkersen,
  • Haoyu Du,
  • Martin Müller

摘要

In combinatorial games, the most fundamental question is: who wins? We develop a Minimax-based Combinatorial Game Solver (MCGS), which can efficiently answer this question for “short” game positions. MCGS is specialised for solving positions that consist of a sum of independent subgames. Given a first player, it can find the winner of a sum of games by search. The algorithms and data structures in MCGS take advantage of subgame structure. In contrast to previous approaches, MCGS avoids computing the canonical forms of combinatorial game theory, which can very quickly become a major bottleneck for answering win/loss questions. Search improvements based on minimax search techniques and on principles of combinatorial games greatly increase the efficiency of MCGS. After reviewing the background and some motivational examples, we introduce the methods used in MCGS, and show first computational results for popular combinatorial games such as Clobber and NoGo. MCGS strives for a balance, providing a game-independent general framework while supporting game-specific optimisations.