Proof-number search based solver for the Sprouts game
Řešič pro hru Sprouts založený na algoritmu Proof-number search
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/193538Identifiers
Study Information System: 257137
Collections
- Kvalifikační práce [11326]
Author
Advisor
Consultant
Balko, Martin
Referee
Majerech, Vladan
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science - Artificial Intelligence
Department
Department of Applied Mathematics
Date of defense
10. 9. 2024
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
Sprouts|Nestranné hry|Proof-number search|Paralelní výpočtyKeywords (English)
Sprouts|Impartial games|Proof-number search|Parallel computingSprouts, hra pro dva hráče vytvořená Johnem Conwayem a Michaelem Patersonem, začíná s n počátečními body, které hráči střídavě spojují podle jednoduchých pravidel. Ač- koli byla hra navržena tak, aby byla výpočetně náročná, podařilo se ji vyřešit pro některé hodnoty n, což vedlo ke známé Sprouts domněnce, podle které má první hráč vítěznou strategii právě tehdy, když n je 3, 4 nebo 5 modulo 6. K ověření této domněnky pro nové hodnoty n vylepšíme nejsilnější dostupný řešič Glop zavedením nové dobře škálovatelné paralelní varianty Proof-number search přizpůsobené pro NAND stromy s Grundyho čísly používající teorii nestranných her. Naše metoda dosahuje výrazně lepšího škálování oproti současným technikám, což umožňuje její použití na velkých výpočetních clusterech, čímž úspěšně řeší problém představený Kishimotem et al. Výsledný řešič je zhruba 3 000krát rychlejší než Glop, což nám umožňuje ověřit Sprouts domněnku pro 87 hodnot n, čímž téměř zdvojnásobujeme dříve ověřený počet, a to navzdory exponenciálnímu růstu herních stromů.
Sprouts, a two-player game by John Conway and Michael Paterson, starts with n initial spots that players alternately connect according to simple rules. Although designed to be computationally challenging, Sprouts was solved for certain values of n, leading to the famous Sprouts conjecture stating that the first player has a winning strategy if and only if n equals 3, 4, or 5 modulo 6. To tackle this conjecture with new values of n, we enhance the state-of-the-art solver Glop by introducing a new well-scaling parallel variant of Proof-number search, adapted for NAND trees with Grundy numbers using impartial game theory. Our method achieves superior scaling efficiency over current techniques, making it usable on large computational clusters, successfully addressing a problem posed by Kishimoto et al. The resulting solver is roughly 3,000 times faster than Glop, enabling us to verify the Sprouts conjecture for 87 values of n, almost doubling the previously verified number despite the exponential growth rate of game trees.