Proof-number search based solver for the Sprouts game
Řešič pro hru Sprouts založený na algoritmu Proof-number search
diplomová práce (OBHÁJENO)

Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/193538Identifikátory
SIS: 257137
Kolekce
- Kvalifikační práce [11326]
Autor
Vedoucí práce
Konzultant práce
Balko, Martin
Oponent práce
Majerech, Vladan
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika - Umělá inteligence
Katedra / ústav / klinika
Katedra aplikované matematiky
Datum obhajoby
10. 9. 2024
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
Sprouts|Nestranné hry|Proof-number search|Paralelní výpočtyKlíčová slova (anglicky)
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.