Proti počítači nemají šachisté šanci. SkyNetu se prý ale zatím bát nemusíme

 

Šachy se dlouho dávaly za vzor kreativní činnosti, ve které strojová inteligence nikdy lidské myšlení neporazí. Jenže praxe je jiná – šachy, go a další složité hry – tady všude člověk padl. Jak je to možné? A kde se nadvláda strojů nad člověkem zastaví?

 

 

Od začátků existence výpočetní techniky dokázaly počítače porážet člověka v jednoduchých hrách. Hrubá síla schopná vypočíst bezchybně všechny možnosti prostě válcovala chybující lidský mozek. Stačilo sebemenší zaváhání, drobná chybička, nepozornost nebo neznalost herní strategie a člověk byl ztracen. Složitější hry ale dlouho odolávaly. Doba ovšem pokročila a realita je jiná. Co se změnilo?

Násobením k obřím číslům

Jak je možné, že počítač hraje lépe třeba piškvorky? Představte si čtverečkovaný papír o rozměrech 10 krát 10 čtverečků, který má sto políček. Pokud jste první na tahu, máte sto možností, kam umístit svůj křížek. Ať ho umístíte kamkoliv, má počítač 99 míst, kam může vložit svoje kolečko. Ale pro každý váš tah je těch 99 míst odlišných – jednou jsou to všechna políčka kromě středového, podruhé políčka kromě levého horního rohu. Záleží zkrátka na tom, kam svůj první křížek umístíte.

V každém případě ale existuje 100 krát 99, tedy 9900 možných her, které lze provést pouhými dvěma tahy. Pokud uvažujeme, že dojde k vítězství jedné strany řekněme do deseti tahů, musíme v násobení pokračovat dál: 100 krát 99 krát 98 krát 97 krát 96 krát 95 krát 94 krát 93 krát 92 krát 91. Vychází astronomická čtrnáctka a jednadvacet nul za ní. Jestliže je počítač zvládne promyslet, stačí mu, aby z možných tahů volil vždy takový, který zahrnuje nejvíce variant s vítězným koncem.

 

Pokud neuronové síti nabídnete dostatečný počet odehraných partií, sama z nich vyčte strategické postupy. Čím více a čím rozmanitějších partií dostane, tím bude hrát lépe. – ilustrační foto: iStockphoto

Raději chytřeji než pomaleji

Existují samozřejmě způsoby, jak takovou těžkou práci počítači ulehčit. Například nemusí uvažovat o prvních dvou tazích a jednoduše hraje někde poblíž protihráče. Nebo nemusí uvažovat o celém herním poli, protože je krajně nepravděpodobné, aby protihráč udělal jeden křížek uprostřed pole a druhý v levém horním rohu.

U složitějších her jsou ale partie výrazně delší (a každý další tah znamená násobení počtem všech možných tahů) a také možností, jak táhnout, je více. Prozkoumat všechny možnosti je tak mimo reálné možnosti běžných počítačů. Přesto už v dobách nevýkonných osmibitů šachové programy většinu lidí porážely.

Dělo se to totiž právě pomocí různých fint, jak počítači náročné výpočty usnadnit. Například u šachu se odedávna používala databáze možných zahájení a možných koncovek. I zkušení šachisté zahajují hru několika málo možnými způsoby, které mají sice řadu variant, ale jejich počet je přeci jen omezený. Počítač tak nemusí pro každý tah počítat všechny možnosti, ale prostě hraje podle databáze, použije např. sicilské zahájení v Alapinově variantě.

 

Teprve až vyčerpá prvních pár předepsaných tahů, začne se zajímat, jaké jsou další možnosti. Ani v tomto případě ale nezvládne propočítat všechny možné partie až do konce. Hraje takzvanou poziční hru a snaží se počítat jen několik tahů dopředu. Možné varianty nevyhodnocuje podle toho, zda vedou k vítězství, ale podle toho, jestli je výsledná pozice herních figurek lepší nebo horší. Ke stanovení kvality pozice se dají použít různé metody, například počet figur na obou stranách, jejich relativní síla (věž je víc než pěšák), otevřenost či uzavřenost postavení apod.

Jakmile počet figurek klesne pod určitou mez, dostává se ke slovu opět databáze připravených partií, tentokrát koncovek. Podobně jako u zahájení, tak i u koncovek existuje relativně omezený počet postupů, kterých se mohou hráči (a tedy i počítač) držet.

Neuronové sítě na scénu

Jinou variantou, jak naučit počítač hrát hry, je použití neuronových sítí. Opět je tu ale nepříjemné omezení v podobě výpočetního výkonu. Neuronová síť má ovšem tu výhodu, že se dokáže sama učit. Pokud jí předhodíte dostatečný počet odehraných partií, sama z nich vyčte strategické postupy. Čím více a čím rozmanitějších partií dostane, tím bude hrát lépe.

Toho využili vývojáři herního stroje AlphaGo Zero, který se sám od sebe naučil hrát go. Tedy, dostal základní pravidla a pak zkusil sám se sebou sehrát první partii. Nejspíš byla mizerná, ale přesně podle pravidel. Tato partie byla předložena jako učební materiál neuronové síti, která potom řídila další partii.

„Zatímco ze začátku zkouší neuronová síť úplně náhodné akce, po mnoha pokusech již naopak rozumí, jaký efekt mají celé dlouhé posloupnosti akcí,“ vysvětluje Petr Baudiš, zakladatel startupu Rossum a specialista na umělou inteligenci. Jedná se o takzvané posilované učení a AlphaGo není první případ, kdy vývojáři tento postup použili. „Teď je výzkum velice aktivní například v multiplayerových RTS jako DotA,“ dodává Baudiš.

 

 

Po několika milionech partií, které sehrál AlphaGo Zero sám se sebou, dokázal porazit původní program AlphaGo ve sto případech ze sta. Zde je důležité poukázat na to, že původní systém AlphaGo naprogramovali lidé podle svých nejlepších schopností, zatímco AlphaGo Zero se dokázal naučit hrát bez jakékoliv lidské pomoci.

Máme se bát nadvlády strojů?

Včera piškvorky, dnes šachy, zítra SkyNet vrhající na lidstvo zástupy terminátorů. I tak by mohly vypadat úvahy po dočtení tohoto článku. Situace ale není tak vážná, i když je výzkum posilovaného učení již relativně daleko. „I velice jednoduché roboty je velice obtížné trénovat.  Než se bát nadvlády strojů, raději hlídejme korporace vlastnící potřebné know-how, na co a jak používají stroje lidem poslušné,“ upozorňuje Baudiš.

Celý článek na https://www.svetchytre.cz/a/STZUk/proti-pocitaci-nemaji-sachiste-sanci-skynetu-se-pry-ale-zatim-bat-nemusime#IfXMJ00kpqRBPfIE.99

Napsat komentář