Geneettinenalgoritmi matopelin ohjaimen rakentamiseen
Kulju, Leevi (2018)
Kulju, Leevi
2018
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
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ä
2018-06-06
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201805221710
https://urn.fi/URN:NBN:fi:tty-201805221710
Tiivistelmä
Tässä kandidaatintyössä tutustutaan geneettisiin algoritmeihin, niihin liittyviin funktioihin ja toteutetaan geneettinen algoritmi ohjelmallisesti C++-ohjelmointikielellä Qt Creator-kehitysympäristössä.
Työssä käsitellään geneettisen algoritmin ja ysinkertaisen neuroverkon toimintaperiaatteet ja miten ne on toteutettu ohjelmallisesti. Työn toteutusvaiheessa ohjelmoitu geneettinen algoritmi etsii neuroverkon painoja siten, että neuroverkko suoriutuisi matopelin ohjaamisesta mahdollisimman hyvin. Työn toteutusvaiheen jälkeen arvioidaan, onko toteutettu algoritmi onnistunut tehtävässään ja mitkä syyt vaikuttavat hyvään tai huonoon suoriutumiseen.
Matopelille onnistuttiin geneettisen algoritmin avulla luomaan hyvin eritasoisia ohjaimia. Yhteistä parhaille löydetyille ratkaisuille oli, että ne osasivat kääntyä vain vasemmalle tai oikealle hedelmän ilmestyessä niiden näkökenttään. Työn aikana kirjoitettu ohjelma tuottaisi todennäköisesti huomattavasti paljon parempia ratkaisuja jo pienillä muutoksilla.
Työssä käsitellään geneettisen algoritmin ja ysinkertaisen neuroverkon toimintaperiaatteet ja miten ne on toteutettu ohjelmallisesti. Työn toteutusvaiheessa ohjelmoitu geneettinen algoritmi etsii neuroverkon painoja siten, että neuroverkko suoriutuisi matopelin ohjaamisesta mahdollisimman hyvin. Työn toteutusvaiheen jälkeen arvioidaan, onko toteutettu algoritmi onnistunut tehtävässään ja mitkä syyt vaikuttavat hyvään tai huonoon suoriutumiseen.
Matopelille onnistuttiin geneettisen algoritmin avulla luomaan hyvin eritasoisia ohjaimia. Yhteistä parhaille löydetyille ratkaisuille oli, että ne osasivat kääntyä vain vasemmalle tai oikealle hedelmän ilmestyessä niiden näkökenttään. Työn aikana kirjoitettu ohjelma tuottaisi todennäköisesti huomattavasti paljon parempia ratkaisuja jo pienillä muutoksilla.
Kokoelmat
- Kandidaatintutkielmat [8997]