Kétszemélyes játékok.

Slides:



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

GRIN: Gráf alapú RDF index
Készítette: Kosztyán Zsolt Tibor
Nevezetes algoritmusok
KÉSZÍTETTE: Takács Sándor
MESTERSÉGES INTELLIGENCIA (ARTIFICIAL INTELLIGENCE)
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Adatelemzés számítógéppel
Programozási tételek, és „négyzetes” rendezések
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:
Kalman-féle rendszer definíció
Vektormező szinguláris pontjainak indexe
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
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
Az összehasonlító rendezések
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.
Állapottér-reprezentáljunk!
Játékelmélet Nash, dominancia.
Papp Róbert, Blaskovics Viktor, Hantos Norbert
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ő:
A digitális számítás elmélete
AVL fák.
A digitális számítás elmélete
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
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.
Gazdasági informatikából megkaptuk a félévi feladatot!!! Mindenki nagy örömére… 0. hét.
Játékelméleti alapfogalmak előadás
KERESÉS (SEARCH).
Készítette: Kosztyán Zsolt Tibor
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Scenáriók készítése Dr. Kollár József Magyar Coachszövetség Közhasznú Alapítvány.
Lénárt Szabolcs Páll Boglárka
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
A differenciálszámtás alapjai Készítette : Scharle Miklósné
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
I276 Antal János Benjamin 12. osztály Nyíregyháza, Széchenyi I. Közg. Szki. Huffman kódolás.
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.
Fák.
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
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.
Háló- (gráf-) algoritmusok
A játékelmélet és a Kétszemélyes játékok
Valószínűségszámítás II.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Hibaszámítás Gräff József 2014 MechatrSzim.
Gráf szélességi bejárása. A szélességi bejárás elmélete Célja egy véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő.
(Bináris) Kupac (heap) adattípus
PhD beszámoló 2003/2004 I. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
HÁLÓZAT Maximális folyam, minimális vágás
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
Mediánok és rendezett minták
Sakk algoritmus.
Mesterséges intelligencia
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Állapottér-reprezentáljunk!
Előadás másolata:

Kétszemélyes játékok

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 azzl is, hogy azok hogyan befoljá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.

Kétszemélyes játékok A több ágensből álló környezetek lehetnek: Kooperatív (cooperative) Verseny (competitive) A versenykörnyezetek, ahol az ágensek céljai konfliktusban vannak, elvezetnek az ellenségek melletti kereséshez (adversarial search). Ha két ágens van, akkor ezeket kétszemélyes játékoknak nevezzük.

Kétszemélyes játékok 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.

Kétszemélyes játékok 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.

Kétszemélyes játékok 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.

Kétszemélyes játékok Konrad Zuse, Claude Shannon, Norbert Wiener, Alan Turing az 50-es években kezdtek sakkprogramokkal foglalkozni. Azóta a gépek sok játékban jobban 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.

Kétszemélyes játékok 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).

Kétszemélyes játékok 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.

Kétszemélyes játékok 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ékot egyfajta keresési problémaként lehet definiálni az alábbi komponensekkel.

A játékok komponensei 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.

A játékok komponensei 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.

A játékok komponensei 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.

Amőba (tic-tac-toe)

Amőba (tic-tac-toe) 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.

A játékok komponensei 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.

Optimális stratégiák 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.

Optimális stratégiák 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.

Optimális stratégiák

Optimális stratégiák 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.

Optimális stratégiák 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.

Optimális stratégiák 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.

Optimális stratégiák 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.

Minimax algoritmus 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ül a 3, 2 és 2 maximumát, hogy a gyökér által visszaadott 3-as értéket megkaphassuk.

Minimax algoritmus A minimax aégortimus 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őkomplexitá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 aégoritmus 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.

Alfa-béta nyesés 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 azonbam 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.

Alfa-béta nyesés

Alfa-béta nyesés (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.

Alfa-béta nyesés (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 édremes C további követőit megvizsgálni. Ez az alfa-béta nyesés egy példája.

Alfa-béta nyesés (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.

Alfa-béta nyesés 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.

Alfa-béta nyesés

Alfa-béta nyesés 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.

Alfa-béta nyesés 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 legjobbank 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.