Skriptipohjaisen tekoälyn hyödyntäminen koulutuksen tukena
Kuitti, Jani (2021)
Kuitti, Jani
2021
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
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ä
2021-05-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202104213271
https://urn.fi/URN:NBN:fi:tuni-202104213271
Tiivistelmä
Tässä työssä pyritään parantamaan erään johtamisjärjestelmän operaattoreiden koulutukseen käytettävän koulutusjärjestelmän tekoälytoimintaa. Työn ongelma liittyy koulutustilanteisiin, joissa vihollispuolella on vähemmän pelaajia kuin omalla puolella. Tässä hyödynnetään koulutusjärjestelmän tekoälytoteutusta vihollispuolen joukkojen ohjaukseen, jotta saadaan luotua mahdollisimman realistinen koulutustilanne oman puolen operaattoreille. Tekoälyn nykyinen käytös ei kuitenkaan ole kaikilta osin järkevää, joten vihollispuolen pelaaja joutuu usein puuttumaan joukkojensa toimintaan ja ohjaamaan niitä käsin.
Ratkaisuna tähän luodaan koulutusjärjestelmään skriptitoteutus, jolla voidaan lukea ulkoisia skriptitiedostoja ajonaikaisesti. Tätä skriptitoteutusta käytetään luomaan uusi tekoälytoteutus, jossa pyritään parantamaan nykyisessä toteutuksessa havaittuja puutteita. Juuri skripteillä toteutettu tekoäly valittiin tähän toteutukseen, sillä sen avulla mahdollistetaan tekoälyn toiminnan muokkaaminen loppukäyttäjälle. Tämän avulla loppukäyttäjä voi muokata tekoälytoteutuksen toiminnan juuri haluamakseen.
Työ aloitetaan asettamalla vaatimukset valittavalle skriptikielelle ja tekoälyn toteutustavalle. Tämän jälkeen tutustutaan mahdollisiin skriptikieliin ja tekoälyntoteutustapoihin kirjallisuuden avulla. Skriptikielelle asetettuja vaatimuksia ovat skriptitoteutuksen integroinnin helppous, Java-syntaksin tukeminen, suorituskyky ja tuki Eclipse-kehitysympäristöön. Tekoälylle asetettuja vaatimuksia ovat säännönmukainen toiminta, ihmismäinen vaihtelu toiminnassa ja yksinkertainen rakenne.
Tekoälyn toteutustavoista parhaiten vaatimukset täyttää tilakone, joissa tilasiirtymiin hyödynnetään sumeaa logiikkaa. Skriptikielistä parhaiten vaatimukset täyttää Groovy-skriptikieli. Tämän jälkeen käydään läpi kaikki osat, mitä koulutusjärjestelmään toteutettiin tämän työn aikana. Näihin kuuluu muun muassa tilakonerakenteen suunnittelu ja toteutus, toteutus skriptitiedostojen lataamiseen ajonaikaisesti, skriptitiedostojen parametrointiin toteutus ja uuden tekoälytoteutuksen luonti skriptien avulla.
Lopuksi todetaan, että työn alussa tehdyt valinnat olivat sopivia työn toteutukseen ja lopullisesta toteutuksesta tuli asetettujen vaatimusten mukainen. Tehtyä skriptaustoteutusta verrataan myös Space Engineers –pelin skriptaustoteutukseen ja käydään läpi jatkokehitysideoita sekä skriptitoteutuksella, että tekoälylle.
Ratkaisuna tähän luodaan koulutusjärjestelmään skriptitoteutus, jolla voidaan lukea ulkoisia skriptitiedostoja ajonaikaisesti. Tätä skriptitoteutusta käytetään luomaan uusi tekoälytoteutus, jossa pyritään parantamaan nykyisessä toteutuksessa havaittuja puutteita. Juuri skripteillä toteutettu tekoäly valittiin tähän toteutukseen, sillä sen avulla mahdollistetaan tekoälyn toiminnan muokkaaminen loppukäyttäjälle. Tämän avulla loppukäyttäjä voi muokata tekoälytoteutuksen toiminnan juuri haluamakseen.
Työ aloitetaan asettamalla vaatimukset valittavalle skriptikielelle ja tekoälyn toteutustavalle. Tämän jälkeen tutustutaan mahdollisiin skriptikieliin ja tekoälyntoteutustapoihin kirjallisuuden avulla. Skriptikielelle asetettuja vaatimuksia ovat skriptitoteutuksen integroinnin helppous, Java-syntaksin tukeminen, suorituskyky ja tuki Eclipse-kehitysympäristöön. Tekoälylle asetettuja vaatimuksia ovat säännönmukainen toiminta, ihmismäinen vaihtelu toiminnassa ja yksinkertainen rakenne.
Tekoälyn toteutustavoista parhaiten vaatimukset täyttää tilakone, joissa tilasiirtymiin hyödynnetään sumeaa logiikkaa. Skriptikielistä parhaiten vaatimukset täyttää Groovy-skriptikieli. Tämän jälkeen käydään läpi kaikki osat, mitä koulutusjärjestelmään toteutettiin tämän työn aikana. Näihin kuuluu muun muassa tilakonerakenteen suunnittelu ja toteutus, toteutus skriptitiedostojen lataamiseen ajonaikaisesti, skriptitiedostojen parametrointiin toteutus ja uuden tekoälytoteutuksen luonti skriptien avulla.
Lopuksi todetaan, että työn alussa tehdyt valinnat olivat sopivia työn toteutukseen ja lopullisesta toteutuksesta tuli asetettujen vaatimusten mukainen. Tehtyä skriptaustoteutusta verrataan myös Space Engineers –pelin skriptaustoteutukseen ja käydään läpi jatkokehitysideoita sekä skriptitoteutuksella, että tekoälylle.