Programátori porazili profesionálnych hráčov, vyvinuli jedinečný softvér `DeepStack`!

A nás môže tešiť, že medzi vyvojármi sa nachádza hneď trojica s koreňmi v Slovenskej republike. Rôzne spoločnosti sa o podobný program usilovali roky, no programátori DeepStacku prišli s prevratným nápadom. Medzi porazenými hráčmi boli aj mená ako Laak, Gavin a Pastor!

Medzinárodný tím zložený z odborníkov z rôznych kútov sveta zostrojil program DeepStack, ktorý ako prvý v histórii porazil profesionálnych hráčov v NL Holdeme. DeeepStack si zmeral sily proti skupine 33 profesionálnych hráčov zo 17 krajín vrátane Phil Laaka, víťaza WSOPE aj WPT turnaja. Každý z hráčov mal možnosť hrať 3,000 hands počas 4 týždňov (v decembri 2016). Celkovo proti softvéru odohrali 44,852 hands. DeepStack nakoniec ukázal silu a jasne zvíťazil.

Medzi hráčmi ktorí bojovali proti DeepStacku boli okrem Laaka, aj Juan Manuel Pastor, Mike Phan, Igor Naumenko, Tsuneaki Takeda, či 2-hý muž EPT Barcelona 2008 Fintan Gavin (s celkovými výhrami v live turnajoch $1,573,968), ktorý pre calvinayre.com povedal "bol som prekvapený, že softvér hrá s takmer nulovou chybovosťou."
DeepStack software Players
DeepStack software Players
DeepStack software Players


Na projekte sa podielali vedci z Albertskej Univerzity v Edmontone, z Karlovej Univerzity a ČVUT v Prahe. Tím mal celkovo 10 ľudí a na projekte pracovali takmer jeden rok. Medzi vývojármi bola aj trojica so slovenskými koreňmi, a to Matej Moravčík, Viliam Lisý a Martin Schmid (matka zo SR, otec z ČR).
DeepStack programatori

zľava dole: Martin Schmid, Michael Bowling, Matej Moravčík


Martin Schmid a Matej Moravčík sa už od prvého ročníka na Univerzite začali zaujímať o poker. Podľa slov druhého menovaného "vyvíjali rôznych pokrových počítačových agentov, ktorí boli úspešní na súťažiach a potom sa Martin stretol s vedúcim nášho súčasného tímu Michaelom Bowlingom a dohodli sme sa, že tam pôjdeme na stáž a tam sa nám podarila veľká vec." (poz. red.: na Univerzitu do Edmontonu).

Úspešní vývojári tiež v rozhovore potvrdili, že aj keď určitú rolu v pokri zohráva šťastie, oveľa väčšou váhou pri výhrach/prehrách sú dovednosti. Zaujímavú úvahu povedali aj ohľadom toho, čo tento krok môže ďalej znamenať v pokri. Ako uviedli, môže sa stať (tak ako kedysi v šachu), že hráči budú časom svoje partie konzultovať s počítačom. Rozhovor s Schmidom a Moravčíkom:


Zaujímavosťou je, že vývojári sa vraj pokru ako takému moc nevenujú a brali to vyložene ako profesionálnu výskumnú prácu. Celý projekt aj preto museli stále držať v tajnosti, aby sa im ho podarilo publikovať v jednom z najprestížnejších vedeckých časopisov Science.

A v čom sa DeepStack odlišuje od podobných softvérov, resp. v čo je taký výnimočný? Ako podľa techbox.dennikn.sk povedal Schmid "Algoritmus DeepStack je prelomový, pretože sa nám podarilo preniesť myšlienky, ktoré boli kľúčové v hrách s úplnou informáciou, do sveta hier s neúplnou informáciu. Doteraz nebolo jasné, či je podobný prístup vôbec možný." Softvér totiž nevie množstvo informácií (ako aj hráči), ako napríklad súperové karty, resp. čo príde na stôl, aká nastane súperová reakcia, a podobne.

Preto sa výskumníci vybrali metódou, že DeepStack vypočítava vhodnú stratégiu v danej situácii, až keď situácia nastane, bez toho, aby uvažoval o celej hre dopredu naraz. Presne tento prístup doteraz prevládal.

Ako sa uvádza na technet.idnes.cz, táto pokrová umelá inteligencia si najskôr sama so sebou zahrá milióny partií, v ktorých sa náhodne prihadzujú karty na stôl. Po každom rozhodnutí si spätne prepočíta, ako by hra dopadla, keby hral inak a porovná výsledok so skutočnosťou. Pri rozhodnutiach ktoré viedli k lepším výsledkom si dá +1 a u tých ktoré viedli k horším výsledkom si dá -1. Číslo môže byť o to väčšie, čím lepšie alebo horšie výsledky budú. Podľa toho upraví svoje rozhodnutia do budúcna. Keď počítač odohrá dostatok
partií, má takmer dokonalú mapu všetkých možných situácií a vie ako ich má vyhodnotiť.


Algoritmus DeepStacku využíva strojové učenie pomocou hlbokých neurónových sietí. V prípade DeepStacku neurónová sieť vyhodnocuje jednotlivé pokrové situácie, ide teda o istú formu intuície, ktorú algoritmus využíva pri rozhodovaní. Podobne ako človek, musí aj DeepStack svoju intuíciu trénovať hraním mnohých pokrových partií. V jeho prípade išlo o milióny pokrových situácií, uviedol podľa techbox.dennikn.sk, Matej Moravčík.

Nuž uvidíme, čo táto prevratná novinka reálne prinesie. Podľa informácií ju vývojári nechú ani náhodou zneužiť v hre a radšej sa budú venovať ďalším zaujímavým projektom. Držíme im palce.

DeepStack Neurony
DeepStack Neurony
DeepStack Neurony
DeepStack Neurony


Zdroje: youtube.com, science.sciencemag.org, techbox.dennikn.sk, technet.idnes.cz, calvinayre.com.

Prihlásenie

Zabudol som heslo

Nie ste zaregistrovaný? Registrácia tu!