(toiminnot)

hwechtla-tl: Catan-tekoäly

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


(nettipäiväkirja 11.01.2016) Ajattelin yön aikana, että voisi tehdä Catanin alkupeliä varten apuohjelman. Catanissa nimittäin ihan alussa tehtävä kylien sijoittelu on tärkeämpää pelin kulun kannalta kuin mikään muu vaihe. Se on periaatteessa suoraviivaista resurssien kahmimista itselle, paitsi että omat valinnat vaikuttavat siihen, mitkä valinnat ovat muille kannattavimmat, mikä taas vaikuttaa takaisin siihen, oliko oma valinta hyvä.

Niinpä Catanin alkupeli on mahtava sovellusalue klassiselle tekoälylle, jossa puupäättelyn avulla tutkitaan jokaisen mahdollisen pelinkulun lopputulos. Ongelma-avaruus on kohtalaisen pieni, muttei sellainen, että sen voisi ihminen päässään käydä läpi: syvyys kahdeksan, haarautumisfaktori enintään 144, eli mahdollisia pelinkulkuja tuommoinen mukava enintään 184884258895036416 (tai jos ei oteta huomioon aloituksessa asetettujen teiden suuntaa, niin haarautumisfaktori enintään 54 ja pelinkulkuja enintään 72301961339136, eli noin 2500 kertaa nopeammin menisi). Ja voisi samalla kokeilla, mitä saadaan aikaan nykyaikaisilla puuhakualgoritmeilla. Alfa-beeta ei ilmeisesti ole ollut state of artia piiiiitkään aikaan, katso vertailun vuoksi esimerkiksi https://en.wikipedia.org/wiki/MTD-f

Mitä tulee evaluaatiofunktioon, luulen, että voisi joko laskea ihan vain suoraan, kuinka paljon mitäkin resurssia tulee, ja painottaa vähän eri resurssien hyödyllisyysarvoilla, jotka voi heittää hatusta (esim. vilja on hyödyllisempää kuin lammas). Tai sitten voisi laskea kunkin resurssin "kokonaishyödyllisyydestä", kuinka se jakautuu eri pelaajien kesken eli kuinka suuren osan mistäkin resurssista kukin saa. Muita asioita, jotka voi vielä yrittää laskea mukaan jotenkin painotettuina:



kommentoi (viimeksi muutettu 11.01.2016 10:18)