DeepStack: A mesterséges intelligencia, amely megtanult blöffölni és legyőzte a pókerprofikat

Article cover

A sakkban mindkét játékos látja az összes figurát, a go-ban ismerik minden kő pontos helyzetét. A póker azonban másmilyen. A játékos nem látja az ellenfél kártyáit, és soha nem tudhatja biztosan, hogy a tétje erős kombinációt képvisel, vagy csak jól időzített blöff. Ráadásul a leosztás eredménye sem mindig mutatja meg, ki döntött helyesen. Előfordulhat, hogy egy játékos tökéletesen játszik, mégis veszít, vagy hibát követ el, és mégis megnyeri a potot.

Ezért tartották a pókert hosszú ideig az egyik legnagyobb kihívásnak a mesterséges intelligencia számára. Egy gépnek nem elegendő csupán a valószínűségeket számolni. Az információhiányt kezelni, az ellenfél stratégiáját kiértékelni, és közben kiszámíthatatlannak maradni. 2017-ben a tudósok bemutatták a rendszert, amely megmutatta, hogy a mesterséges intelligencia képes megbirkózni ezzel a kihívással. DeepStack volt a neve, és ez volt az első program, amely bizonyítottan legyőzte a profi játékosokat heads-up no-limit Texas hold’em játékban.

A DeepStack egy kutatási célból kifejlesztett mesterséges intelligencia rendszer volt, amely heads-up no-limit Texas hold’emet játszott, vagyis két játékos közötti mérkőzést, ahol nincs meghatározva a maximális tét. Fejlesztésén az Alberta Egyetem, a Prágai Károly Egyetem és a Cseh Műszaki Egyetem kutatói dolgoztak együtt. Céljuk egy olyan stratégia kialakítása volt, ahol a játékos nem ismeri az összes információt, az ellenfél aktívan próbálja félrevezetni őt, és minden tétnek számos különböző jelentése lehet. A DeepStack nem univerzális mesterséges intelligencia volt. Nem tudott beszélgetni vagy más kártyajátékot játszani. Szűken specializálódott rendszer volt, de abban a feladatban, amire kifejlesztették, képes volt túlteljesíteni a profi játékosokat.

Miért olyan nehéz a póker a számítógépek számára?

Első látásra a Texas hold’em egyszerűbbnek tűnhet, mint a sakk. Csak 52 kártyával játszanak, és a játékosnak minden döntésnél néhány alapvető lehetősége van: check, bet, call, raise vagy fold. A valódi bonyolultság azonban nem a szabályokból, hanem a bizonytalanságból fakad. A játékos nem ismeri az ellenfél lapjait, és ezért nem tud csak egy konkrét kombinációra gondolni. Az összes lehetséges handdel kell foglalkoznia, amelyet a pókerjátékosok rangeként emlegetnek.

Ha az ellenfél emel a flop előtt, lehet, hogy magas párral, erős ászokkal vagy suited connectoryval, de gyengébb képpel is rendelkezhet. A további döntései néhány kezet valószínűbbé tesznek, míg másokat fokozatosan kizárnak a rangéból. A kérdés tehát nem csupán: „Mit tart az ellenfél?” A játékosnak el kell gondolkodnia azon, hogy milyen lapok lehetnek nála, milyen gyakran lehetnek nála, és mit árulnak el korábbi akciói a teljes range-ről. És ez a folyamat az ellenkező irányban is zajlik. Minden tét bizonyos információt ad át, ugyanakkor próbálhat félrevezetni.

Hogyan tanult meg a DeepStack blöffölni?

Egy játékos, aki csak nagyon erős kombinációkkal tesz, könnyen legyőzhető. Ha pénzt rak a potba, az ellenfél gond nélkül eldobhatja a gyengébb lapokat. Ugyanolyan sebezhető az a játékos, aki túl gyakran blöfföl. Az ellenfél egyszerűen elkezdi gyakrabban megadni a téteit. Egy erős pókerstratégiának tehát egyensúlyra van szüksége. Ugyanazt az akciót kell alkalmaznia erős kezeknél, közepes kombinációknál és blöfföknél is.

A DeepStack nem keresett egyszerű válaszokat, mint például „ebben a helyzetben mindig tégy tétet”. Valószínűségi stratégiákat hozott létre. Ugyanabban a helyzetben néha checkelhetett, máskor kis tétet alkalmazott, és bizonyos százalékban nagy méretet választott. Az egyes akciók keverésével olyan módon, hogy az ellenfél ne tudja könnyen kiolvasni a stratégiáját és kihasználni azt. Így születtek a blöffjei is. A DeepStack nem azért blöffölt, mert bátorságot, félelmet vagy pszichológiai szándékot érzett. A blöff számára a jól kiegyensúlyozott stratégia matematikai része volt.

A heads-up no-limit hold’em körülbelül 10¹⁶₀ döntési pontot tartalmaz. Minden játékosnak különféle kártyák lehetnek a kezében, az asztalon ezerféle board kombináció megjelenhet, és a különböző tétméretek újabb folytatásokat hozhatnak létre. Egy ilyen játékszituációt nem lehet teljesen feldolgozni még rendkívül nagy teljesítményű technikával sem.

A korábbi pókerprogramok ezért nagymértékű egyszerűsítéseket alkalmaztak. Hasonló helyzeteket csoportokba foglaltak, és az összes lehetséges méret helyett előre meghatározott tétméreteket engedélyeztek. Ha azonban egy ember más tétet választott, mint amit a rendszer várt, azt a programnak a legközelebbi ismert lehetőséghez kellett rendelnie. Ez az egyszerűsítés problémákat okozhatott a stratégiában. A DeepStack más megközelítést választott. Nem próbált minden helyzetre előre választ adni. A stratégiát menet közben számolta ki.

Neurális hálózat, mint pókerintuíció

A rendszer alapját egy folyamatos újramérés nevű elv képezte, amely az aktuális helyzet megoldásával dolgozott. Működését autós navigációhoz lehet hasonlítani. Nincs szüksége külön tervre minden lehetséges dugóhoz, elzáráshoz vagy rossz irányba való elkanyarodáshoz. Ismeri az aktuális helyzetet, a célt és a legközelebbi környezetet. Ezek alapján kiszámítja a következő útszakaszt, és egy változásnál újraszámol.

A DeepStack hasonlóan működött. Minden döntésnél kiértékelte a pot méretét, a közös kártyákat és mindkét játékos lehetséges range-ét. Eldöntötte a legközelebbi releváns játékmenetet. Az ellenfél akcióját követően újraindította az egész folyamatot. Még ezt a helyi számítást sem lehetett mindig a leosztás végéig elvégezni. Amikor a DeepStack olyan ponthoz ért, ahol egy további elemzés túlzottan időigényes lett volna, neurális hálózatot használt.

A hálózat a pot nagysága, a board és mindkét játékos rangéi alapján megbecsülte a kialakult helyzet értékét. A DeepStacknek így nem kellett minden lehetséges folytatást kiszámolnia a riverig. A távolabbi jövő becslésével helyettesítette. Ez több megközelítés egyesítése volt. A játékelmélet segítette a kiegyensúlyozott stratégia kialakítását, a keresés elemezte a legközelebbi döntéseket, a neurális hálózat pedig a már nem számolható helyzeteket becsülte meg.

A DeepStacknek nem kellett több millió leosztást elemeznie a legjobb pókerjátékosoktól. Nem az emberi döntések utánzására törekedett. A kutatók ehelyett hatalmas mennyiségű véletlenszerű helyzetet generáltak eltérő boardokkal, potméretekkel és mindkét játékos rangéival. Ezeket a játékelmélet algoritmusaival oldották meg, és az eredményeket tréningadatokként használták a neurális hálózat számára.

A DeepStack nem azt tanulta meg, hogyan játszana egy sikeres profi egy adott helyzetben. Arra tanították, milyen a stratégiailag előnyös megoldás. A rendszer előkészítése széleskörű számítási teljesítményt igényelt. Magát a játékot viszont képes volt egy NVIDIA GeForce GTX 1080 grafikus kártyán futtatni, és egy döntést átlagosan három másodperc alatt hozott meg.

Összecsapás a profi játékosokkal

Az igazi kihívás 2016 végén érkezett. A rendszer ellen 33 pókerjátékos állt, 17 különböző országból, akik összesen 44 852 kezet játszottak. Minden résztvevőnek eredetileg 3000 játékot kellett volna játszania, végül 11 játékos fejezte be a teljes mintát. A DeepStack a módosított eredmények alapján mindenki ellen nyereséges volt, és 10 játékos ellen szignifikáns győzelmet aratott.

Még a legsikeresebb résztvevő ellen is nyereséget ért el. Azonban ennek a konkrét mérkőzésnek az eredménye nem volt elég kifejezett a végleges statisztikai következtetéshez. Összességében a DeepStack több mint négy szórással töltött le mindenkitől, ami a kutatók szerint rendkívül jelentős eredmény.

A pókerben azonban nem elég csak a megszerzett zsetonok végösszegét összehasonlítani. Még egy gyengébb játékos is kaphat jobb lapokat a több ezer leosztás alatt, több all-int nyerhet, és pluszban végezhet. A kutatók ezért az AIVAT módszert használták, amely csökkentette a véletlen eredményre gyakorolt hatását. Ismert valószínűségeket és az egyes helyzetek matematikai értékeit használta, így pontosabban lehetett elkülöníteni a döntéshozatali minőséget a rövid távú varianciától. Az AIVAT alkalmazása körülbelül 85 százalékkal csökkentette az eredmények szórását. Még ennek a kiigazításnak az után is meggyőző maradt a DeepStack győzelme.

Megoldotta-e a DeepStack az egész pókert?

A profik fölötti győzelem ellenére sem jelentette azt, hogy a DeepStack matematikailag megoldotta az egész heads-up no-limit hold’emet. A játék túl nagy ahhoz, hogy pontosan meg lehessen határozni, mennyire volt közel a stratégiája a tökéletes egyensúlyhoz. A kutatók speciális tesztekkel próbálták feltárni a hibáit, de nem találtak egyszerű módszert, amellyel rendszeresen legyőzhető lett volna.

A DeepStack csak heads-up no-limit hold’emet tudott játszani. Nem játszott 6-max cash game-et, full-ringet vagy változó blindokkal zajló versenyeket. Nem dolgozott ICM-mel, kifizetési struktúrával vagy több játékos dinamikájával, és nem tudott automatikusan átváltani Pot-Limit Omahara vagy vegyes játékokra. A mérkőzések online zajlottak, így a rendszer nem látta a fizikai tell-eket, mimikát vagy az ellenfelek idegességét. Nem az volt a célja, hogy pszichológiai profilt készítsen egy adott személyről, hanem hogy egy olyan erős stratégiát alkalmazzon, amelyet nem lehet könnyen kihasználni.

Mindezek ellenére új korszak kezdetét jelentette. A 2017-es év kulcsfontosságú volt a póker mesterséges intelligenciájának. Ugyanebben az időszakban jelent meg a Carnegie Mellon Egyetem Libratus rendszere is, amely 120 000 leosztást játszott négy elit heads-up profi ellen, és szintén meggyőző győzelmet aratott.

A következő nagy lépést 2019-ben a Pluribus rendszer tette, amikor 6-max no-limit hold’em játékban legyőzte a profikat. A fejlődés rendkívül gyors volt. Amíg 2015-ben a mesterséges intelligencia gyakorlatilag megoldotta a heads-up limit hold’em-et, két évvel később már no-limit heads-up játékban is verte a profikat, 2019-ben pedig már többjátékos asztalnál is képes volt nyerni.

A solverek előtti korszakban a játékosok leginkább tapasztalatokból, beszélgetésekből, oktatóvideókból és sikeres profik elemzéseiből tanultak. Tudták, hogy szükségük van kiegyensúlyozott range-ekre és elegendő blöffre, de a pontos frekvenciákat gyakran intuitíven becsülték meg. A modern solverek sokkal részletesebb betekintést nyújtottak. Megmutatták, miért alkalmas egy kombináció blöffre, míg egy hasonló nem, miért van értelme egy kis tétnek egy bizonyos boardon, míg máskor nagy méretnek, vagy miért keveredik egy adott hand check-kel és bet-tel.

A póker mesterséges intelligenciájának sötét oldala

A fejlett póker AI fejlesztése során felmerült a kérdés: Mi történik, ha valaki hasonló technológiát használ online játék közben? A játékosnak nem kell teljesen átadnia a programnak az irányítást a fiókja felett. Elég, ha egy külső szoftver valós időben ajánlja a legjobb döntéseket. Az ilyen segítséget valós idejű segédletnek (real-time assistance, RTA) nevezik. A solverek használata a játék utáni tanulmányozás során szokványos. Az online pókerplatformokon azonban tilos a külső segítség igénybevétele a játék során.

A fejlett rendszerek ráadásul nem biztos, hogy gépiesek. Képesek stratégiákat keverni, véletlenszerűséget alkalmazni, és természetesebben viselkedni. A pókertermek ezért elemzik a döntéshozatal időzítését, a fiókok viselkedését, a használt eszközöket, a játékosok közötti lehetséges kapcsolatokat és stratégiáik hasonlóságát. A DeepStack egy tudományos projekt volt, nem pedig csalásra szánt eszköz. Mégis megmutatta, miért kell az online póker védelmének technológiailag olyan fejlettnek lennie, mint maguknak a stratégiai eszközöknek.

A DeepStack legnagyobb jelentősége nem abban rejlett, hogy gyorsabban tudott pókerezni. Ezt a számítógépek már régóta meg tudták tenni. Igazán sikeres abban volt, hogy képes volt döntéseket hozni hiányos információkkal. Nem látta az ellenfél lapjait, nem tudta megvizsgálni az egész játékszituációt, és nem volt kész válasszal minden lehetséges helyzetre.

Helyette folyamatosan elemezte az aktuális játékot, rangeket kezelt, és a legközelebbi döntéseket a neurális hálózat segítségével becsülte meg a távoli jövőt. Bluffelt érzelmek nélkül, és emberi pszichológia nélkül maradt kiszámíthatatlan. A póker csupán egy tesztkörnyezet volt. Az igazi kérdés az volt, hogy a mesterséges intelligencia képes-e jó döntéseket hozni egy olyan világban, ahol nem ismeri az összes tényt, és a másik félnek vannak rejtett szándékai. A DeepStack megmutatta, hogy a válasz lehet igen. És a profi pókerjátékosok elsőként tapasztalták meg mindezt a virtuális asztal túloldalán.

 

Források - YouTube, Wikipedia, Science.org, onlinegamblingwebsites