Pókerágens fejlesztése játékelméleti alapokon

Slides:



Advertisements
Hasonló előadás
SZÁMÍTÓGÉPES JÁTÉKOSOK MOTIVÁCIÓINAK LONGITUDINÁLIS VIZSGÁLATA Kiss Orhidea Edith Budapesti Műszaki és Gazdaságtudományi Egyetem, Gazdaság- és Társadalomtudományi.
Advertisements

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 5.5. Model Based Architecture módszerek BelAmI_H Spring.
E-learning alapú távoktatás tapasztalatai a Széchenyi István Egyetemen
K-Chat Dr. Szepesvári Csaba Kutatási Alelnök mindmaker.
Czeglédi László Integrált tartalomszolgáltatás megújult környezetben
Intelligens szoftver megoldások acélszerkezeti tervezéshez.
Egészségügyi informatika oktatása és kutatása az Egészségügyi Főiskolai Karon.
TUDÁSALAPÚ RENDSZEREK Tudnivalók ILCV441 Előadó: Kovács Zita 2013/2014. I. félév.
A környezetállapot-értékelés módszertana Dr. Bulla Miklós Baja, április 26. Széchenyi István Egyetem, Környezetmérnöki Tanszék.
Készítette: Fazekas Boglárka
Testre szabott Microsoft szoftver-licenc meghatározása online szakértői rendszerrel Készítette: Kurucz Eszter
INNOCSEKK 156/2006 ONLINE SZAKÉRTŐI KERETRENDSZER FEJLESZTÉSE Developing an online expert system generator Készítette: Gerendás László, ISZAM III. Szent.
Az emberi természet természettudományos vizsgálata
Budapesti Műszaki és Gazdaságtudományi Egyetem
Önálló labor bemutató 8. szemeszter 5. oktatási hét Sümeghy Tamás Pál GFHSRE március 13.
Nemzetközi összefogás az ökológiai gazdálkodás e-learning oktatásáért
MEGÚJULÓ ENERGIAFORRÁSOK BIOMASSZA
Távmunka tanácsadói képzés a BME-n
„ IKT-val támogatott új tanulási környezetek szerepe az oktatásban” „ IKT-val támogatott új tanulási környezetek szerepe az oktatásban ” augusztus.
Játékelmélet Kovács Dániel László Intelligens Rendszerek kutatócsoport
Méréstechnika és Információs Rendszerek Tanszék
Közlekedésmodellezés Készítette: Láng Péter Konzulens: Mészáros Tamás.
Agy-számítógép interfész Önálló laboratórium Konzulens: Mészáros Tamás Készítette: Bartók Ferenc 2012 tavaszi félév.
Hiba-előjel alapú spektrális megfigyelő Orosz György Konzulensek: Sujbert László, Péceli Gábor Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika.
A hiba-előjel alapú FxLMS algoritmus analízise Orosz György Konzulensek: Péceli Gábor, Sujbert László Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika.
Modelltranszformációs szabályok automatikus generálása példák alapján Balogh Zoltán IV. évf. informatikus Konzulens: Dr. Varró Dániel Méréstechnika és.
Kovács Dániel László Kovács Dániel László BME-VIK, Méréstechnika és Információs Rendszerek Tanszék Önálló laboratórium.
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
Gyengén nemlineáris rendszerek modellezése és mérése Készítette: Kis Gergely Konzulens: Dobrowieczki Tadeusz (MIT)
Intelligens felderítő robotok Készítette: Györke Péter Intelligens rendszerek MSC szakirány Konzulens: Kovács Dániel László Méréstechnika és Információs.
Tervkészítés PDDL alapon Konzulens: Kovács Dániel László Intelligens rendszerek tanszék Budapest Műszaki és Gazdaságtudományi.
Szabó Péter Szenzor rendszer PC oldali grafikus kezelő felületének tervezése és megvalósítása Önálló laboratórium beszámoló Intelligens rendszerek BSc.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Bin-summarise-smooth: ‚bigvis’ „Big Data” elemzési módszerek.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék R „Big Data” elemzési módszerek Kocsis Imre
1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Célkitűzés: Információk téma-specifikus, különböző típusú forrásokból (internet, intranet.
Matematikai eszközök a környezeti modellezésben
Meglévő ASP.NET 2.0 alkalmazás kiegészítése AJAX-szal
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke IC layout tervek tesztelése.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke IC layout tervek tesztelése.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke Mikroelektronika Laboratórium Tájékoztató
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke MIKROELEKTRONIKA, VIEEA306 A bipoláris tranzisztor.
Rendszertervezés Alapfogalmak; Az informatikai rendszer
Budapesti Műszaki Főiskola Neumann János Informatikai Kar Informatikai Automatizált Rendszerek Konzulens: Vámossy Zoltán Projekt tagok: Marton Attila Tandari.
Témahét a Szent László Gimnáziumban november 2-9. Radnóti Miklós és kora (Radnóti Miklós 100 éve, május 5-én született… …és 65 éve, november.
Valós idejű adaptív útvonalkeresés
Gyermekvilág régen és ma
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szondázás alapú diagnosztika 1. Autonóm és hibatűrő információs.
TÁMOP C-11/1/KONV Történet  Az Egyesület alapítása – 1998 Budapesti Műszaki és Gazdaságtudományi Egyetem (BME) Eötvös Lóránd Tudományegyetem.
TUDOMÁNYOS ELŐADÁS KÉSZÍTÉSE Kutatásmódszertan
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szondázás alapú diagnosztika 2. Autonóm és hibatűrő információs.
Komplex rendszerek – Evolúciós modellek
1 AZ IKTA-2000 projektjeinek szakmai bemutatója IKTA-144/2000 projekt november 28.
Menetrend optimalizálása genetikus algoritmussal
WP-Dyna: tervezés és megerősítéses tanulás jól tervezhető környezetekben Szita István és Takács Bálint ELTE TTK témavezető: dr. Lőrincz András Információs.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke MIKROELEKTRONIKA, VIEEA /2009 I. félév Követlemények.
Bolognai Folyamat a az európai és a hazai mérnökképzésben Jobbágy Ákos BME november 17.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék R3-COP és R5-COP projekt: Környezetfüggő viselkedés tesztelése.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke MIKROELEKTRONIKA, VIEEA /2012 I. félév Követelmények.
Automatizált kábelkonfekcionálási technológia kutatása, intelligens kábel és egyedi csatlakozók fejlesztése INFONIA Alapítvány Rab Árpád, projektvezető.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke MIKROELEKTRONIKA, VIEEA /2011 I. félév Követelmények.
FPGA-n implementált, sztochasztikus bitfolyam alapú programozható neurális hálózat Rák Ádám Konzulens: Cserey György, Ph.D OTDK előadás, kiegészített.
Esély, Lehetőség, Tehetség, ELTE Iskola felújítás az Eötvös Loránd Tudományegyetemen az Európai Unió támogatásával.
Szent István Egyetem Gazdaság- és Társadalomtudományi Kar Regionális Gazdaságtani és Vidékfejlesztési Intézet Döntéstámogatás a mezőgazdasági gépvásárlás.
Bevezetés a játékelméletbe
Tudásalapú rendszerek
BME – PRO PROGRESSIO INNOVÁCIÓS DÍJ PÁLYÁZAT 2018.
Nyíregyházi Egyetem, Műszaki és Agrártudományi Intézet 44
A szakszervezetek szerepe a munkavédelmi érdekegyeztetésben
Címdia mindig azonos betűméretben, és stílusban!
Címdia mindig azonos betűméretben, és stílusban!
Előadás másolata:

Pókerágens fejlesztése játékelméleti alapokon Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Pókerágens fejlesztése játékelméleti alapokon Készítette: Molnár Miklós Intelligens Rendszerek BSc ágazat (mikimolnar@t-online.hu) Konzulens: Kovács Dániel László Méréstechnika és Információs Rendszerek Tanszék (dkovacs@mit.bme.hu) 2009.05.18

Tartalom Motiváció A póker Számítógépes póker Játékelmélet FishBot, egy szakértői megközelítés Implementációs környezet Összefoglalás, kitekintés

A póker játék bemutatása A játék célja: Az összesített egyéni profit maximalizálása Szabályok A Texas Hold’em Nehézség: Nem teljesen hozzáférhető környezet 1. pont: A profit szerzés érdekében viszont pénzt kell befektetünk, majd tudásunkat (vagy tudásbázisunkat) használva ezt kamatoztatni. 2. pont: Magának a pókernek rengeteg fajtája van különböző szabályokkal, mi most a legnépszerűbbel a Texas Hold’em-mel fogunk foglalkozni. 3. pont: Háromféle cselekvési lehetőségünk van a szituációtól függően: dobás, check(passz)/megadás, emelés/visszaemelés A játék leosztásokból áll, minden leosztásnak 4 fázisa - licitköre van. Preflop: Kezdő tétek (kisvak, nagyvak berakása), ezután minden játékos kap 2 lapot, ezek a saját lapjai. Licit következik. Flop: Az osztó 3 lapot helyez az asztalra ez a flop. Ismét licit kör. Turn: Az osztó egy újabb lapot helyez az asztalra. Erre licit. River: Az osztó egy utolsó lapot tesz az asztalra. Az utolsó licit kör. Ezután akik játékban maradtak végig megmutatják a lapjaikat és az ezekből valamint az asztalon lévő lapokból képzett legerősebb 5 lapos kombináció alapján megtörténnek a kifizetések. Kézerősségről ábra. 4. pont: Nem teljesen hozzáférhető környezet pl.: ellenfelek lapjai, az elkövetkezőkben asztalra kerülő lapok. -> A számítógépes póker.

Számítógépes póker Nem determinisztikus Backgammon … Póker Tőzsde … Hozzáférhető Információ Limitált Információ Sakk Dámajáték Go … Torpedó Aknakereső … Determinisztikus

Számítógépes póker Problémák: Megoldások: Nem tökéletes-információs játék Sztochasztikus kimenetel Részlegesen megfigyelhető Nem kooperatív többszemélyes játék Megoldások: Ellenfél modellezés Tudásbázis-alapú rendszerek és szimuláció Játékelméleti módszerek 1.1 pont: kezelni kell a blöffölést, csapdázást. 1.2 pont: irányíthatatlan, véletlen kimenetel (osztó által leosztott lapok) 1.3 pont: Az ellenfél eldobhatja lapját mutatás nélkül, ez megnehezíti a tanulást. 1.4 pont: Ez tovább növeli a komplexitást. 2.1 pont: Az ellenfelünkről egy képet kialakítani, mely alapján pontosabban tudjuk jósolni cselekvéseit és becsülni lapjainak erősségét, cselekvéseinek jelentését. Előnyei: Ellenfél gyengeséginek kihasználása. Hátrány: Nehezen megvalósítható tanulás, esetleges hibák kihasználása esetén félrevezető lehet. 2.2 pont: Cselekvéseinket egy meglévő tudásbázis és kimeneti szimulációk alapján egy szakértői rendszerrel határozzuk meg. Előny: Könnyen integrálható modellezési és szimulációs információk, nem túl komplex. Hátrány: A rendszer ismerete esetén kihasználhatók gyengeségei. 2.3 pont: Játékelméleti módszerekkel matematikai eszközöket kapunk, a játék kezelésére. A játékot extenzív alakban ábrázolva, megfelelő algoritmusok használatával kiegyensúlyozott hívási stratégiát alkothatunk. -> Játékelmélet részletesebben.

Játékelméleti megközelítés Mit nevezünk játéknak, és mi a játékelmélet? Bemutató példa 1. pont: Egy játék alapvetõen három komponensbõl áll: játékosokból, játékszabályokból és az eredmények értékelésébõl. Az elsõ nem igényel különösebb magyarázatot. Az eredmények értékelése megint csak egyértelmû: minden egyes játékos felállít egy rangsort a játék lehetséges kimenetelei között. Az egyszerûség kedvéért feltételezzük, hogy az eredmény pénzbeli nyereséggel vagy veszteséggel jár. A játék célja a minél kedvezõbb kifizetés elérése, s egy játékos ezt a célt szem elõtt tartva, választja lépését vagy lépéseit – természetesen a játékszabályok figyelembevételével. Függetlenül attól, hogy hányszor vagy mikor kerül döntéshelyzetbe, stratégiának nevezzük azt a döntéssorozattervet, amely a játék minden lehetséges döntéshelyzetére és az ebben tapasztalható minden lehetséges állapotára elõír egy konkrét döntést. Bár a játékban elõálló helyzetek függenek a játékostársak lépéseitõl, a játékos stratégiája nem, legfeljebb más-más válaszlépést ír elõ. Így, ha a játékosok lépései függenek is egymástól, a stratégiáik nem. A játék kifizetését az egyes játékosok választott stratégiái döntik el.1 A továbbiakban feltételezzük, hogy a játékosok ismerik a játékot, és hogy mindent megtesznek a magasabb kifizetés érdekében. A játékelmélet célja megtalálni az optimális stratégiákat és a kialakuló egyensúlyi helyzeteket. 2. pont: Egy leegyszerűsített póker játék, extenzív alakja. 2 játékos: Fred és Alice, Fred kap egy lapot ami lehet piros vagy fekete, 2 lehetséges cselekvés van emelés vagy dobás, Alice pedig megadhat vagy dobhat. A képen látható egy a véletlent reprezentáló csomó pont miszerint piros vagy fekete lapot kap Fred. Döntési csomópontok, döntési halmaz. Kifizetések A játék normál formája mátrixos reprezentációban. Láthatóak az egyes stratégiapárokra a kifizetések. Továbbá látható a képen milyen kevert stratégia párra alakul ki a játék nash-egyensúlya. Látható, hogy még egy ennyire leegyszerűsített játéknál is elég komplex a probléma. Még a Texas Hold’em Limit variánsánál is O(10^18) nagyságrendű az extenzív alak mérete. Ezért a saját bot tervezésénél a következő megkötéseket tettem: -> következő dia.

FishBot, egy szakértői megközelítés Fix Limit, Heads Up Hold’em Szakértői rendszer Tudásbázis Származtatott értékek Játék fázisa szerint eltérő következtetés Pre-flop Post-flop pont: A heads up a póker kétszemélyes változata. Továbbá a fix limit azt jelenti, hogy mindig csak fix összeggel emelhetünk. Pont: A szakértői rendszerek vagy más néven tudásalapú rendszerek olyan programok, melyekbe be van építve bizonyos feladat-specifikus tudás és azok az analitikus képességek, melyekkel általában a szakértő emberek is rendelkeznek. A szakértői rendszer leggyakoribb formája egy olyan program, amely szabályok halmazából áll, melyekkel információt (melyet a felhasználó ad meg) analizál egy bizonyos problémakörben valamint matematikailag is analizálja a problémát és (annak természetétől függően) az eszközölendő javításokhoz egy végrehajtandó cselekvéssorozatot javasol a felhasználónak. Esetünkben a rendszer (dobás,megadás,emelés) valószínűségi vektort ad eredményül, amely alapján egy randomizálás után meghozza a végleges döntést és cselekszik. Pont: A tudásbázist, a szakértők által alkalmazott eset specifikus szabályok, a megfigyelt és számunkra értékesnek ítélt és az ezekből származtatott további információk alkotják. Pont: Ilyen például a frekvencia tábla, súly tábla, súlyozott effektív kézerősség, push faktor. Pont: Különböző adatokat veszek figyelembe a játék különböző fázisaiban, ennek oka, hogy egyes adatok csak abban a fázisban válnak relevánssá vagy túl erőforrás igényes lenne a korai számítása.

FishBot, részletesebb terv Pre-flop következtetés Súlyozott effektív kézerősség (wEHS) Agresszivitási faktor Post-flop következtetés PC (Pot committed) Ellenfél modellezés Frekvencia tábla Súly tábla 1.1 pont: súlyozott effektív kézerősség: három származtatott értékből számítható: - kézerősség: a lehetséges lapkombinációk erősségbeli sorrendezésével (hány erősebb, gyengébb keze lehet az ellenfélnek) - pozitív potenciál: a következő lap érkezése után, mekkora a kezünk javulási esélye - negatív potenciál: a következő lap érkezése után, mekkora az ellenfél kezének javulási esélye - a számítás során az egyes lapokat súlytáblában található valószínűségekkel súlyozzuk 1.2 pont: agresszivitási faktor: - a frekvencia tábla alapján számítható figyelembe véve az ellenfél dobás/megadás/emelés arányát 2.1-2 pont: az előzővel megegyezően számítható 2.3 pont: Ezen faktor segítségével megelőzhető egy nagy kassza elengedése a végjátékban. 3.1 pont: A frekvencia táblában tároljuk ellenfelünk cselekvéseinek számlálóit, ezzel képet kaphatunk játékstílusáról, kihasználható hibáiról, pl. a játék egy adott szakaszában mindig blöfföl. 3.2 pont: A súlytáblában tároljuk az adott szituációban milyen valószínűséggel tart egy adott kezet ellenfelünk. A súly táblát minden akció után, az agresszivitási faktor, és a játék fázisa szerint újrasúlyozzuk.

Implementációs környezet Java Jess Meerkat API Poker Academy Futtatás és teszteredmények Standalone alkalmazás Poker Academy-n keresztül futtatható Meg nem valósult ötletek Game-tree pont: az implementáláshoz a Java nyelvet választottam, mivel tanulmányaim során ezzel a nyelvvel dolgoztam a legtöbbet, továbbá a Jess és Meerkat API is java nyelven van implementálva. 1.1 pont: Jess: A CLIPS (C Language Integrated Production System) egy produkciós rendszer keret, amelyet beagyazott szakértői alkalmazások fejlesztésének megkönnyítésére fejlesztettek ki. A Jess, CLIPS nyelven leírt produkciós rendszerek (azaz előrefelé-láncolt szakértői rendszerek) futtatására alkalmas. A Jess tehát a CLIPS programhoz hasonlóan .clp állományok megírására, beolvasására, és interpretálására alkalmas. Ezen túl azonban a Jess lehetőséget ad CLIPS-hez hasonló, Java nyelvű programok fejlesztésére is. Ehhez egy kiváló Java API-t (Application Programming Interface-t) is biztosít. 1.2 pont: A Meerkat API egy Java API olyan pókerbotok fejlesztéséhez amelyek a Poker Academy-ben futtathatók. 2 pont : A PokerAcademy-t az Alberta-i Egyetem Pókeres kutatócsoportja fejleszti, akik mellesleg a Polaris-szal vezetik a számítógépes póker világbajnokságot jelenleg. Ez a program lehetővé teszi, a játék mélyebb elemzését, továbbá tucatnyi intelligens pókerbottal mérhetjük össze tudásunkat és saját bot-unk tudását, mivel lehetőséget ad saját botok integrálására is. Ezzel lehetőségünk nyílik több féle szituáció és a botunk összteljesítményének tesztelésére. 3. Pont 4. pont: a game-tree során tervezési nehézségekbe ütköztem és úgy láttam ezek feloldására nem lesz elég ezen félév során rendelkezésemre álló idő. Elsősorban komplexitási nehézségekbe ütköztem, mind a fa mérete és a számítási algoritmusok terén.

Összefoglalás, kitekintés Miről volt szó? Póker játék – Számítógépes póker Megvalósítási lehetőségek és egy implementáció A félév során végzett munka: A témában folytatott eddigi kutatások, szakirodalom áttanulmányozása: Számítógépes póker megismerése Játékelméleti ismeretek szerzése Szakértői rendszerek megismerése (Jess API) Egy szakértői megvalósítás tervezése és implementálása Kiegészítési javaslatok: A program kiterjesztése több játékosra Ellenfél modell finomítása Játékelméleti modell integrálása 1.1 pont: szabályok, célok – nehézségek, megoldások 2.1.1 pont: Az Alberta Egyetem (Kanada) Számítógépes-póker Kutatócsoport és ezenbelül Darse Billings munkája 2.1.2 pont: Klasszikus játékelmélet, Simonovits András jegyzetei, előadásai

Köszönöm a figyelmet! Kérdések?