6.1. Kétszemélyes játékok

A 2. fejezetben többágenses környezeteket (multiagent environments) vezettünk be, ahol minden ágensnek számolnia kell más ágensek cselekvéseivel és azzal is, hogy azok hogyan befolyá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, ahogy ezzel a 3. fejezetben foglalkoztunk. A 2. fejezetben bevezettük a több ágensből álló kooperatív (cooperative) és verseny- (competitive) környezeteket is. A versenykörnyezetek, ahol az ágensek céljai konfliktusban vannak, elvezetnek az ellenségek melletti kereséshez (adversarial search) – amit sokszor kétszemélyes játékoknak (games) nevezünk.

A matematikai játékelmélet (game theory) a gazdaságtan egyik ága, mely a többágenses környezeteket játéknak tekinti, feltéve, hogy egy-egy ágens hatása másokra „szignifikáns”, függetlenül attól, hogy az ágensek kooperatívak vagy versengők.[54] Az MI-ben a „játékok” általában igen specializáltak – amit a játékelméleti szakemberek determinisztikus, váltott lépésű, kétszemélyes, zérusösszegű teljes információjú játékoknak (zero-sum games of perfect information) neveznek. A mi nyelvezetünkben 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 szükségszerűen veszít (–1). Éppen a hasznosságértékekben tapasztalt ellentéttől lesz a helyzet ellenséges. Ebben a fejezetben röviden foglalkozunk a többjátékos játékokkal, a nem zérusösszegű játékokkal és a sztochasztikus játékokkal, de a tényleges játékelmélettel csak a 17. fejezetben fogunk foglalkozni.

A játékok a civilizáció kezdete óta – néha már ijesztő mértékben – foglalkoztatják az emberek intellektuális képességeit. A játékok absztrakt természetük miatt vonzó területet jelentenek az 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. Az olyan fizikai játékoknak, mint a krikett vagy a jégkorong, sokkal bonyolultabb a leírása. Sokkal több lehetséges cselekvéssel rendelkeznek, és a cselekvések legális voltát éppenséggel nem túl precíz szabályok határozzák meg. A robotfutballt kivéve e fizikai játékok az MI-közösségben sok érdeklődést nem keltettek.

A kétszemélyes játékok az egyik legrégebbi, az MI által vizsgált területet jelentik. 1950-ben, alighogy a számítógépek programozhatóvá váltak, Konrad Zuse (az első programozható számítógép és az első programozási nyelv megalkotója), Claude Shannon (az információelmélet atyja), Norbert Wiener (a korszerű szabályozáselmélet megteremtője) és Alan Turing elkezdtek sakkprogramokkal foglalkozni. Azóta a játékok színvonala sokat fejlődött, addig a szintig, hogy a gépek túlszárnyalták az embert dámajátékban és Othellóban, megverték (bár nem minden alkalommal) ostáblában és sakkban az emberi bajnokokat, és versenyképesek más játékokban is. Kivétel a gó, ahol a számítógép csak amatőr szinten játszik.

A 3. fejezetben tanulmányozott játékproblémákkal ellentétben a kétszemélyes játékok azért érdekesek, mert nagyon nehéz őket megoldani. A sakknál például az átlagos elágazási tényező 35, és egy játék során gyakran előfordul, hogy mindkét fél 50–50 lépést is megtesz, vagyis a keresési fának 35100, illetve 10154 csomópontja van (bár a keresési gráfnak ebből „csak” 1040 különböző csomópontja lesz). A játékok, éppúgy, mint a valós világ, azt a képességet igénylik, hogy valamilyen döntést hozzunk, akkor is, ha az optimális döntés kiszámítása kivitelezhetetlen. A játékok nagyon komolyan büntetik a rossz hatékonyságot. Míg az A* algoritmus azon implementációja, ami csak fele olyan hatékony, egyszerűen csak kétszer annyi ideig fut, hogy megkapja az eredményt, addig egy olyan sakkprogramot, amely feleolyan hatékonyan gazdálkodik az idejével, feltéve, hogy minden más szempontból egy másik implementációval azonos, valószínűleg a földbe döngölnének. A játékelméleti kutatás ezért számos érdekes ötlethez vezetett, hogy a rendelkezésre álló időt hogyan használjuk a lehető legjobb módon.

A probléma tárgyalását az elméletileg lehetséges legjobb lépés definíciójával és ennek egy keresőalgoritmusával kezdjük. Ezek után olyan technikákat nézünk meg, amelyek korlátozott idő alatt is alkalmasak egy jó lépés megválasztására. A nyesés vagy metszés (pruning) lehetővé teszi számunkra, 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 functions) lehetővé teszik, hogy kimerítő keresés nélkül meg tudjuk becsülni egy adott állapot valódi hasznosságát. A 6.5. alfejezet olyan kétszemélyes játékokat tárgyal, amelyekben a véletlen is megjelenik, mint például az ostábla.[55] Foglalkozunk a briddzsel is, amely tartalmazza a hiányos információ (imperfect information) elemeit, hiszen egy-egy játékos számára az összes kártya nem ismert. Megnézzük végül, hogy a jelenlegi legfejlettebb játékprogramok hogyan győzik le az erős emberi ellenfeleket, és milyenek a jövőbeli trendek.



[53] Annak ellenére, hogy az angol „game” szó magyar szó szerinti fordítása „játék”, úgy éreztük, hogy az ilyen fordítás magyarul összemossa a „game” és a „toy” közötti különbséget. A „kétszemélyes játékok” szóhasználat alkalmas kompromisszum, annak ellenére, hogy az ebben a fejezetben tárgyalt módszerek olyan „kétszemélyes játékokra” is kiterjeszthetők, ahol több játékos van. (A ford.)

[54] A nagyon sok ágensből álló környezeteket jobb gazdaságoknak (economies) és nem játékoknak nézni.

[55] Az ostábla (backgammon) Magyarországon nem annyira elterjedt, bár számos vidéken ismert. A lényege, hogy egy speciális táblán, felváltva lépve, a bábukat az ellenfél térfelére juttassuk. Fő érdekessége, ami a nehézségek forrása is egyben, hogy a legális lépések mindenkori választéka véletlenszerűen – egy kockadobásnak megfelelően – alakul. (A ford.)