Hazardní-Hry.eu
Hazardní hryZajímavosti › AlphaZero

AlphaZero: nejlepším šachistou světa za 4 hodiny!

V roce 1996 superpočítač DeepBlue porazil v zápase tehdejšího mistra světa v šachu Garriho Kasparova. Od té doby prošly počítačové šachy bouřlivým vývojem a šachové programy či „motory“ (engines), jak se také nazývají, dosáhly záhy takové úrovně, že dnes hravě porazí nejlepší šachisty světa.

Pro srovnání: nejsilnější šachový motor Stockfish, „mistr světa počítačů“, má rating kolem 3400 elo bodů, zatímco nejvyšší rating, jakého kdy člověk v šachu dosáhl, je 2872 elo bodů. Jeho držitelem je současný mistr světa Magnus Carlsen (z února 2013). Co se ale stane, když do světa šachu vstoupí Google?

Google a DeepMind na šachové scéně

Na začátku prosince 2017 se do světa šachu nesmazatelně zapsala společnost Google a její divize DeepMind, která vytvořila tzv. AlphaZero algoritmus na bázi umělé inteligence. Ten dokázal během 4 hodin (!!!) dosáhnout nejen nadlidské šachové síly, ale dokonce i porazit v současnosti nejlepší šachový motor Stockfish v zápase na 100 partii poměrem 28 výher, 0 proher, 72 remíz.

Pro zajímavost vědci odhadují, že abyste se stali mistrem v nějaké činnosti, vyžaduje to 10 000 hodin tréninku. Počítače to samozřejmě zvládnou rychleji, ale jak dostat do stroje během 4 hodin šachové vědomosti, které lidé sbírali 15 století (o vzniku šachu se traduje i pěkná legenda)?

Samoučící se algoritmus

Možná jste slyšeli o programu AlphaGo, který dokázal porazit světového šampiona v japonské hře go. Ta odolávala tlaku počítačů prakticky donedávna, tj. mnohem déle než šachy, kde už počítače dlouho dominují. Go má větší hrací plochu a mnohem více možných tahů, což nebylo/není jednoduché „podchytit“ ani pro nejsilnější počítače. Nový program AlphaGoZero dokonce předčil AlphaGo, a to tak, že se naučil hrát go pouze na základě her, kterého odehrál sám se sebou!

Spoluzakladatel divize DeepMind Demis Hassabis, kdysi zázračné šachové dítě, a jeho tým byli v pokušení aplikovat stejný algoritmus na šachy. To, že šachové motory nad lidmi dominují, lidé vědí již dlouho. Stále se ale mohli utěšovat pocitem, že šachové motory přece jen vytvořili lidé.

To se změnilo 5. prosince 2017, kdy byla vydána odborná práce „Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm“, jejíž název by se dal přeložit jako Dosažení mistrovství v šachu a shogi [japonské šachy] pomocí hry sám se sebou a posíleného učícího se algoritmu.

V abstraktu práce se, volně přeloženo, uvádí:

Šachy jsou jednou z nejvíce studovaných her na poli umělé inteligence. Síly nejsilnějších šachových programů je dosaženo kombinací sofistikovaných vyhledávacích technik, výpočetní síly i vyhodnocovacími funkcemi, které ladili šachoví experti a programátoři po dekády. Naproti tomu program AlphaGoZero nedávno dosáhl nadlidské výkonnosti ve hře go pomocí učícího se algoritmu, na základě her, které odehrál sám se sebou. V této práci jsme tento přístup zobecnili na obecný AlphaZero algoritmus, který, tabula rasa [doslova seškrabovací vosková psací tabule ze starého Říma, přeneseně „nepopsaný list papíru“], dokáže dosáhnout nadlidských výsledků v široké škále činností. Jediné, co je programu zadáno, jsou pravidla. Program začne hrát náhodně a učit se z dosažených výsledků. Během 24 hodin dosáhne nadlidské síly v šachu, shogi i go a přesvědčivě porazí mistry světa ve všech těchto hrách.

Celou práci si můžete stáhnout zde: https://cdn.chess24.com/GzFl-Z4-SVWO-mC9rL6XhQ/original/mastering-chess-and-shogi-by-self-play.pdf.

Neuronová síť a metoda Monte Carlo

Je naprosto pozoruhodné (jak uvádí i abstrakt k práci), že jediné, co program od počátku umí, jsou pravidla! O zbytek se postará umělá inteligence na bázi neuronové sítě, která používá metodu Monte Carlo, jenž je založena na statistických metodáchpravděpodobnosti. Algoritmus se učí z přechozích rozhodnutí (tahů) a výsledků, které přinesly, a vše neustále precizuje.

Nejsilnější „konvenční“ šachový motor Stockfish – který je mimochodem open source a můžete si jej zdarma stáhnout zde https://stockfishchess.org/ (potřebovat ale budete nějakou šachovou aplikaci jako je např. Fritz či obdobné produkty od společnosti Chessbase) – dokáže sice spočítat mnohem více variant, ale AlphaZero je vysoce selektivní – dokáže si vybrat lepší tah i s menším výpočetním výkonem.

Nadpozemské šachy: zápas AlphaZero vs. Stockfish

Deset ukázkových partií ze zápasu Alpha-Zero vs. Stockfish si můžete přehrát třeba na serveru chessgames.com. Například 9. partie (po kliknutí na odkaz si ji můžete rovnou přehrát) opravdu vypadá, jako kdyby přiletěl někdo z vesmíru a chtěl lidem ukázat, jak se u nich hrají šachy. Pozoruhodný je tah králem 16. K×d2 a manévr 17. Ke3 – program se nebojí ponechat krále v centru, kde je obvykle zranitelný, a dalekosáhlá poziční oběť figury 30. S×g6 a následné 32. f5, po které Stockfish považuje pozici za naprosto vyrovnanou.

AlphaZero-Stockfish 9. partie

Obrázek 1: 9. partie zápasu AlphaZero-Stockfish 2017 po 32. f5! (pěšcový průlom po oběti střelce na g6)

Skvělá je i 10. partie, kde AlphaZero opět pozičně obětuje figuru.

AlphaZero-Stockfish 10. partie

Obrázek 2: 10. partie zápasu AlphaZero-Stockfish 2017 po 19. Ve1! (nechává stát jezdce na h6)

Pro šachisty je také zajímavé, že se program naučil i zahájení, která lidé pilovali století a také to, jak se vyvíjely preference programu ve volbě zahájení s postupujícím časem. Program například při hře černými postupně ustoupil od francouzské obrany a Caro-Kannu (zřejmě proto, že bílý má prostorovou převahu, kterou má AlphaZero rád) a bílými začal upřednostňovat dámský gambit (1. d4) či anglickou hru (1. c4). Legendární mistr světa v šachu Bobby Fischer považoval za nejlepší tah královským pěšcem 1. e4, který byl podle něj „best by test“ – prověřen testem v praxi.

Dalším fantastickým poznatkem je, sic může být časem revidován, že se potvrdila „výhoda bílých figur“. Bílými hrál AlphaZero naprosto nekompromisně a dosáhl 25 výher a 25 remíz (úspěšnost 75 %), černými pouze 3 výhry a 47 remíz. Vypadá to, že možnost zahájit partii má opravdu velký význam (zvláště asi v případě silnějšího hráče). Možná větší než se soudilo a lehce v kontrastu s názorem, že na každý tah bílého „musí mít černý rovnovážný protitah“ – na druhou stranu tuto teorii podporuje to, že černými hrál AlphaZero prakticky neprůstřelně.

Mohlo by vás také zajímat

EN AlphaZero Algorithm: Mastering Chess in 4 Hours!.