Počítačový program Deepstack pokořil soupeře rozdílem třídy!
Že je poker hazard srovnatelný s ruletou či forbesy? Pak zkuste vymyslet počítačový program, který s ruletou nebo videoloterijním terminálem zatočí. Vsadím se, že to nedokážete. Kasinové hazardní hry jsou totiž nastaveny tak, aby z nich kasino dlouhodobě profitovalo. U pokeru je kasino pouze poskytovatelem, hráči se poměřují mezi sebou a ti nejlepší v dlouhodobém horizontu vyhrávají. Důkazem budiž počítačové programy, které se v posledních měsících vyrojily jako houby po dešti a dokáží porážet i ty nejúspěšnější pokerové hráče. Poker se tak více než ke zmíněným kasinovým hrám řadí po bok těch dovednostních, jakými jsou šachy, dáma nebo Go.
Po absolutní dominanci programu Libratus v lednové heads-up challenge proti čtveřici top profesionálů vypluly v posledních dnech na světlo také detaily prosincového měření sil, ve kterém byl v hlavní roli další počítačový stroj Deepstack z kanadské University of Alberta. Na jeho vývoji se navíc podílela i československá programátorská trojice Matej Moravčík, Viliam Lisý a Martin Schmidt.
Program Deepstack z University of Alberta
Program Deepstack se v prosinci utkal s 33 oponenty s různých částí světa, celkově proti nim odehrál téměř 45 tisíc her, v nichž kraloval s neuvěřitelnou převahou 48,6 big blindu na každých 100 her! Tedy celková výhernost, o níž se i těm nejúspěšnějším profesionálům zdá pouze v mokrých snech.
Nutno poznamenat, že soupeři Deepstacku byli o poznání lehčí, než kvarteto, které se postavilo Libratusu, přesto se ve hře objevili například Phil Laak, Dara O'Kearney, Luca Moschita či Juan Manuel Pastor.
Třiatřicítka hráčů měla o motivaci postaráno. Pro nejlepšího z nich byla připravena odměna $5.000, pro druhého $2.500 a $1.250 pro třetího. Povinností bylo odehrát 3.000 her. To splnilo pouze jedenáct účastníků. Nejúspěšnějším byl nakonec Rakušan Martin Sturc.
Výsledky se přepočítavaly prostřednictvím tzv. AIVAT (action-informed value assessment tool). Účelem tohoto nového nástroje je přepočet tak, aby bylo dosaženo statistické významnosti i s mnohokrát menším počtem údajů.
"V pokeru musíte kvůli zastoupení náhody odehrát velké množství her. Díky této nové metodě měření má i 40 tisíc her proti lidem statisticky stejnou výpovědní hodnotu jako kdyby těch her odehráli přes milion," řekl v diskusi pod článkem na serveru technet.idnes.cz jeden z autorů programu Martin Schmidt.
Tvorba programu spočívala ve velké části v tom, že pokerová umělá inteligence si nejprve sama se sebou zahraje miliony partií, ve kterých jen tak náhodně přihazuje a hází karty na stůl. Po každém rozhodnutí si ovšem zpětně propočítá, jak by byla hra dopadla, kdyby hrála jinak, a porovná výsledek se skutečností. U rozhodnutí, která (by) vedla k lepším výsledkům, si udělá obrazně řečeno +1, u těch, která by vedla k horším, pak -1. Číslo může být tím větší, čím horší či lepší jsou dopady rozhodnutí. Podle toho pak upraví svou strategii pro další hry: zvýší pravděpodobnost dobrých rozhodnutí a sníží pravděpodobnost těch špatných.
Deepstack je navíc dostatečně rychlý a početně relativně nenáročný program především díky využití neuronové sítě.
"Neuronové sítě jsou velmi zjednodušeně řečeno učenlivé programy, které lze vytrénovat v celé řadě dovedností. V tomto případě k tomu, aby odhadovaly výsledky hry a vybraly z nich rychle a jednoduše tu nejslibnější. Program tedy začne počítat, co by bylo v dané situaci nejlepší, ale autoři ho nenechají dopočítat do konce. Brzy mu výpočet useknou a nechají neuronovou síť, aby mezi možnými rozhodnutí vybrala tu, která (doslova) podle jejich zkušeností nejspíše povede k žádoucímu výsledku," píše na se na technet.idnes.cz
Počítač tak nehraje zcela optimálně, ale jeho výsledek se ideálu blíží natolik, že ani naprosto dokonalý hráč by si velmi dlouho nemohl být úplně jistý, že vyhrává opravdu proto, že je lepší, a ne proto, že mu šla karta. A zároveň se díky použitým softwarovým „trikům” podařilo snížit nároky na výpočet natolik, že program, který porážel i špičkové profesionální hráče, pracoval na jednom jediném notebooku s výkonnější grafickou kartou (neuronové sítě běhají optimálně na grafických kartách, protože jde o výpočty probíhající paralelně, což je právě doména GPU).
Viliam Lisý, Matej Moravčík a Martin Schmidt
"Neuronová síť v DeepStacku nahrazuje exaktní výpočet pouze tehdy, pokud si ho nemůžeme z časového hlediska dovolit. Algoritmus prohledává všechny situace, které mohou nastat. Výkon počítačů není samozřejmě špatný, ale v této variantě pokeru může nastat velké množství různých stavů celkově asi 10^160, takže všechny skutečně prohledat za pět sekund nestihneme. Prohledáme tedy exaktně pouze několik kroků dopředu, a poté se zeptáme intuice (neuronové sítě) jak by to asi dopadlo dále," vysvětluje Martin Schmidt
Základem programu je tzv. Nashovo equlibrium, tedy stav, kdy na vaše rozhodnutí soupeř nemůže rozumně reagovat a pokud by hrál ideálně skončí maximálně na nule. V případě, že udělá chybu, bude dlouhodobě profitovat počítač.
"Největší hra s neúplnou informací, kterou zatím lidstvo vyřešilo měla 10^14 různých stavů. V pokeru je ale těchto stavů skutečně více než atomů ve vesmíru a Nashe je velmi těžké spočítat, proto se mu všechny programy snaží pouze přiblížit. Všechny předchozí programy byly od této optimální strategie ale řádově dále než Deepstack," dodává Schmidt.
Deepstack s protihráči odehrál heads-up na blindech 50/100 a starting stackem 20K v žetonech, zdá se že heads-up partie začínají být doménou počítačů, co ale hry s více hráči?. "Osobně si myslím, že by upravená verze DeepStacku hrála velmi dobře i 6max (i když zde algoritmus ztrácí své teoretické garance). Hlavním problémem hry více hráčů je především evaluace proti lidem, není jasné, jak takovou férovou evaluaci provést," doplňuje Schmidt.
Deepstack Challenge se setkala s nedůvěrou přispěvatelů komunitního serveru 2+2, kde hráči rozporovali především no-name lidské protivníky a jejich sílu v heads-up duelech.
Do diskuze se však vložil izraelský účastník challenge Stas Tischkevich, který doložil své statistiky, v nichž na midstakes online cash game vyhrál během více než 400K hand přes $100K s hodinovkou $170. Přestože se sám nepovažuje za heads-up profesionála, na významném vzorku mohl doložit, že je výherním hráčem na NL100.
Proti programu Deepstack odehrál kvůli problémům s internetem necelých 300 her a potvrdil, že program je solidním pokerovým hráčem. Našel přesto i několik základních chyb, jakými byl sizing (např. 5bet shove za 200bb), obecně přílišné foldování, velmi tight 3bet range atp...
Za 300 her skončil jako jeden z mála v plusu i po přepočtení metodou AIVAT. Výherní byli potom už jen Igor Naumenko a Mike Phan, který je Tischkevichův dorý přítel a zároveň jeden z nejlepších regů na NL200 Zoom na PokerStars.
Zbytek hráčů včetně Laaka či O'Kearneyho považoval Tischkevich za rekreanty a jak sám trefně poznamenal na konci svého příspěvku, pokeroví profesionálové bota Deepstack porazili, rekreační hráči nikoliv.
Diskutující na 2+2 stejně nepřesvědčil. Challenge byla nastavena tak, že peníze brali pouze nejlepší tři a hráči se špatnými výsledky v průběhu session zcela jistě více riskovali, tak aby se dostali na co nejvyšší profit. Samotné výsledky tím mohly být z velké části zkresleny. Komunita 2+2 tak stále jako jediného vážného konkurenta v heads-upech uznala program Libratus a autorům Deepstacku doporučila programátory Libratusu kontaktovat. Jediným řešením, jak rozhodnout, který z programl je lepší je klasický „heads-up4rollz“. Toho se ale nejspíše nedočkáme...
Zdroje:
DS
Deepstack jako ruleta
Když to tak vezmu kolem a kolem... tak DS při takovém množství her nemohl nikdy prohrát, protože on "jednoduše" nahrazoval v tomto souboji kolo rulety :) .... a jak autor správně píše, zkrátka nikdo ještě nevynalezl žádný postup a program, který by vyhrál nad ruletou.... ale z toho plyne jen jedno jediné, že totiž poker je opravdu jen a jedině jedna obrovská náhoda, tedy obyčejná loterie, kde "vítězí" ten, kdo odehraje velké množství her ..... převedeno do jazyka hráčů pokeru yedy ten, kdo někdy náhodně vyhrál větší výhru a pak mu už jen stačí jen hrát a hrát .... toto tedy také myslím v uvozovkách :)
RE: Deepstack jako ruleta
To nemáte pravdu, vítězí ten, kdo hraje správně nastavenou strategii, pokud ji drží dostatečně dlouho, nemůže prohrát. Naučit se hrát správně by mělo být cílem každého pokerového hráče, není to jednoduché a málokdo se dokáže optimu byť jen přiblížit. Takže loterie to rozhodně není, my jsme za označení dovednostní hra. Loterie by to byla v případě, když by hráli všichni stejně dobře, pak by vyhrával pokaždé náhodně "vylosovaný" hráč...tak to ale v reálu nikdy nebude