Když lidská intuice předčí stroj

22.11.2021 06:26 | Trénink

V roce 1974 se konalo první mistrovství světa v šachu mezi počítači. Vítěz tohoto klání, program Kaissa, se však tehdy s lidskými mistry nemohl měřit. Uběhlo nicméně několik desetiletí a jazýček vah se jednoznačně překlopil na stranu počítačů. Ale...

Zatímco v 90. letech souboje šachistů s počítači vyvolávaly senzaci, dnes jsou již spíše nudnou podívanou. I stolní počítač by snadno porazil současného mistra světa.

Garri Kasparov si jednou položil zajímavou myšlenku: "při srovnávání kapacity počítačů s kapacitou lidského mozku mě často napadlo, kde se bere náš úspěch? Odpovědí je syntéza, schopnost spojit kreativitu a vypočítavost, umění a vědu do celku, který je mnohem větší než součet jeho částí."

Do praxe se nějakou takovou ideu rozhodl implementovat slavný matematik Sir Roger Penrose, jehož bratr Jonathan je mimo jiné šachovým velmistrem. Penrose vymyslel šachový problém, jenž možná pomůže částečně pochopit, co lidskou mysl a lidské vědomí odděluje od největších procesorů, které byly kdy postaveny.

Samotná pozice, která obletěla svět před několika lety, je na diagramu níže.

Nebudete-li se ohlížet nad tím, jak se černému podařilo podobné (skutečně nezvyklé!) pozice dosáhnout, dokázali byste tuto pozici bílými figurami udržet, anebo dokonce vyhrát?

...

Pro lidského hráče je remízování ve skutečnosti neobyčejně snadné. Stačí se pohybovat králem po bílých polích a černý, navzdory drtivé materiální převaze, nemůže žádným způsobem vynutit výhru. Naopak, při nesprávné obraně může černý dokonce prohrát; pokud by se bílému podařilo obsadit králem pole a8, zatímco černý by (opět poněkud fantasktně) opustil svými střelci diagonálu b8-h2, takže by bílý mohl nějakým způsobem prosadit postup c6-c7-c8, partie končí matem černému králi po proměně pěšce v dámu (střelce!).

Zatímco lepší šachista může celkem rychle přijít na správné řešení, prakticky jenom letmým pohledem, počítač pozici považuje za jednoznačně vyhranou pro černého, a to i v obrovských hloubkách, což si lze na šachovém motoru snadno ověřit.

.

Dílem za to může jednoznačná materiální převaha, dílem trojice střelců, která pozemským počítačům předkládá prakticky neřešitelný strom variant (s jediným střelcem se motor vcelku rychle spokojí s remízou, a to během několika sekund). Proto stroj nadále pokračuje s marnou snahou uplatnit svou "výhodu" -20, a to tak dlouho, dokud se o slovo nepřihlásí pravidlo 50 tahů.

Problém poukazuje na doposud skrytou podstatu jedinečné lidské mysli, jež – i v případě šachových výpočtů – minimálně v určitých okolnostech předčí nejvýkonnější počítače.

7x 2074x
Fotogalerie
Komentáře (7) Aktualizovat
23.11.2021 08:26 | rohlíkpuklej

Kaprasov porazil snad poprvé počítač, hodně se o tom psalo , Blue deep, tuším ,se tomu monstru,tenkrát nadávalo.

22.11.2021 21:06 | david brazina

Rigos, ano to si je clovek i schopen dohledat. To na co jsem reagoval bylo, ze jste psal, ze o neuronovych sitich se nebudete rozepisat a ja tvrdim, ze back propagation neni nic jineho nez typ dvouvrstve resp vicevrstve samoucici neuronove site, ktera se mimochodem pouziva i pro stavbu sachovych programu.

22.11.2021 16:25 | Rigos

Pojem backpropagation se používá jak v algoritmu minimax, tak při trénování neuronových sítí, je to ale něco jiného. Minimax sám o sobě žádné neuronové sítě nepoužívá. Backpropagation v neuronových sítí se používá k nalezení ideálních weights (vah jednotlivých neuronů) při trénování dané sítě (například pomocí sgd - stochastic gradient descentu). Když se pak výsledná neuronová síť používá k vytváření predikcí v nějakém algoritmu, tak k backpropagation již nedochází - weights zůstávají konstantní.

22.11.2021 16:16 | david brazina

Rigos, k posledni vete, ty i tady neuronovou sit pouzivas,

a výsledky propaguj zpátky směrem do kořene propočtu (algoritmus minimax)

to je uceni neuronove site back propagation... 

 

22.11.2021 15:57 | Rigos

Tak tady ale není problém v tom, že by to procesory nezvládly, prostě jen Stockfish a ostatní šachové motory nejsou dělaný na tyhle pozice. :) Určitě existuje nějaký řešení, jak poupravit kód motorů, aby tohle okamžitě chápaly, jen to prostě za to vývojářům nestojí/nezajímá je to. Proč v pozici se třemi střelci SF hlásí výhru černého? Algoritmus, který se k propočtu používá funguje nějak takhle: dopočítej nejdál jak dokážeš, pozice v největší hloubce ohodnoť statickou ohodnocovací funkcí (static evaluation function) a výsledky propaguj zpátky směrem do kořene propočtu (algoritmus minimax). Static evaluation funkce funguje tak, že ji dáte pozici jako input a na základě nějakých pevně daných "jednoduchých" pravidel* (materiál, bezpečí krále...) vyplivne ohodnocení pozice. Takže v tomhle případě se děje to, že SF počítá a počítá, dopočítá se řekněme 60 tahů do pozice kde má černý ještě dva střelce. Zeptá se na tuhle pozici svojí static evaluation funkce a ta mu řekne, že černý je vyhranej, protože má prostě víc materiálu. Jaktože teda SF nechápe remízu po 50 tazích? No protože on prostě vždycky černýma třeba 49. tah odevzdá jednoho střelce, čímž se pravidlo 50 tahů vynuluje (můžete ověřit rozkliknutím jeho první lajny). Stačilo by teda aby ho zkusil taky bílýma nevzít, a hned by tuhle pozici "chápal". Bílýma ho bere, protože to je podle "hloupé" static e. funkce nejlepší tah, však bílý sežere materiál a tím si určitě pomůže! Long story short: pozici v článku by nynější implementace Stockfishe pochopila na hloubce 150, tu samou pozici se dvěma střelci pochopí na hloubce 100 a s jedním střelcem to pochopí už na hloubce 50. Šlo by to úpravou kódu spravit. ;) *pozn. dneska se už místo pevně daných pravidel používají neuronové sítě, ale to už je zas další kapitola a tenhle problém to neovlivní.

22.11.2021 15:26 | Marek007

Nahovárať si, že v nejakom aspekte je ľudská myseľ silnejšia ako najnovšie počítačové programy, je ako tvrdiť, že najrýchlejší bežci porazia v behu na 100 metrov motorové vozidlo. Je to nezmysel, aj keby to vozidlo cúvalo celý pretek.

22.11.2021 10:45 | HonzaSvatoš

Pěkné. počítače ovšem dělají pokroky i v "lidských" studiích.

Kdysi byla studie B: Ke2, Df1, pa6, b5, c3, c4, e3,f4, g5, h6, Č: Ke6, Jd3, pa7, b6, c5, e7, e4, f5, g6, h7 pro běžný počítač neřešitelná (bílý vyhraje 1. Dh1 a zugzwang, po Kd7 nebo Kd6 je Dh5 a projde pěšec na královském křídle, po Kf7 nebo Jb2 je Da1, Da5 a projde na dámském.). Počítač všechny varianty hodnotil stejně jako +hodně. Dnes na starším mobilu SF NN12 najde řešení během necelé minuty, Dh1 hodnotí +7,2, ostatní tahy +5,47 a po Kd7 uvádí správně Dh5. Staší mu na to hloubka 37.