A játékelmélet és a Kétszemélyes játékok

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
A kölcsönös befolyásolás
Készítette: Kosztyán Zsolt Tibor

Elemi algoritmusok Páll Boglárka.
KÉSZÍTETTE: Takács Sándor
Kamarai prezentáció sablon
Készítette: Boros Erzsi
Erőállóképesség mérése Találjanak teszteket az irodalomban
Humánkineziológia szak
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Műveletek logaritmussal
Matematika II. 3. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
Euklidészi gyűrűk Definíció.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Az összehasonlító rendezések
A tételek eljuttatása az iskolákba
Gazdaságmatematika 5. szeminárium.
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Minimax és problémaredukció, egyszerű példák INCK431 Előadó: Dr. Nagy Benedek Norbert Gyakorlatvezető: Kovács Zita 2011/2012. II. félév A MESTERSÉGES INTELLIGENCIA.
Játékelmélet Nash, dominancia.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
5.2. Próbavizsga Próbáld ki tudásod!
OPERÁCIÓKUTATÁS Kalmár János, 2011 Tartalom Több lineáris célfüggvényes LP Tiszta egészértékű LP.
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
AVL fák.
A digitális számítás elmélete
Kétszemélyes játékok Előadó: Nagy Sára.
Dijkstra algoritmusa Egy csúcsból a többibe vezető legkisebb költségű út megkeresése Az algoritmus működésének leírása és bemutatása LL.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Játékelméleti alapfogalmak előadás
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
Matematikai alapok és valószínűségszámítás
szakmérnök hallgatók számára
Scenáriók készítése Dr. Kollár József Magyar Coachszövetség Közhasznú Alapítvány.
Játékelmélet Kovács Dániel László Intelligens Rendszerek kutatócsoport
Lénárt Szabolcs Páll Boglárka
Két kvantitatív változó kapcsolatának vizsgálata
© Farkas György : Méréstechnika
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
Az szabály nem megfelelő 1.AlapokA sakkot két játékos játsza egymás ellen. Egyik játékos a sötét, a másik a világos bábukat irányítja. Mindkét játékosnak.
Játékelmélet - bevezetés
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Stratégiai játékok. Mit nevezünk stratégiai játéknak? Az ilyen típusú játékokban a játékosok megadott szabály szerint lépnek. Általában kötelező lépni.
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
Mikroökonómia gyakorlat
Valószínűségszámítás II.
Kétszemélyes játékok.
előadások, konzultációk
Adalékok egy véges összegzési feladathoz
Mesterséges intelligencia 8. Stratégiai játékok A játék kimenetelére a játékosoknak ellenőrizhető módon van befolyásuk. Pl.: sakk, dáma, póker stb. A.
Az amőba játék algoritmusa. A játék  Az amőba játék, vagy ahogy Magyarországon sokan ismerik, az ötödölő, az egyik legnépszerűbb logikai játék. Sikerét.
Bevezetés a játékelméletbe
Mesterséges intelligencia
Sakk algoritmus.
Mesterséges intelligencia
Előadás másolata:

A játékelmélet és a Kétszemélyes játékok Mesterséges Intelligencia A játékelmélet és a Kétszemélyes játékok

Játékelmélet A játékelmélet a matematika egyik, interdiszciplináris jellegű ága, mely azzal a kérdéssel foglalkozik, hogy mi a racionális (ésszerű) viselkedés olyan helyzetekben, ahol minden résztvevő döntéseinek eredményét befolyásolja a többiek lehetséges választása, vagyis a játékelmélet a stratégiai problémák elmélete.

Alapfogalmak A Játék a játékosok lehetséges viselkedését és lényeges körülményeket meghatározó szabálysor által leírt folyamat. Az információs halmaz (ismeret) meghatározó. Pl.: a játék teljes információs, amennyiben a résztvevők birtokolják az összes vonatkozó adatot (szabályok, lehetséges választások, eddigi események), és a játék véges. A stratégia a szabályokat alkalmazó, az ellenfél érzékelt hibáit felhasználó – győzelemre, de minimum döntetlenre segítő módszer.

Zérus összegű az a játék, amelyben a játékosok csak egymás kárára növelhetik nyereségüket. Nem zérus összegű játszma az, mikor a két fél nemcsak egymástól, hanem egymással együttműködve valamilyen külső forrásból is nyerhet. Egy játék lehet: két-, vagy többszemélyes.

Kooperatív a játék akkor, ha a játékosok között kialakul az együttműködés. Nem kooperatív (verseny) játék esetén a játékosok versengenek egymással. A Nash-egyensúly az összes játékos összes stratégiájának olyan együttesét jelenti, amelyben egyik játékosnak sem származik előnye abból, ha stratégiáján változtat, amíg a többi játékos azonos módon játszik tovább.

Játékok típusai Determinisztikus (a véletlen nem játszik szerepet) Sztochasztikus ( a véletlennek szerepe van) Teljes információs Sakk, go Dáma, monopoly Részleges információs torpedó Bridge, póker

Egy fontosabb játékelméleti probléma Fogolydilemma A nem zérus összegű játékok egy fajtája. Két, súlyos bűnténnyel gyanúsított fogoly közül vallomást tesz-e az egyik a másik ellen? Saját nyereségüket tartják szem előtt, tekintet nélkül a másik résztvevő nyereségére. Nash-egyensúly nem vezet mindkét fél számára optimális megoldáshoz

Klasszikus fogolydilemma: Egy súlyos bűntény kapcsán két gyanúsítottat letartóztat a rendőrség. Mivel nem áll rendelkezésre elegendő bizonyíték a vádemeléshez, ezért elkülönítik őket egymástól és mindkettejüknek ugyanazt az ajánlatot teszik. Egyik tagad Egyik vall Másik tagad Mindketten 6 hónapot kapnak Egyik szabad, másik 10 évet kap Másik vall Egyik 10 évet kap, másik szabad Mindkettő 6 évet kap

Kétszemélyes játékok A többágenses környezetben (multiagent environment) minden ágensnek számolnia kell más ágensek cselekvéseivel is, és azzal is, hogy azok hogyan befojásolják a jólétét. Más ágensek nem megjósolható viselkedése számos lehetséges eshetőséget (contingencies) visz be az ágens problémamegoldásába. „Ismeretlen” az ellenfél: nem ismerjük a lépéseit feltételezzük, hogy nyerni akar.

A MI-ben a játékok általában igen specializáltak – determinisztikus, váltott lépésű, kétszemélyes, zérus összegű, teljes információjú (zero-sum games of perfect information). Ez azt jelenti, hogy két ágens helyezkedik el egy determinisztikus és teljesen megfigyelhető környezetben, a cselekvéseik váltják egymást, és a játék végén a hasznosságértékeik mindig azonosak és ellentétes előjelűek.

A sakkban például, ha az egyik játékos győz (+1), akkor a másik veszít (-1). A játékok absztrakt természetük miatt vonzó terület a MI-kutatók számára. Egy játék állását könnyű reprezentálni, és az ágensek képességei általában kisszámú, jól definiált eredményre vezető cselekvésre korlátozódnak.

Egy fizikai játéknak (pl. jégkorong) sokkal bonyolultabb a leírása Egy fizikai játéknak (pl. jégkorong) sokkal bonyolultabb a leírása. Több a lehetséges cselekvés, a cselekvések legális voltát nem túl precíz szabályok határozzák meg. A fizikai játékok közül a MI-kutatók csak a robotfutballal foglalkoztak.

Konrad Zuse, Claude Shannon, Norbert Wiener, Alan Turing az 50-es években kezdtek sakkprogramokkal foglalkozni. Azóta a gépek sok játékban jobbak az embernél (sakk, dáma, reversi). A kivétel a go, ahol a számítógép még csak amatőr szinten játszik.

A kétszemélyes játékok azért érdekesek mert nagyon nehéz őket megfejteni. A sakknál például az átlagos elágazási tényező 35, gyakran előfordul, hogy a játék során mindkét játékos 50 lépést tesz, így a keresési fának 35100, vagyis 10154 csomópontja van (bár a keresési gráfnak „csak” 1040 különböző csomópontja lesz).

A probléma megoldását a legjobb lépés definíciójával és megkeresésével kezdjük. Vannak olyan technikák is amelyek korlátozott idő alatt is képesek jó lépés megválasztására. A nyesés vagy metszés (pruning) lehetővé teszi, hogy figyelmen kívül hagyjuk a keresési fa azon részeit amelyek nincsenek befolyással a végső választásra.

A heurisztikus kiértékelő függvények (evaluation function) lehetővé teszik, hogy kimerítő keresés nélkül fel tudjuk becsülni a valódi állapot igazi hasznosságát. Vannak olyan kétszemélyes játékok is amelyben a véletlen is megjelenik (pl. ostábla). A bridzs tartalmazza a hiányos információ (imperfect information) elemeit is, mivel a játékosok számára az összes kártya nem ismert.

Optimális döntések kétszemélyes játékokban Olyan kétszemélyes játékokkal fogunk foglalkozni ahol a játékosokat MAX-nak és MIN-nek fogjuk nevezni. MAX lép először, majd a játékosos felváltva lépnek amíg a játék véget nem ér. A játék végén a győztes pontokat kap (vagy a vesztes kap büntetőpontot).

A játékok komponensei A játékot egyfajta keresési problémaként lehet definiálni az alábbi komponensekkel: Kiinduló állapot (initial state). Magában foglalja a táblaállást, és azt, hogy ki fog lépni. Egy állapotátmenet függvény (successor function) amely (lépés, állapot) párok listájával tér vissza, megadva a legális lépések listáját és az azokból következő állapotokat.

Egy végteszt (terminal test), ami meghatározza, hogy a játéknak mikor van vége. Azok az állapotok ahol a játék befejeződött, a végállapotok (terminal states). Egy hasznosságfüggvény (utility function) amit nyereségfüggvénynek (payoff function) is neveznek a játék végeredményéhez egy számértéket rendel. A sakkban a végeredmény győzelem, vereség vagy döntetlen lehet, amit +1, -1 vagy 0 értékekkel ábrázolhatunk.

Néhány játék ennél több végeredményre vezethet. Pl Néhány játék ennél több végeredményre vezethet. Pl. az ostáblában a nyereség +192 és -192 között mozoghat. Itt zérusösszegű játékokkal fogunk foglalkozni. A kezdeti állapot és mindkét fél legális lépései a játék játékfáját (game tree) definiálják.

Nim játék Játék: gyufaszálak több sorban adott gyufaszál minden sorban lépés = egy sorból valahány gyufaszál elvétele játék vége: elfogynak a gyufaszálak veszít az a játékos, mely már nem tud gyufaszálat felvenni.

A játék állásai: Nyerő– ha a játékos tud úgy lépni, hogy az ellenfél lépéseitől függetlenül nyer; Vesztő– ha nincs nyerő lépés. Nyerő stratégia: 0 0 1 1 = 3 0 1 0 1 = 5 1 0 0 0 = 8 1 1 1 0 (XOR) Állítás: azon állások vesztők, melyekre az XOR csupa nullát eredményez.

Nim játék példa Kezdeti állapot: 0 0 1 1 = 3 0 1 0 1 = 5 1 0 0 0 = 8 1 1 1 0 (XOR) Válasszuk az utolsó (8 elemes) sort. Ahhoz, hogy mindenhol 0 legyen 0 1 1 0 = 6 kell maradjon, tehát 2 elemet kell elvenni. Az új pozíció vesztes.

Nim játék fája Játék fája véges mélységű; Nyerő stratégia: mindig van legalább egy olyan lépés,melyből győzni tud, függetlenül attól, hogy az ellenfél mit lép; 5.1. ábra: A nim játék fája, az első sorban 1 pálcika, a második sorban 2 pálcika esetében.

Amőba (tic-tac-toe) 5.2. ábra: 3x3-as amőba játék részleges keresési fája. A legfelső csomópont a kiinduló állapot. MAX lép először x-et téve valamelyik üres négyzetbe.

Kezdeti állapotban MAX-nak 9 lehetséges lépése van Kezdeti állapotban MAX-nak 9 lehetséges lépése van. A játék során MAX és MIN felváltva tesznek x-et illetve 0-t, míg egy végállapotnak megfelelő csomópontba el nem jutnak, ahol az egyik játékosnak egy sorban, egy oszlopban vagy egy átló mentén három x-e vagy 0-ja lesz, vagy minden mező ki lesz töltve.

Az egyes levélcsomópontok alatt található számok a végcsomópontnak a MAX szempontjából mért hasznosságát jelölik. A nagy értékekről feltételezzük, hogy jók MAX számára, és rosszak MIN számára (innen ered a játékosok neve). MAX feladata, hogy a játékfát a legjobb lépés meghatározására használja fel.

Egy normális keresési problémánál, egy optimális megoldás nem más mint a célállapothoz vezető lépések szekvenciája, amely a győzelmet jelenti. Kétszemélyes játékok esetén MIN-nek is van beleszólása a dologba. Ezért MAX-nak olyan stratégiát (strategy) kell találni amely meghatározza MAX lépését a kezdeti állapotban, majd a MIN lehetséges válaszaiból keletkező állapotokban, és így tovább.

Egy optimális stratégia olyan kimenetelekhez vezet, amelyek legalább olyan jók, mintha bármilyen más stratégiával egy tévedhetetlen opponens ellen játszanánk. Először nézzük, hogyan kell megkeresni az optimális stratégiát, bár ennek kiszámítására MAX-nak nem lesz elegendő ideje az amőbánál bonyolultabb játékokban.

5.3. ábra: Egy lépésváltásos játékfa.

MAX lehetséges lépései a1, a2 és a3 MAX lehetséges lépései a1, a2 és a3. Az a1 lépésre MIN lehetséges válaszai b1, b2 és b3. Ez a konkrét játék MAX és MIN egy-egy lépése után véget ér. Ez a fa egy lépés mély, és két fél lépésből vagy lépésváltásból áll. A végcsomópontok hasznossága 2 és 14 között mozog.

Az optimális stratégia meghatározásához az egyes csomópontok minimax értékét kell megvizsgálni, amit MINIMAX(n)-nel jelölünk. Egy csomópont minimax értéke a csomópont hasznossága MAX szemszögéből, feltéve hogy innen kezdve egészen a játék befejezéséig mindkét játékos optimálisan lép. Egy végállapot minimax értéke a saját hasznossága.

Adott minimax értékek mellett MAX szeretne maximális értékű, MIN pedig a minimális értékű állapotba jutni. Az első, B címkéjű MIN csomópontnak három követője van: 3, 12 és 8, a B csomópont minimax értéke tehát 3. A másik két MIN csomópontnak a minimax értéke 2.

A gyökér egy MAX csomópont, a követőinek minimax értékei 3, 2 és 2, így a gyökér minimax értéke 3. A gyökér minimax döntése (minimax decision) MAX számára a1, mert maximális értékű követőhöz vezet.

Minimax algoritmus A minimax algoritmus (minimax algorithm) az optimális döntést az aktuális állapotból számítja ki, felhasználva az egyes követő állapotok minimax értékeinek kiszámítására a definiáló egyenletekből közvetlenül származtatott, egyszerű rekurzív formulát. A rekurzió egészen a falevelekig folytatódik, majd a minimax értékeket a fa mentén visszafelé terjesztjük (back-up), ahogy a rekurzió visszalép.

Az algoritmus először rekurzív módon leereszkedik a három bal alsó csomóponthoz, a HASZNOSSÁG függvénnyel kiszámítva, hogy az értékek 3, 12 és 8. Majd az algoritmus előveszi ezen értékek minimumát (3), és ezt adja vissza ahogy a B csomóponthoz visszatér. Hasonló procedúra eredményezi a további visszaadott értékeket is: 2-t a C, és 2-t a D csomópont számára. Végül vesszük a 3, 2 és 2 maximumát, hogy a gyökér által visszaadott 3-as értéket megkaphassuk.

A minimax algoritmus a játékfa teljes mélységi feltárását végzi A minimax algoritmus a játékfa teljes mélységi feltárását végzi. Ha a fa maximális mélysége m, és minden csomópontban b legális lépés létezik, akkor a minimax algoritmus időkomplekszitása O(bm). A tárkomplexitás O(bm) egy olyan algoritmus számára, amely az összes követőt egyszerre számítja ki, és O(m) egy olyan algoritmus esetében, amely a követőket egyenként generálja.

Alfa-béta nyesés A minimax algoritmus problémája, hogy a játékban a megvizsgálandó állapotok száma exponenciálisan nő a lépések számával. A kitevőtől sajnos nem tudunk megszabadulni, de azért megfelezhetjük. A korrekt minimax döntés kiszámítása lehetséges anélkül is, hogy minden csomópontra ránéznénk. Nyeséssel a játékfa nagyobb részét kihagyhatjuk.

Ha az alfa-béta nyesést (alpha-beta pruning) egy standard minimax fára alkalmazunk, ugyanazt az eredményt adja vissza mint a minimax, a döntésre hatással nem lévő ágakat azonban lenyesi. Meg kell határoznunk az optimális döntést, de kísérjük figyelemmel, hogy mit is tudunk a folyamat minden pontjában. Meg tudjuk határozni a minimax döntést anélkül, hogy a két levélcsomópontot bármikor is megnéznénk.

5. 4. ábra: Az optimális döntés kiszámításának lépései a 5. 2 5.4. ábra: Az optimális döntés kiszámításának lépései a 5.2.ábrán látható játékfa esetében.

(a). A B csomópont alatt az első levélnek 3 az. értéke. B (a) A B csomópont alatt az első levélnek 3 az értéke. B tehát, ami egy MIN csomópont, legfeljebb 3 értékű. (b) A B alatti második csomópontnak 12 az értéke. MIN ezt a lépést elkerüli, így B értéke még mindig legfeljebb 3. (c) A B alatti harmadik levélnek 8 az értéke. B összes követőit láttuk már, B értéke tehát pontosan 3. Most arra következtetünk, hogy a gyökér értéke legalább 3, mert MAX-nak a gyökérben 3-as értékű választása van.

(d). A C alatti első levélnek 2 az értéke. C. tehát, (d) A C alatti első levélnek 2 az értéke. C tehát, ami egy MIN csomópont legfeljebb 2 értékű. De mi tudjuk már, hogy B-nek 3 az értéke, MAX tehát C-t soha nem fogja választani. Azért nem is érdemes C további követőit megvizsgálni. Ez az alfa-béta nyesés egy példája.

(e) A D alatti első levélnek 14 az értéke, így D értéke legfeljebb 14 (e) A D alatti első levélnek 14 az értéke, így D értéke legfeljebb 14. Ez több mint MAX legjobb alternatívája (3), ezért meg kell vizsgálni D követőit. Most a gyökér minden követője esetén rendelkezünk értékkorláttal, a gyökér értéke legfeljebb 14. (f) D második követőjének értéke 5, így tovább kell folytatnunk a vizsgálatot. A harmadik követő értéke 2, D értéke tehát pontosan 2. MAX döntése a gyökérnél, hogy B felé kell lépni, 3-as értékkel.

Az alfa-béta nyesést tetszőleges mélységű fákra lehet alkalmazni, és sokszor lehetséges, hogy a levelek helyett teljes részfákat nyessünk le. Az általános elv a következő: tekintsünk egy olyan n csomópontot a fa belsejében, hogy a Játékosnak lehetősége legyen e csomópontba lépni.

5. 5. ábra: Alfa-béta nyesés: általános eset 5.5. ábra: Alfa-béta nyesés: általános eset. Ha m a játékos számára jobb, mint n, akkor a játék során sosem fogunk elérni n-be.

Ha a Játékosnak van az n szülőcsomópontjánál vagy ettől feljebb bármelyik döntési pontban egy jobb választása (m), akkor az n-t az aktuális játékban soha nem érjük el. Ha az n-ről tehát (néhány követőjének megvizsgálásával) már eleget tudunk, hogy ehhez a konklúzióhoz jussunk, a csomópontot nyugodtan lenyeshetjük.

Az alfa-béta nyesés hatékonysága erősen függ a követő csomópontok vizsgálatának sorrendjétől. Ezért érdemes először a legjobbnak tűnő csomópontokat megvizsgálni. Az alfa-béta nyesésnek elég O(bm/2) csomópontot megvizsgálni a legjobb lépés kiszámításához a minimax O(bm) értékével szemben. Ez azt jelenti, hogy az effektív elágazási tényező b helyett b1/2 lesz, például a sakk esetében 35 helyett 6. Ugyanannyi idő alatt az alfa-béta nyesés kétszer olyan messzire néz mint a minimax.

Vége