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

Mesterséges Intelligencia 1. A játékelmélet a matematika egyik, interdiszciplináris jellegű ága, mely azzal a kérdéssel foglalkozik, hogy mi a racionális.

Hasonló előadás


Az előadások a következő témára: "Mesterséges Intelligencia 1. A játékelmélet a matematika egyik, interdiszciplináris jellegű ága, mely azzal a kérdéssel foglalkozik, hogy mi a racionális."— Előadás másolata:

1 Mesterséges Intelligencia 1

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

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

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

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

6 Determinisztikus (a véletlen nem játszik szerepet) Sztochasztikus ( a véletlennek szerepe van) Teljes információsSakk, goDáma, monopoly Részleges információstorpedóBridge, póker 6

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

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 tagadEgyik vall Másik tagadMindketten 6 hónapot kapnak Egyik szabad, másik 10 évet kap Másik vallEgyik 10 évet kap, másik szabad Mindkettő 6 évet kap 8

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

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

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

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

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

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

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

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

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

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

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

20 Néhány játék ennél több végeredményre vezethet. Pl. az ostáblában a nyereség +192 és 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. 20

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

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

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

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

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

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

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

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

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

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

31  MAX lehetséges lépései a 1, a 2 és a 3. Az a 1 lépésre MIN lehetséges válaszai b 1, b 2 és b 3.  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. 31

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

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

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 a 1, mert maximális értékű követőhöz vezet. 34

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

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

37  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(b m ).  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. 37

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

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

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

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

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

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

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

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

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

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(b m/2 ) csomópontot megvizsgálni a legjobb lépés kiszámításához a minimax O(b m ) értékével szemben. Ez azt jelenti, hogy az effektív elágazási tényező b helyett b 1/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. 47

48 48


Letölteni ppt "Mesterséges Intelligencia 1. A játékelmélet a matematika egyik, interdiszciplináris jellegű ága, mely azzal a kérdéssel foglalkozik, hogy mi a racionális."

Hasonló előadás


Google Hirdetések