Scienceworld.cz
PRO MOBIL
PRO MOBIL


KLASICKY
KLASICKY


Šachy: Neuronová síť místo hrubé síly

Matthew Lai z Imperial College London vyvinul nový šachový program Giraffe. Na rozdíl od většiny současných šachových algoritmů údajně nepracuje (primárně) hrubou silou, ale jako samoučící neuronová síť. Podobně jako člověk má při šachách uvažovat o obecných konceptech; přístup tedy spadá mezi metody umělé inteligence, i když bez propočtu variant se stroj samozřejmě neobejde.

Samoučící přístup se dle autora využívá jak při ladění hodnotící funkce, tak i při rozpoznávání vzorů. Zdokonalování hodnotící funkce se provádí učením od nejsilnějších současných algoritmů pracujících hrubou silou. Neustále se vylepšujícím napodobováním má systém extrahovat ze hry obecné zákonitosti. Na vývoji programu Giraffe se podíleli jak experti na počítačoví šach, tak i silní praktičtí šachisté.
Podobný přístup založený na neuronové síti se objevil prý už v 90. letech v podobě programu NeuroChess, který vyvinul Sebastian Thrun na univerzitě v Bonnu, oproti metodám s hrubou silou však program dokázal hodnotící funkci používat podstatně pomaleji a projekt víceméně neuspěl. Giraffe v současnosti dosáhla síly mezinárodního mistra, takže samotnou svou silou zatím též neohromuje. Nejlepší šachové programy typu brute force převyšují nejlepší lidské velmistry už rozdílem třídy.
Matthew Lai nicméně uvádí, že program namísto konstantního prohledávání do určité hloubky v každý okamžik vybírá nejlepší možnosti (včetně výběru podle „lidských tahů“ a rozpoznávání vzorů) a dál zkoumá až tyto. Proto dokáže počítat 10 až 123 tahů dopředu, přičemž to druhé je samozřejmě zcela mimo dosah počítání hrubou silou. Autor tvrdí, že Žirafa díky tomu dokáže porazit i mnohé podstatně rychlejší konkurenty pracující metodou hrubé síly, algoritmus je tedy mnohem méně závislý na výkonu hardwaru – a v tomto smyslu prý svého cíle již dosáhl.
Tolik web TheStack.com. Situaci je zde ovšem popsána poněkud nejasným a matoucím způsobem. Není totiž pravda, že programy založené na hrubé síle pracují do konstantní hloubky, a propočítávají tak stromeček všech možností až do n-tého tahu. Významnou částí „brute force“ šachových programů je ořezávání, při kterém se kusy neustále se větvícího stromu snažíme co nejrychleji zahazovat (přestat počítat „chyby“ – možnosti, které zhoršují hodnocení pozice, ať už za program, nebo za jeho soupeře), a ušetřit tak čas na hlubší propočet tam, kde to dává smysl. Ve „výsledných“ pozicích se pak ještě uplatňuje třeba i tzv. tiché dohledání, další zrychlení představuje princip nulového tahu, kdy se pozice na pár tahů prohledá, jako by první hrála druhá strana. O těchto metodách viz např. starší článek.

Výhodou neuronové sítě by mohlo být ani ne tak samotné ořezávání propočtu podle hodnocení průběžných pozic, ale rozpoznávání vzorů. Asi podobně, jako jako když člověk pozici posuzuje podle její geometrie, ať už jde o izolovaného pěšce, sedmou řadu, pevnost nebo nemožnost rozmotat figury (nešachistům se za tyto termíny omlouvám). S takovými koncepty současné šachové motory příliš nepracují. Právě zde se asi skrývá i jedna z příčin, proč programy pro Go nedosahují nad člověkem na rozdíl od šachů zatím dominance: V Go totiž hraje rozpoznávání vzorů větší roli než v šachách, respektive není tak snadno nahraditelné hrubou výpočetní silou.

Zdroj: TheStack.com, Arxiv.org

Upravená verze vyšla článku v Šachovém týdeníku 40-41/2015. (Pražská šachová společnost)

autor Pavel Houser


 
 
Nahoru
 
Nahoru