Megerősítéses tanulás többszemélyes számítógépes játékok kiegyensúlyozására

OData támogatás
Konzulens:
Engedy István Tamás
Méréstechnika és Információs Rendszerek Tanszék

Többszemélyes számítógépes játékok esetén kulcsfontosságú a játék kiegyensúlyozottsága, azaz annak biztosítása, hogy egyik játékos sem élvez előnyt a játék adottságaiból kifolyólag, nyerésének esélye kizárólag a játékos saját képességeiből fakad. Ez triviálisan megvalósítható, amennyiben az összes játékos azonos feltételekkel indul a játékban. Azonban a játékok többségében ez nem így van, sokszor a játékos a játék előtt különböző induló lehetőségek közül választhat, mely választást még nem tekintjük a játék részének. Ez esetben is garantálni kell, hogy az egyes választott lehetőségek ne nyújtsanak előnyt vagy hátrányt. Ennek a garantálása egy nehéz feladat, hiszen elképzelhető, hogy két különböző kezdeti feltétel két különböző stratégiát tesz optimálissá.

A szakdolgozat célja egy általánosan felhasználható algoritmus megalkotása volt melynek segítségével automatikusan lehet tesztelni, majd szükség esetén a játék kiinduló feltételeinek változtatásával kiegyensúlyozni a játékot. Ehhez először is egy kiegyensúlyozás szempontjából érdekes játék létrehozására volt szükség. A választás egy egyszerű kártyajátékra esett melyben, a játékosok különböző tulajdonságú kártyapaklikkal játszanak egymás ellen. Ezek a paklik jelentik a különböző kiinduló feltételeket, melyeket ki kell egyensúlyoznunk.

A játék kiegyensúlyozottságának értékeléséhez, ismernünk kell az optimális stratégiát minden egyes paklira vonatkozóan. Erre egy jól alkalmazható módszer a megerősítéses tanulás. A megerősítéses tanulás a gépi tanulás azon területe, ahol a cél az ágens számára olyan cselekvéseket végezni a környezetben, mellyel maximalizálni tudja a működése során kapott összesített jutalmat. Ezt az ágens a minél jobb, lehetőleg optimális stratégia (policy) megtanulásával tudja elérni, a környezetben végzett cselekvéseire kapott közvetlen jutalmak és a környezet állapotváltozásainak megfigyelésével.

A megerősítéses tanulással meghatározott optimális stratégiából és játékállapotok hasznosságaiból kiindulva, létrehoztam olyan ágenseket, melyek hűen tükrözik egy a játékot ismerő ember teljesítményét. Ezen ágensek segítségével elkészült egy algoritmus mely képes véletlenszerűen kiválasztott kiinduló feltételeket úgy változtatni, hogy az azokkal játszó ágensek, szinte ugyanazt a teljesítményt nyújtsák reprezentatív mennyiségű lejátszott mérkőzés alapján. Az algoritmus az ágensek által meghatározott hasznosságok alapján változtatja az egyes paklik tulajdonságait az egyensúlyi irányba, melyet a különböző paklikkal (kiinduló feltételekkel) induló ágensek egymás elleni győzelmi aránya mér. Az algoritmus így felhasználható bármely más játék kiegyensúlyozására, hiszen mindössze az egyes állapotok hasznosságát kell ismernünk.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.