Massively Parallel Proof-Number Search for Impartial Games and Beyond

📅 2025-11-13
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing parallel Proof-Number Search (PNS) algorithms exhibit poor scalability on multicore systems, failing to harness the potential of large-scale CPU clusters. To address this, we propose the first scalable PNS algorithm capable of efficient execution on thousand-core systems. Our approach introduces a two-level parallel architecture that integrates lightweight inter-worker information sharing with Grundy-number-based pruning optimization. This marks the first realization of highly scalable, efficient PNS in distributed shared-memory environments. Evaluated on 1,024 cores, our implementation achieves a 332.9× speedup over sequential PNS; its solving efficiency surpasses that of GLOP by four orders of magnitude. Moreover, it increases proof complexity by a factor of 1,000 and successfully verifies 42 previously unsolved Sprouts game positions—significantly advancing the practical frontier of automated fair-game solving.

Technology Category

Application Category

📝 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$ imes$ 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$ imes$ 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.
Problem

Research questions and friction points this paper is trying to address.

Scaling Proof-Number Search efficiently across many CPU cores
Reducing game tree complexity using Grundy numbers in Sprouts
Verifying the Sprouts Conjecture for unsolved game positions
Innovation

Methods, ideas, or system contributions that make the work stand out.

Two-level parallelization with shared worker information
Grundy number enhancement for game tree reduction
Massively scalable Proof-Number Search on 1024 cores
🔎 Similar Papers
No similar papers found.