AlphaZero: Revoluce šachového programu a nástup umělé inteligence

Společnost Deep Mind před dvěma roky vyvinula program AlphaZero nikoli kvůli rozvoji šachů, ale umělé inteligence na základě samoučících se neuronových sítí. Uvědomí si umělá inteligence sama sebe, nebo to je jen strašidlo sci-fi spisovatelů a některých vědců?

Umělá inteligence. | na serveru Lidovky.cz | aktuální zprávy Umělá inteligence. | foto: Ilustrace Richard CortésČeská pozice
Umělá inteligence.

Počítačové programy doprovázejí šachisty již půlstoletí a uplynulých 20 let si bez nich žádný šachový profesionál nedovede představit přípravu. Postupně to byly desítky stále lepších a silnějších, ale velmi podobných šachových softwarů. Před dvěma roky přišla radikální změna. Natolik radikální, že ji nečekal ani bývalý šachový mistr světa a propagátor šachových programů a umělé inteligence Garri Kasparov.

Když v roce 2017 Kasparovovi vyšla kniha Deep Thinking: Where Machine Intelligence Ends (Hluboké myšlení. Kde strojová inteligence končí) sotva tušil, že již za rok bude zastaralá, protože společnost DeepMind s šachovým softwarem AlphaZero převrátí jeho představy naruby. O své prohře s počítačem Deep Blue Kasparov napsal:

„Místo počítače, který by přemýšlel a hrál šachy jako člověk, s lidskou kreativitou a intuicí, máme stroj, který systematicky vyhodnocuje 200 milionů možných tahů za sekundu a vyhrává díky této brutální výpočetní síle. Tím nechci nijak snižovat výkon Deep Blue, ale byl to lidský výkon. Člověk zápas prohrál, ale lidé na druhé straně jej vyhráli.“ A Kasparov knihu končí větou: „Máme schopnosti, které stroje nemohou vyrovnat. Mají příkazy, dle kterých pracují, ale my máme účel.“

Nejsilnější na světě

To byla pravda ještě před třemi roky, ale pak přišel program AlphZero na bázi samoučících se neuronových sítí, který se šachy naučil sám. Měl zadaná jen pravidla, co jsou legální tahy, a co je účel hry (co znamená vyhrát), a pak se již hraním sám se sebou vše naučil sám. A začal porážet všechny. Do té doby nejlepší šachový program světa Stockfish s ním prohrál rozdílem třídy a nejlepší velmistři světa se snaží od AlphaZero učit a inspirovat se jeho hrou.

Na rozdíl od všech svých předchůdců, jako byli Fritz, Rybka, Stockfish či Houdini, je AlphaZero založen na samoučících se neuronových sítích. Žádný programátor nevysvětloval AlphaZero základy šachové strategie, nikdo neladil jeho algoritmy hodnocení pozic, ani do něj nevložili databázi zahájení a databázi koncovek. Prostě mu zadali pravidla a nechali ho hrát miliony partií sám proti sobě. A za několik hodin tohoto sebeučení se z AlphaZero stal nejsilnější šachový program na světě.

Jak AlphaZero změnil styl mistra světa Magnuse Carlsena, je obálkovým tématem posledního loňského čísla nejprestižnějšího šachového časopisu světa. Carlsenův sekundant Peter Heine Nielsen v New In Chess detailně popisuje, jaký vliv měl šachový program AlphaZero na hru mistra světa, jak se díky inspiraci tímto softwarem za uplynulý rok radikálně změnila. Šachové motory doprovázejí Carlsena prakticky od narození a již více než deset let je jejich výkonnost výrazně nad ratingem nejlepších šachistů světa. Co je na AlphaZero speciálního?

Na rozdíl od všech svých předchůdců, jako byli Fritz, Rybka, Stockfish či Houdini, je AlphaZero založen na samoučících se neuronových sítích. Žádný programátor nevysvětloval AlphaZero základy šachové strategie, nikdo neladil jeho algoritmy hodnocení pozic, ani do něj nevložili databázi zahájení a databázi koncovek.

Prostě mu zadali pravidla a nechali ho hrát miliony partií sám proti sobě. A za několik hodin tohoto sebeučení se z AlphaZero stal nejsilnější šachový program na světě. Navíc jeho herní styl mnohem více připomíná ten lidí a mnohem méně počítačů. Je agresivní, nebojí se obětovat materiál za aktivitu a jeho hlavní strategií útok na soupeřova krále.

Kempelen, Turing a Botvinnik

Historie šachových programů, odhlédneme-li od podvodů, jako byl Kempelenův automat Šachový Turek z roku 1770, začíná v roce 1950. Tehdy Američan Claude Shannon (1916–2001), otec teorie informace a zakladatel teorie digitálních elektrických obvodů, zveřejnil článek Programming a Computer for Playing Chess (Programování počítače pro šachovou hru). Na něho navázal britský kryptoanalitik a zakladatel moderní informatiky Alan Turing (1912–1954), který v roce 1951 napsal algoritmus, jenž měl počítačům budoucnosti umožnit hrát šachy.

První velký zlom přišel až v polovině osmdesátých let, kdy už byly k dispozici počítače i šachové programy a konalo se první mistrovství světa šachových programů

V polovině 20. století takový hardware nebyl ještě k dispozici. Programování se věnoval i šachový mistr světa Michail Botvinnik (1911–1995), jenž se mnoho let pokoušel navrhnout silný šachový software. První velký zlom přišel až v polovině osmdesátých let, kdy už byly k dispozici počítače i šachové programy a konalo se první mistrovství světa šachových programů. Tehdy – v roce 1974 ve Švédsku – soupeřilo 13 šachových programů, ještě nepříliš dobré šachové úrovně. Podívejme se na partii Kaissy, vítěze tohoto mistrovství světa.

Kaissa – Chaos

MS počítačů 1974

1.e4 c5 2.Jf3 Jc6 3.c3 d5 4.exd5 Dxd5 5.d4 Sg4 6. Se2 e6 7.0-0 Jf6 8.Se3 cxd4 9.Sxd4?! Smysl dávalo sebrat na d4 pěšcem nebo jezdcem.

9...e5? Taktické přehlédnutí, dnes už zcela nepředstavitelné u počítačů...

Šachy, diagram 1

10.h3? Ovšem bílým nepotrestáno. Ani Kaissa neviděla, že může snadno získat pěšce 10.Jxe5 Jxe5 11.Sxe5 Dxe5 12.Sxg4.

10...exd4 11.hxg4 Sd6 12.cxd4 Jxg4 13.Jc3 Dh5 14.g3

Šachy, diagram 2

A nyní přijde neuvěřitelně hloupý tah Chaosu...

14...Kd7? Po normálním 14...0-0, což by zahrál i začátečník, by pozice byla vyrovnaná. Takto černý kvůli odhalenému králi v centru stojí na prohru. A Kaissa partii dovedla k vítěznému konci, byť rozhodně ne bezchybně.

15.Jh4 f5 16.d5 Jce5 17.Dc2 Vhf8 18.Sd3 Jxd3 19.Dxd3 Vae8 20.Jb5 f4 21.Jxd6 Kxd6 22.Da3+ Kc7 23.Dxa7 Df7 24.Vfc1+ Kd6 25.Dc5+ Ke5 26.d6+ Ke6 27.Ve1+ Je3 28.gxf4 Dd7 29.f5+ Kf6 30.Vxe3 Vd8 31.Ve7 Da4 32.De5+ Kg5 33.Jf3+ Kg4 34.Vxg7+ Kh5 35.Dh2+ Dh4 36.Dxh4# 1-0

Deep Blue – začátek konce

O deset let později přišly mikropočítače a zlepšoval se i šachový software, dosáhl úrovně zhruba 1800 elo. Od poloviny osmdesátých let, kdy šachové programy hrály na úrovni druhé výkonnostní třídy – porážely nesoutěžní hráče, ale neměly šanci proti profesionálům –, šel jejich vývoj spolu s vývojem informačních technologií rychle kupředu. Za dalších deset let (v roce 1997) porazil IBM Deep Blue tehdejšího mistra světa a světovou ratingovou jedničku Garriho Kasparova a za dalších deset let přestalo mít soupeření lidí a počítačů smysl.

Stejně jako dnes nikoho nenapadne, že by měl Usain Bolt závodit v běhu na sto metrů s motorkou, nikoho ani nenapadne organizovat zápas člověka s počítačem

Několik let se ještě zkoušely partie, ve kterých počítač proti velmistrovi začínal s pěšcem, dvěma pěšci či kvalitou méně, a když navzdory tomuto handicapu vyhrál stroj, přestalo se s tímto soutěžením. Stejně jako dnes nikoho nenapadne, že by měl Usain Bolt závodit v běhu na sto metrů s motorkou, nikoho ani nenapadne organizovat zápas člověka s počítačem. Podívejme se nyní na historickou partii, kterou nejlepší šachista světa prohrál s počítačovým programem.

IBM Deep Blue – Kasparov

New York 1997

1.e4 c6 2.d4 d5 3.Nc3 dxe4 4.Nxe4 Nd7 5.Ng5 Ngf6 6.Bd3 e6 7.N1f3 h6

Šachy, digram 3.

8.Nxe6! Po partii Kasparov obvinil společnost IBM z podvodu. Tvrdil, že počítač by sám tuto oběť nikdy nezahrál a že mu museli poradit lidé velmistři v zákulisí. Jiní naopak obviňovali Kasparova, že zápas prohrál schválně, protože měl vsazeno na růst akcií IBM.

8...Qe7 9.0-0 fxe6 10.Bg6+ Kd8 11.Bf4 b5 12.a4 Bb7 13.Re1 Nd5 14.Bg3 Kc8 15.axb5 cxb5 16.Qd3 Bc6 17.Bf5 exf5 18.Rxe7 Bxe7 19.c4 1–0

Prohra Stockfishe

Kvůli představě rozdílu mezi silou šachistů lidí a šachových počítačových programů uvedu ratingové srovnání: Začínající šachista má rating 1000 elo, hráč třetí výkonnostní třídy 1600 elo, silný klubový hráč první výkonnostní třídy 2000 elo, mezinárodní mistr 2400 elo, nejlepší český šachista David Navara 2717 elo (aktuálně 30. místo na světovém žebříčku), jeho soupeř z červnového pražského zápasu a aktuální světová trojka Ding Liren 2805 elo a mistr světa a světová jednička Magnus Carlsen 2872 elo.

A teď křemíková monstra. Stockfish, nejlepší šachový software až do roku 2017, má rating více než 3500 elo. Proti takovému silnému, lidmi naprogramovanému počítačovému programu nastoupila na konci roku umělá inteligence – program AlphaZero, který se šachy naučil sám. A jak skončil jejich zápas na 100 partií? AlphaZero vyhrál 28 partií a žádnou neprohrál, svého soupeře deklasoval rozdílem třídy.

Stockfish, nejlepší šachový software až do roku 2017 vyhodnocuje 70 milionů pozic za sekundu, zatímco AlphaZero jen 80 tisíc pozic. Propočítává tedy o tři řády méně pozic, ale hraje řádově lépe. Jak je to možné? To zatím nevíme, protože nám to AlphaZero neumí říct.

Přitom Stockfish vyhodnocuje 70 milionů pozic za sekundu, zatímco AlphaZero jen 80 tisíc pozic. Propočítává tedy o tři řády méně pozic, ale hraje řádově lépe. Jak je to možné? To zatím nevíme, protože nám to AlphaZero neumí říct. Nevíme, jaké algoritmy si nastavil, jak přemýšlí. Známe jen jeho partie, ale nevíme, na základě jaké „úvahy“ se rozhodl pro daný tah, což v budoucnu může být jinak.

Demis Hassabis, šéf společnosti Deep Mind, tvůrce AlphaZero, říká: „Pokoušíme se naprogramovat analytické a vizualizační nástroje, které by nám mohly nabídnout vhled do těchto systémů umělé inteligence. Ukázat nám, podle čeho a jak se rozhodují, umožnit nám lépe pochopit, jaké faktory při svém rozhodování zvažují.“

Než se budeme věnovat tomu, jak hraje AlphaZero, podívejme se na partii Stockfishe s Houdinim ze superfinále TCEC 2018, jež měla předepsané zahájení – prvních jedenáct tahů se hrálo podle zajímavé ideje ruského velmistra Davida Bronštejna (1924–2006), v níž černý v královské indické obětuje dámu za dvě lehké figury a dva pěšce.

Stockfish – Houdini

TCEC – Superfinále 2018

1.d4 Jf6 2.c4 g6 3.Jc3 Sg7 4.e4 d6 5.f3 0-0 6.Se3 e5 7.d5 Jh5 8.Dd2 Dh4+ 9.g3 Jxg3 10.Df2 Jxf1 11.Dxh4 Jxe3

Šachy, diagram 4.

12.Df2 Jxc4 13.h4 h5 14.De2 Jb6 15.Jb5 Ja6 Bílý každým tahem něčím hrozí a černý má problém vyvinout své figury a zkoordinovat je. Tahem h4 donutil bílý černého k tahu h5, takže nyní již nemůže doufat v tradiční postup v královské indické spojený s tahem f5, protože pěšec g6 a jeho král by byly velmi slabí. Tahem De2 zahnal jezdce na neperspektivní pole b6 a tahem Jb5 napadl pěšce c7, čímž donutil černého posadit druhého jezdce na ještě horší pole a6.

16.Jh3 Sh6 17.a4 Sxh3 18.Vxh3 Jd7 19.a5 Jdc5 20.Dc4 f5 21.Kf1 Naivní 21.b4? by možná před 40 lety zahrály Kaissa či Chaos a po 21...Jxb4 22.Dxb4?? Jd3+ by ztratily dámu.

21...fxe4 22.b4 Jd7 23.Jc3! Nádherný tah. Bílý dá dva pěšce za nádherné místo pro svého jezdce na poli e4.

23...exf3 24.Je4 Jf6 25.b5 Jc5 26.Jxc5 dxc5 27.d6+ Kh7 28.dxc7 e4 29.Ve1 Vae8 30.Vxf3 Vc8 Nešlo 30...exf3 kvůli 31.Vxe8 Vxe8 32.Df7+ Sg7 33.Dxe8.

31.Vf2 Vxc7 32.Ke2 e3 33.Vf3 Sg7 34.Vef1 Vd7 35.Vd1 Ve7 36.Vf4 Je4 37.Vxe4 Vf2+ 38.Kxe3 Vef7

Šachy, diagram 5.

Do této pozice směřoval černý svým 36. tahem. Nyní hrozí jednotahový mat 39...V7f3#. Bílý ale uvolní místo pro úprk svého krále z matové sítě a přesvědčivě zvítězí.

39.Ve8! V7f3+ 40.Ke4 Vf4+ 41.Kd5 Vxc4 42.Kxc4 Vc2+ 43.Kd3 Va2 44.Ve7 Kh6 45.Vf1 c4+ 46.Kxc4 Va4+ 47.Kc5 Sd4+ 48.Kd5 Sc3 49.Vxb7 1-0

Hra génia

Jak se učil program AlphaZero? Nejprve prováděl náhodné tahy, jako když malé dítě zkouší hrát šachy – sice podle pravidel, ale nesmyslné. Za devět hodin hrál AlphaZero 44 milionů partií (tisíc za vteřinu) a postupně se zlepšil na úroveň vyšší než 3500 elo, což byl jeho soupeř Stockfish, kterého bezpečně porazil. Zkušený britský velmistr Mathew Saddler prozkoumal všechny dostupné partie AlphaZero, které mu jeho tvůrce – společnost Deep Mind – poskytl. Navíc si mohl nechat od AlphaZero analyzovat některé klíčové pozice, a tím více pochopit jeho styl.

Jak AlphaZero dle velmistra Saddlera hraje? Velmi aktivně, nebojí se obětovat materiál (klidně až tři pěšce) a je mnohem blíže lidskému stylu než lidmi naučené šachové programy. Saddler říká: „Když jsem testoval klíčové pozice standardními šachovými softwary, viděl jsem, že hodnocení AlphaZero je výrazně jiné a mnohem blíž lidskému citu pro pozice.“ Často se program AlphaZero liší od ostatních šachových programů v hodnocení a volbě tahu v pozicích, jež jsou dle tradičních programů zcela vyrovnané. I zde je jeho přístup k řešení pozice mnohem blíže lidskému než u Stockfische, Rybky či Fritze.

Jednou z příčin odlišných přístupů AlphaZero od ostatních křemíkových monster může být, že lidské algoritmy v tradičních programech hledají tah k co nejlepší výsledné pozici, a to i za cenu, že nejlepší možné tahy jeho soupeře lze snadno najít. Oproti tomu AlphaZero směřuje spíše k nejperspektivnější variantě z hlediska možné výhry než k pozici objektivně nejlepší.

Jednou z příčin odlišných přístupů AlphaZero od ostatních křemíkových monster může být, že lidské algoritmy v tradičních programech hledají tah k co nejlepší výsledné pozici, a to i za cenu, že nejlepší možné tahy jeho soupeře lze snadno najít. Oproti tomu AlphaZero směřuje spíše k nejperspektivnější variantě z hlediska možné výhry než k pozici objektivně nejlepší. Tedy k variantě, kdy se soupeř může splést, a proto výsledná pozice bude ještě lepší, než ta původně „objektivně nejlepší možná“.

Obzvlášť to je vidět v horších pozicích, ve kterých AlphaZero nehledá záchranu v „objektivně nejlepších tazích“, ale v hledání komplikací. Při výběru svého tahu nebere v úvahu jen nejlepší možnou variantu, ale více smysluplných. Řekněme, že počítá průměrné hodnocení výsledných pozic (nebere tedy v úvahu jen jednu pozici), takže nakonec nevybere tah, který by udržoval mírně horší pozici, ale po kterém se sice jeho pozice může ještě zhoršit i dramaticky zlepšit.

Obecně AlphaZero směřuje do pozic, které může jeho strana snadno hrát a nabízejí plejádu dobrých tahů (nejen snižuje riziko, že se splete, ale i komplikuje soupeři propočet možných pokračování), a pro jeho soupeře složité. Typicky, když je soupeřův král v nebezpečí a AlphaZero na něho může útočit.

Pro fajnšmekry

Pro aktivní šachisty je zajímavé podívat se detailně, jaká AlphaZero volí zahájení, a jak rozehrává střední hru. Kdo se nechce ponořit do těchto šachových detailů, může tuto část přeskočit. Nejprve zahájení. AlphaZero sice nemá k dispozici žádnou knihovnu zahájení, ale hraje jak podle lidmi po staletí vyvinuté teorie zahájení.

Jako bílý zahajuje 1.d4 (na dámskou indickou často a úspěšně hraje 4.g3) nebo 1.Jf3 s dalším 2.c4 a nikdy jinak! Tedy nikdy nezačíná ani tahem 1.e4, který je u šachistů nejpopulárnější, natož obskurními tahy, jako jsou 1.g4 či 1.b3. Jako černý na 1.e4 a na 1.c4 vždy odpovídá 2.e5 (tedy žádná francouzská 1...e6, Sicilská 1...c5 či Caro-Kan 1...c6 a o skandinávské 1...d5 či Aljechince 1...Jf6 ani nemluvě) a na 1.d4 nejčastěji staví Ragozinův systém (1...Jf6 2...e6 3...d5 4...Sb4).

AlphaZero zaměřuje své figury proti pozici soupeřova krále a snaží se držet svého krále mimo nebezpečí. Než oslabí pěšcovou strukturu před svým králem s cílem útoku na krále soupeřova či než zahájí křídelní útok, vždy nejprve vyjasní a stabilizuje situaci v centru šachovnice. Útok na krále také zahájí, když soupeřovy figury ztratí koordinaci. K útoku často používá postupu krajním pěšcem.

Jak se chová AlphaZero ve střední hře, respektive jaké vzorce v jeho hře identifikoval velmistr Saddler? Zaměřuje své figury proti pozici soupeřova krále a snaží se držet svého krále mimo nebezpečí. Než oslabí pěšcovou strukturu před svým králem s cílem útoku na krále soupeřova či než zahájí křídelní útok, vždy nejprve vyjasní a stabilizuje situaci v centru šachovnice. Útok na krále také zahájí, když soupeřovy figury ztratí koordinaci. K útoku často používá postupu krajním pěšcem.

Obecně bez rozpaků obětuje jednoho či dva pěšce i v úvodní fázi partie, aby si otevřel sloupce či diagonály proti soupeřovu králi. V útoku na krále často kombinuje tlak po sloupci s tlakem po diagonále. Rovněž se snaží i již ve střední hře omezit mobilitu soupeřova krále, přestože toho využije třeba až v koncovce.

Ve střední hře oblibuje pozice s různobarevnými střelci, ve kterých vede aktivní útočnou hru. Důraz klade na nalezení dobrého místa pro svého jezdce, za což klidně obětuje pěšce. Obvykle nespěchá s obsazením prvního volného sloupce svými věžemi, když si myslí, že se časem otevře sloupec jiný, užitečnější. Jeho častou strategií je zpasivnění některých soupeřových figur a následná výměna těch aktivních. Má-li horší pozici a musí se bránit, snaží se pozici co nejvíc zamotat a nabít taktikou.

Řešení problémů

Zajímavé je i to, proč společnost Deep Mind, jež patří impériu Google, šachový program AlphaZero vyvinula. Primárně jí nešlo o šachy, ale o rozvoj umělé inteligence. Její zakladatel a generální ředitel Demis Hassabis říká: „Důvodem, proč jsme vytvářeli obecné sebeučící se systémy, jako je AlphaZero, nejsou šachy, ale že mohou být využity na řešení všech možných problémů v reálném světě, že přinesou velký prospěch každému člověku.

Hry jsou velmi šikovnou platformou pro testování umělé inteligence a problémy, na jejichž řešení mohou být poté aplikované, jsou neomezeně velké. Existuje mnoho příležitostí k aplikacím umělé inteligence v mnoha odvětvích – ve zdravotnictví, logistice, energetice, dopravě, vzdělávání, pojišťovnictví, robotice a dalších.

Hry jsou velmi šikovnou platformou pro testování umělé inteligence a problémy, na jejichž řešení mohou být poté aplikované, jsou neomezeně velké. Existuje mnoho příležitostí k aplikacím umělé inteligence v mnoha odvětvích – ve zdravotnictví, logistice, energetice, dopravě, vzdělávání, pojišťovnictví, robotice a dalších. Jsem přesvědčen, že obecná umělá inteligence se stane nejdůležitějším objevem lidstva.“

Alpha je jen začátek. Jaké budou Beta a Gama? Co bude pro lidstvo Omega? Uvědomí si umělá inteligence sama sebe a začne se sama řídit a vyvíjet bez ohledu na přání člověka, nebo to je jen strašidlo sci-fi spisovatelů a některých vědců a pravdu bude mít optimista Demis Hassabis?

Počet příspěvků: 1, poslední 29.3.2020 08:47 Zobrazuji posledních 1 příspěvků.