Viikon ajatukset

Projektin valinta oli suhteellisen helppo päättää. Toisena vaihtoehtona olisi ollut Go-peli, mutta tarkasteltuani pelin takana tapahtuvaa matematiikkaa ja ongelmanratkaisua totesin Go-pelin olevan liian vaativa taidoilleni.

Tämä viikko on mennyt tekoälyn kehittämiseen aivotyönä. Internetin saloista löytyy mm. tutkimustuloksia kivi-paperi-sakset pelin mekaniikasta. Jotta saan tekoälyn toimimaan tyydyttävästi tulisi tässä projektissa käyttää tilastotiedettä (=statistiikka, mitä on pelattu, miten usein, mikä on matemaattisesti todennäköisin käsi...), heuristiikkaa (=onko pelissä tietty käyttäytymismalli, voiko sitä hyödyntää, mitä jos pelaaja pelaa ohjelmoidun tekoälyn mukaisesti, jolloin kone pelaa tavallaan itseään vastaan) ja kognitiotieteitä (=pelaaja valitsee seuraavan käden tiettyjen käyttäytymismallien mukaisesti johon vaikuttaa myös pelatun käden voitto tai häviö).

Suurin pelko projektin suhteen on saada tekoäly uskottavaksi. Tuleeko tekoälystä läpinäkyvä ja keskimäärin 50% voittosuhteeseen kykenevä? Yritänkö tehdä liian "hienon" tekoälyn jolloin projekti ei edisty eikä valmistu vaan keskityn ainoastaan tekoälyn parantamiseen ikuisesti? Pitäisi löytää kultainen keskitie jossa peli valmistuu ajallaan ja samalla kykenee toivottavasti 70-80% voittosuhteeseen. Miten toteutan pelin "spock-lisko"-laajennuksella?

Ensi viikolla on tarkoitus tehdä seuraavaa:
- luokkakaavio
- toimiva ohjelmarunko CLI:n päälle (tekoälyä ei vielä tarvita)
- kaikki viikola generoitu koodi javadoc-dokumentoitu
- kaikkiin edellisiin metodeihin yksikkötestit
- GUI:n aloitus
- tuntikirjanpito käyntiin

Toivottavasti ohjaajat ehtivät antamaan lyhyen palautteen viikottain.