Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "A játékelmélet és a Kétszemélyes játékok"— Előadás másolata:

1 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

2 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.

3 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.

4 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.

5 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.

6 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

7 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

8 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

9 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.

10 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.

11 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.

12 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.

13 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.

14 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 csomópontja van (bár a keresési gráfnak „csak” 1040 különböző csomópontja lesz).

15 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.

16 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.

17 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).

18 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.

19 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.

20 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.

21 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.

22 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: = 3 = 5 = 8 (XOR) Állítás: azon állások vesztők, melyekre az XOR csupa nullát eredményez.

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

24 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.

25 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.

26 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.

27 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.

28 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.

29 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.

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

31 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.

32 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.

33 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.

34 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.

35 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.

36 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.

37 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.

38 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.

39 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.

40 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.

41 (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.

42 (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.

43 (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.

44 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.

45 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.

46 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.

47 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.

48 Vége


Letölteni ppt "A játékelmélet és a Kétszemélyes játékok"

Hasonló előadás


Google Hirdetések