Mesterséges intelligencia algoritmus fejlesztése Abalone játékhoz

OData támogatás
Konzulens:
Dr. Juhász Sándor
Automatizálási és Alkalmazott Informatikai Tanszék

A szakdolgozatom témája mesterséges intelligencia algoritmus fejlesztése volt egy táblás társasjátékhoz. A játék, amit választottam az Abalone volt.

Az Abalone bonyolultságában a sakkhoz hasonlít, azonban nem olyan elterjedt, így még sok megválaszolatlan kérdés maradt a területén.

Két részből állt össze a munkám. Elsőként készítettem egy szoftvert, ami felületet biztosít mind emberi játékosoknak, mind algoritmusoknak, hogy egymás ellen játszhassanak. Ehhez csatlakozik egy tesztelő modul, amivel különböző ellenfelek között automatizálva lehet játékokat futtatni, így tudtam teszteket futtatni és statisztikákat készíteni, amik alapján tovább fejleszthettem az algoritmusaimat.

Másodikként pedig a szakdolgozatom lényegi részével foglalkoztam, ami maga az algoritmusok elkészítése volt. Ennek a legnehezebb kérdése az volt, hogy milyen kiértékelő heurisztikával dolgozzon az algoritmus. Először összegyűjtöttem korábbi tapasztalataimból, illetve mások munkáiból, hogy milyen jellemzők alapján lehet érdemes kiértékelni egy adott állást, majd különböző módszerekkel kiszűrtem, hogy ezek közül valóban melyik sikeres, és tesztek során beállított súlyokkal felvettem őket a heurisztikámba.

Az algoritmusok, amiket implementáltam mind a Minimax algoritmusra támaszkodnak. A célom az volt, hogy az adott algoritmus minél előrébb gondolkozzon a játék során. Azonban, mivel az Abalone-ban egy körben relatíve sok lépés lehetséges, ezért nagyon nagy számítás igényű lenne több lépéssel előre is kipróbálni minden lehetséges lépéskombinációt. Ezért két algoritmust is implementáltam, amiben nem a teljes keresési fát járom be, hanem bizonyos feltételek mellett elhagyok csomópontokat. Amint majd látszani fog az eredményeim alapján, megfelelő feltételeket választva az algoritmusok gyorsasága és eredményessége is javult.

Letölthető fájlok

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