Monte Carlo -puuhakua käyttävien tekoälymenetelmien soveltuvuus vuoropohjaisiin strategiapeleihin
Sillanpää, Tuomo (2023)
Sillanpää, Tuomo
2023
Ohjelmistokehityksen maisteriohjelma - Master’s Programme in Software Development
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-06-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202306056526
https://urn.fi/URN:NBN:fi:tuni-202306056526
Tiivistelmä
Tässä tutkielmassa tarkastellaan Monte Carlo -puuhaun soveltuvuutta vuoropohjaisten strategiapelien tekoälyratkaisuihin kirjallisuuskatsausta hyödyntäen. Aluksi esitellään sekä minimax-algoritmi että Monte Carlo -puuhaku suosittuine muunnelmineen, ja sen jälkeen perehdytään tarkemmin neljään vuoropohjaiseen strategiapeliin: Shakkiin, go-lautapeliin, pokeriin ja Magic: The Gathering -keräilykorttipeliin.
Kunkin neljän pelin kohdalla tutustutaan kyseisen pelin tekoälylle asettamiin haasteisiin, olemassa oleviin tekoälyratkaisuihin ja etenkin Monte Carlo -puuhakua hyödyntäviin tekoälytoimijoihin. Lopuksi luodaan vielä lyhyt katsaus joukkoon Monte Carlo -puuhakua hyödyntäviä tekoälyratkaisuja muiden vuoropohjaisten strategiapelien kohdalla.
Huomataan, että Monte Carlo -puuhakua käyttämällä saavutetaan sen yleispätevän luonteen vuoksi usein merkittäviä hyötyjä etenkin sellaisissa peleissä, joille mielekkään evaluaatiofunktion kirjoittaminen on hankalaa.
Kunkin neljän pelin kohdalla tutustutaan kyseisen pelin tekoälylle asettamiin haasteisiin, olemassa oleviin tekoälyratkaisuihin ja etenkin Monte Carlo -puuhakua hyödyntäviin tekoälytoimijoihin. Lopuksi luodaan vielä lyhyt katsaus joukkoon Monte Carlo -puuhakua hyödyntäviä tekoälyratkaisuja muiden vuoropohjaisten strategiapelien kohdalla.
Huomataan, että Monte Carlo -puuhakua käyttämällä saavutetaan sen yleispätevän luonteen vuoksi usein merkittäviä hyötyjä etenkin sellaisissa peleissä, joille mielekkään evaluaatiofunktion kirjoittaminen on hankalaa.