Hlavní navigace

Šachové programy: Co od nich čekat?

Pavel Houser

Možná jste nedávno zaregistrovali zprávu, podle které šachový program Deep Fritz remizoval s velmistrem Kramnikem (mohli bychom napsat mistrem světa, ovšem s těmito tituly je to komplikovanější kvůli rozkolu v mezinárodním šachovém hnutí; buď jak buď, Kramnik patří mezi nejlepší šachisty současnosti). Co tato informace vypovídá o cestě počítačů směrem k umělé inteligenci?

Kupodivu ani moc ne. Vývoj šachových programů totiž ukázal dvě velmi překvapující věci:

  • způsob, jakým myslí profesionální šachisté, je velmi obtížné algoritmizovat.
  • síle šachových programů to však příliš nevadí, počítače dokáží hrát šachy velmi dobře i bez toho, aby hře jakkoliv rozuměly.

Co se týče dalšího textu, abych kritikům dopředu vyrazil z rukou část argumentů, opět předesílám, že článek není napsán profesionálním programátorem :-).

Otázka, nakolik je samotné lidské myšlení algoritmizovatelné, je velmi složitá. O opaku je přesvědčen např. Hawkingův spolupracovník Roger Penrose (o jeho přístupu více viz Penrosova kniha Mikrosvět, makrosvět a lidská mysl či Úvod do kognitivní vědy od Paula Thagarda). Protože Penrose sám současně ale pokládá lidský mozek za něco na způsob počítače kvantového, pravděpodobně míní onen nealgoritmický charakter lidského myšlení pouze ve vztahu k počítačům klasickým.
Leč dost filozofie. Ať už lidské myšlení je, či není algoritmizovatelné, šachy by takové být měly. Proč se tedy počítačům nepodařilo uspět na poli šachů a simulovat lidské myšlení? Možnou odpověď představuje způsob, kterým přemýšlejí šachisté blížící se profesionální úrovni.
V rozporu s obecným přesvědčením toho totiž silnější šachisté příliš mnoho nepočítají. Mají spíše před očima určité strategické schéma spojené s ideálním postavením figur vlastních i figur soupeře. Rozhodování pak probíhá nejspíše stylem „měl bych postavit jezdce před izolovaného pěšce, ale nebude mi pak chybět při obraně královského křídla“? Propočty mohou být pouze dvoutahové, mohou být i nulové. Výjimečně samozřejmě následuje propočet do značné hloubky, nejsou však stejně počítány zdaleka všechny možnosti, ale pouze ty „logické“.
Nikomu se zatím nepodařilo počítače tento způsob chápání královské hry naučit. Ještě větším překvapením však může být fakt, že i přesto je doslova na dosah chvíle, kdy budou počítače silnější než ti nejlepší lidští velmistři.
Postačí výkonný hardware. Počítat daleko dopředu se nakonec ukazuje v šachách užitečnější, než se snažit informace nějak „komprimovat“, tedy stanovovat obecnější pravidla na základě porozumění.
Ani současné počítače samozřejmě nejsou schopny projít všechny varianty až do konce partie, nicméně těch cca 16 půltahů obvykle plně postačí. Následuje seřazení konečných pozic podle jejich příznivosti a program si pak v grafu vybere cestu, která povede k nejlepší pozici i při nejlepších odpovědích soupeře. (Počítač tedy neklade léčky, nekalkuluje s tím, že soupeř něco přehlédne apod. Jeho hra zcela postrádá psychologickou dimenzi.)
Jediným sofistikovanějším algoritmem je způsob, jakým počítač pozice hodnotí a pak řadí podle výhodnosti. Zde se samozřejmě vychází z hodnoty jednotlivých figurek, ale posuzuje se také mobilita figur či třeba také postavení králů. Počítače si jsou zčásti vědomy síly věže na sedmé řadě či dvojice střelců. Ohodnocovací funkce je jedinou částí celého procesu, kdy se odehrává něco připomínajícího myšlení lidského šachisty – ovšem i tak jen velmi vzdáleně.
Pro úplnost snad zbývá dodat, že šachový počítač disponuje databází zahájení a koncovek. Stále více pozic hraje prostě podle těchto databází; třebaže šachová hra jako celek se tímto způsobem zdaleka nevyčerpá, oproti lidskému šachistovi zde má program další značnou výhodu.
Samozřejmě i ono prohledávání, prosévání možných pozic, lze zkoušet udělat efektivněji. Počítač třeba může testovat nižší hloubku tahů a ušetřený čas věnovat průzkumu těch nejnadějnějších pozic do větší hloubky – namísto propočtu všech variant 16 tahů si třeba po osmi tazích vybere pět nadějných možností a ty propočítá na tahů 20. S tím, jak má ale program k dispozici stále výkonnější hardware, jsou tyto úsporné kroky již téměř zbytečné.
Skutečně to stačí? Stačí na velmistra dokonce obyčejné PC s Athlonem? V podstatě ano. Samozřejmě existují speciální pozice, které zkomprimovat jdou a lidský šachista, jakmile odhalí princip, je v nich lepší než stroj. Důležité ovšem je, že se často jedná o situace sestavené uměle, tedy nevyskytující se v reálných partiích. Příkladem jsou takové hračky jako třeba úloha „mat 256. tahem“. Tady si budeme muset na zdokonalení hardwaru ještě počkat :-). Člověk naopak zjistí, že určitý motiv se v pozici bude např. stále opakovat, a úlohu vyřeší.

Zajímavé je, že úspěchy šachových programů poněkud boří koncepci klasického Turingova testu „chytré je to, co se chytře chová“. Šachový program hraje velmi „chytře“, ale bez špetky porozumění. Není si ani v nejmenším vědom toho, co dělá. Takže je nakonec možné, že dokážeme zkonstruovat „inteligentní“ umělé systémy, aniž tím však získáme jakoukoliv odpověď na problém inteligence lidské.
Další hrou, kterou by programy mohly zkusit pokořit, je Go. Oproti šachům se možná jedná o hru „čistší“. Zatímco v šachách existuje obrovské množství možností a často vyhraje prostě ten, kdo nic nepřehlédne, v Go by snad mohlo hrát větší roli porozumění pozici, speciálně pak rozpoznávání geometrických tvarů/obrazců. Ale myslím, že nikdo by si na to stejně nevsadil. I v Go budou zřejmě brzy triumfovat programy využívající pouhé hrubé síly. I zde vyhraje ne ten, kdo pozici rozumí, ale ten, kdo nepřehlíží banality, kdo se v průběhu partie neunaví… Zřejmě. Nebo máte jiný názor?

Další informace:
Algoritmy Minimax a Alphabeta pro šachové programy
Cover story v Computerworldu číslo 41/2002 – k dostání právě na stáncích, část textu je k dispozici on-line v článku Kramnik versus Deep Fritz

Našli jste v článku chybu?

26. 2. 2004 21:22

kyjo (neregistrovaný)

No kdybys postavil komp velikosti planety a das mu na to cas asi tak do konce Vesmiru, tak mozna projde celou sachovnici :) Ale to uz bude kazdymu stejne jedno.

27. 10. 2003 22:11

dworkin (neregistrovaný)

http://sachy.bonusweb.cz/mysleni/obsah.php

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Změny v cestovních náhradách 2017

Změny v cestovních náhradách 2017

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka