Table of Contents
Fetching ...

Massively Parallel Proof-Number Search for Impartial Games and Beyond

Tomáš Čížek, Martin Balko, Martin Schmid

TL;DR

This paper tackles the challenge of scaling Proof-Number Search to massively parallel distributed systems for impartial games, using Sprouts as a benchmark. It introduces PNS-PDFPN, a two-level parallel framework that shares intermediate results, and extends PNS/DFPN with Grundy numbers to exploit impartial-game structure. The work demonstrates substantial speedups on up to 1024 cores (208.6× baseline, up to 332.97× with Grundy-number synchronization) and achieves state-of-the-art results in Sprouts, solving 42 new positions and producing proofs far beyond prior capability. The findings indicate a domain-agnostic approach to large-scale game solving with potential extensions to other combinatorial domains and RL-informed search strategies, while keeping Sprouts conjecture open.

Abstract

Proof-Number Search is a best-first search algorithm with many successful applications, especially in game solving. As large-scale computing clusters become increasingly accessible, parallelization is a natural way to accelerate computation. However, existing parallel versions of Proof-Number Search are known to scale poorly on many CPU cores. Using two parallelized levels and shared information among workers, we present the first massively parallel version of Proof-Number Search that scales efficiently even on a large number of CPUs. We apply our solver, enhanced with Grundy numbers for reducing game trees, to the Sprouts game, a case study motivated by the long-standing Sprouts Conjecture. Our solver achieves a significantly improved 332.9$\times$ speedup when run on 1024 cores, enabling it to outperform the state-of-the-art Sprouts solver GLOP by four orders of magnitude in runtime and to generate proofs 1,000$\times$ more complex. Despite exponential growth in game tree size, our solver verified the Sprouts Conjecture for 42 new positions, nearly doubling the number of known outcomes.

Massively Parallel Proof-Number Search for Impartial Games and Beyond

TL;DR

This paper tackles the challenge of scaling Proof-Number Search to massively parallel distributed systems for impartial games, using Sprouts as a benchmark. It introduces PNS-PDFPN, a two-level parallel framework that shares intermediate results, and extends PNS/DFPN with Grundy numbers to exploit impartial-game structure. The work demonstrates substantial speedups on up to 1024 cores (208.6× baseline, up to 332.97× with Grundy-number synchronization) and achieves state-of-the-art results in Sprouts, solving 42 new positions and producing proofs far beyond prior capability. The findings indicate a domain-agnostic approach to large-scale game solving with potential extensions to other combinatorial domains and RL-informed search strategies, while keeping Sprouts conjecture open.

Abstract

Proof-Number Search is a best-first search algorithm with many successful applications, especially in game solving. As large-scale computing clusters become increasingly accessible, parallelization is a natural way to accelerate computation. However, existing parallel versions of Proof-Number Search are known to scale poorly on many CPU cores. Using two parallelized levels and shared information among workers, we present the first massively parallel version of Proof-Number Search that scales efficiently even on a large number of CPUs. We apply our solver, enhanced with Grundy numbers for reducing game trees, to the Sprouts game, a case study motivated by the long-standing Sprouts Conjecture. Our solver achieves a significantly improved 332.9 speedup when run on 1024 cores, enabling it to outperform the state-of-the-art Sprouts solver GLOP by four orders of magnitude in runtime and to generate proofs 1,000 more complex. Despite exponential growth in game tree size, our solver verified the Sprouts Conjecture for 42 new positions, nearly doubling the number of known outcomes.

Paper Structure

This paper contains 41 sections, 2 theorems, 27 equations, 11 figures, 3 tables.

Key Result

Theorem 1

Each posi-tion $P$ of an impa-rtial game under the normal play convention is equivalent to $\ast gn(P)$.

Figures (11)

  • Figure 1: Estimated game tree complexity of Sprouts (with and without Grundy numbers) compared to other games.
  • Figure 2: A scheme of a NAND tree with Grundy numbers. We use $C_1, \dots, C_m$ for the children of $P_k$ and , , for decomposable, atomic, and Grundy nodes, respectively, and for nodes that can be atomic or decomposable.
  • Figure 3: Performance of PNS implementations in GLOP and SPOTS and of DFPN($C$) in SPOTS on the 29-spot position, where $C$ is the capacity of the transposition table.
  • Figure 4: Comparison of PNS-PNS and PNS-DFPN, including the impact of retention of Grundy numbers (GN) in workers and their synchronization (GN Sync). All variants are run on the 29-spot position with 100 iterations, 100 updates, no grouping, and no second-level parallelization.
  • Figure 5: Impact of GN synchronization (GN Sync), grouping (Gr), second-level parallelization (Th), and the child-ordering heuristic (Hr) on the final speedup of PNS-PDFPN relative to DFPN($5 \cdot 10^7$), which computed for $293\pm41.7$ minutes. Measured on the 47-spot position.
  • ...and 6 more figures

Theorems & Definitions (3)

  • Theorem 1: The Sprague--Grundy Theorem
  • Theorem 2
  • proof : Proof of Theorem \ref{['thm-dfpn']}