Sijaintitieto ja geneettiset algoritmit pelien tekoälyssä Tekoälyalgoritmit tietokonepeleissä -seminaari Esa Junttila 30.11.2005.

Slides:



Advertisements
Samankaltaiset esitykset
0 Aloitussivu oppaat esittelevät pääosiot 2 Suomen kielen äännemaailma Ali 3 Matematiikka Ubah 1.0 Tietokoneen esittely Mai (audio + kuva) 1.1 Hiiriharjoitukset.
Advertisements

Opetuksen laadun rakenteet Mikko Mäntysaari
5.1. Tason yhtälö a(x – x0) + b(y – y0) + c(z – z0) = 0
Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen Laura Vuorinen Kehittämisosasto / Opiskelijarekisteri.
Kiintolevyn osiointi.
Pelin suunnittelu Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 /
Kurssilla käytettävät työkalut
Laskuharjoitus 9 AS Automaation signaalinkäsittelymenetelmät Sumea säätö Geneettiset algoritmit.
AS Automaation signaalinkäsittelymenetelmät
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  PÄIVÄOPISKELIJAT: – KAKSI LUOKAA (SUOMI) –YKSI LUOKKA (ENGLANTI)
Geneettisten algoritmien käyttö sumean säätimen optimoinnissa. Daniel Westman.
1 Geneettiset algoritmit S Laskennallinen systeemibiologia Olli Haavisto
Vaarojen tunnistaminen ja arviointi
EVOLUUTIO MUUNTELU VALINTA
2. Vuokaaviot.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 16 - Jarto Niemi Optimointiopin seminaari - Kevät 2007 Kaaos differentiaaliyhtälöissä,
Chapter 5: Sensor Tasking and Control Riikka Asikainen.
PID-säätimen parametrien optimointi GA:lla
Evoluutiovoimat populaatioissa
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 2 - Jarno Leppänen Optimointiopin seminaari - Kevät 2008 Evoluutiopeliteoria: stabiilisuudesta.
Muuntelu on evoluution edellytys s
Onnistunut IT-projekti - Haaveesta totta? Tiken näkemys
Virtuaalimaailmojen kehittämisen ongelmat. Sisältö Johdanto virtuaalitodellisuuksiin Esittely työhön Ongelmat kehityksessä Yhteenveto.
1. Usean muuttujan funktiot
Fraktaalit Johannes Weckman
Ekologinen teatteri s
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 11 - Teemu Mutanen Optimointiopin seminaari - Syksy 2005 / 1 Lisätiedon arvo.
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
tilastollinen todennäköisyys
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 9 – Henri Hytönen Optimointiopin seminaari - Kevät 2007 Kaoottiset attraktorit
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 15 – Mikko Harju Optimointiopin seminaari - Kevät 2010 Korreloitu tasapaino ja sosiaaliset.
5. Lineaarinen optimointi
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
Jari Kyngäs, Cimmo Nurmi Oppivat ja älykkäät heuristiset järjestelmät NP-vaikean aikataulutusongelman ratkaisemisessa (Learning and Intelligent Heuristic.
Geenit.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Esitelmä 11 – Tuomas Nummelin Optimointiopin seminaari - Syksy 2010 Lokaalit uskottavuusmenetelmät.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 25 - Mark Mehtonen Optimointiopin seminaari - Syksy 2005 / 1 The Chain Rule for Influence.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 23 – Juho Kokkala Optimointiopin seminaari - Syksy 2005 / 1 IEJ-puut, yhteisjakaumat, A-kyllästetyt.
Mikä on geenien rooli mikro- ja makroevoluutiossa?
Charles Darwin HMS Beagle Galapagos-saarten kilpikonnat ja peipot
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2000 / 1 Potentiaalien kertaus ja.
MapInfon tiedostot TAB – Tiedosto, jonka avulla tietokanta avataan MapInfossa. Tiedostossa tietoja kentistä ja koordinaattijärjestelmästä. DAT, XLS. TXT.
Perimä evoluution todisteena. Yksilö perii geeninsä vanhemmiltaan Perimän tarkempaa vertailua tehdään tutkimalla -tuman kromosomien määrää -kromosomien.
SharePoint2010 ATK-seminaari Totti Nykvist.
Tekoäly tasohyppely- ja ampumapeleissä Teemu Saukonoja.
Geenikirjastot ja -pankit Annariikka Hietala 2a. Mikä on geenikirjasto? Geenikirjasto on esim. bakteeriviljelmään.
Luonnonvalinta ohjaa evoluutiota
TIETOTURVA INTERNETISSÄ. MITÄ ON TIETOTURVA? Tietoturvalla pyritään suojaamaan yritykselle tärkeitä tietoja ulkopuolisilta. Tietoturvalle on asetettu.
Paikkatietojärjestelmät Kaikesta tiedosta jopa 80 % on sidottavissa johonkin paikkaan (maantieteellinen koordinaatisto, hallinnollinen raja tai osoite)
BIOS 2 jakso 2 Yksilö kehittyy geenien yhteistyön ja ympäristön vaikutuksen tuloksena 11 dihybridiristeytys geneettinen rekombinaatio makroevoluutio mendelistinen.
Anselm Cantenburylaisen ontologinen todistus etenee seuravaasti:
Tietorakenteet ja algoritmit harkkatyö
Tutkielman teko-ohjeet
Työkaluja tehtävien tueksi
Luonnonvalinnan kohteena on yleensä yksilö
11. Perinnöllisyys ja ympäristö
Geeni vaikuttaa ominaisuuksiin eri tavoin
EVOLUUTIO ON LAJIEN HIDASTA KEHITTYMISTÄ
Jalkapallo.
Aloitussivu III Evoluutio.
12. Luonnonvalinta.
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
Esityksen transkriptio:

Sijaintitieto ja geneettiset algoritmit pelien tekoälyssä Tekoälyalgoritmit tietokonepeleissä -seminaari Esa Junttila

2 Sijaintitieto pelien tekoälyssä

3 Sijaintitieto: esittely Pelialueen osilla on oltava jokin sijainti ja pelialueen tulee olla jaettavissa ruutuihin. Tarkoituksena on pitää kirjaa pelialueen asioista niiden sijainnin perusteella. Tekoäly hyödyntää sijaintitietoa omissa valinnoissaan. Erityisen suosittua 2-ulotteisissa reaali- ja vuoropohjaisissa strategiapeleissä.

4 Sijaintitieto: esiintymäkartat Esiintymäkartta on 2-ulotteinen taulukko, joka kattaa koko pelialueen. Säilöö pelialueesta kerättyä tietoa. Taulukon alkiot kertovat jonkin asian esiintymisestä vastaavassa ruudussa. Käytössä voi olla useita esiintymäkarttoja erilaisille tarkkailtaville asioille.

5 Sijaintitieto: esiintymäkartat Esiintymäkartan sisältö voi pysyä aina samana tai muuttua pelin aikana. Samasta esiintymiskartasta voidaan tehokkuussyistä käyttää useita eri tarkkuuksisia versioita. Yleistyy 3-ulotteisiin peleihin (3-ulotteinen taulukko).

6 Sijaintitieto: kartta-analyysi Kartta-analyysi yrittää selvittää hyödyllistä tietoa esiintymäkartoista. Hahmontunnistuksen erikoistapaus. Ainoa keino saada tietoa muuttuvasta pelialueesta. Jokaiselle tutkittavalle asialle tarvitaan oma hahmontunnistusalgoritmi.

7 Sijaintitieto: tekoälysovellukset Pelialueen tuntemattomien alueiden kartoitus Omien ja vastustajien joukkojen sijainnit Pelialueen esteet (reitinetsintä) Vaaralliset alueet Pelialueen pullonkaulat (väijytys)

8 Sijaintitieto: tekoälysovellukset Rakennukset ja esteet

9 Sijaintitieto: tekoälysovellukset Resurssien sijainnit

10 Sijaintitieto: tekoälysovellukset Suositut kulkureitit

11 Sijaintitieto: vahvuudet ja heikkoudet + Erilaisia esiintymäkarttoja on helppo ymmärtää ja toteuttaa. + Esiintymäkartat ovat yleiskäyttöisiä ja joustavia. + Tekoälyn vaikeustasoa voidaan säätää kasvattamalla tai pienentämällä esiintymäkartan ruutukokoa. − Esiintymäkartoilla on suuri muistinkulutus.

12 Sijaintitieto: vahvuudet ja heikkoudet + Kartta-analyysissä voidaan käyttää valmiita hahmontunnistusalgoritmeja. + Tekoälyn vaikeustason säätäminen onnistuu kytkemällä analyysitoimintoja päälle tai pois päältä. − Pelikohtaisten asioiden tunnistamiseen tarvittavat algoritmit voivat olla hankalia toteuttaa. − Hahmontunnistus voi olla aikaa vievää.

13 Geneettiset algoritmit (GA) tekoälyssä

14 GA: esittely Luonnon evoluutiossa yksilöt muuttuvat ja sopeutuvat elinympäristöönsä. Populaatio, luonnonvalinta, risteytys ja mutaatio ovat mukana myös geneettisessä algoritmissa. Kehitettiin 1950-luvun lopussa evoluution simuloimiseen. Käytetty 1970-luvulta lähtien lukuisiin kombinatorisiin ongelmiin.

15 GA: geneettinen algoritmi Yleiskäyttöinen paikallisen etsinnän tekniikka, (vrt. simuloitu jäähdytys). Populaatio koostuu yksilöistä, joita pyritään kehittämään mahdollisimman hyviksi. Etsimisen ja hyödyntämisen ongelma. Ei tuota välttämättä optimaalista ratkaisua.

16 GA: geneettinen algoritmi

17 GA: geenien määrääminen Geeni määrää yksilön jonkin ominaisuuden. Geenien arvot ovat yleensä totuusarvoja tai reaalilukuja. Genomi sisältää yksilön kaikki geenit, joten se kuvaa yksilön täydellisesti. Genomi kannattaa valita huolellisesti, sillä se määrittelee kaikki mahdolliset yksilöt.

18 GA: hyvyysfunktio Luonnonvalinta suosii elinkelpoisia yksilöitä. Populaation yksilöitä verrataan toisiinsa hyvyysfunktion avulla. Hyvyysfunktio määrää kehityksen suunnan. Tarkan hyvyysfunktion keksiminen voi olla haasteellista.

19 GA: valinta Valinta määrää populaatiosta yksilöt muodostamaan seuraavaa sukupolvea. Myös huonoja yksilöitä mukaan (monimuotoisuus). Rulettivalinta: valinta suhteessa hyvyyteen. Sijalukuvalinta: valinta sijoituksen perusteella. Elitismi: parhaat kopioidaan uuteen sukupolveen.

20 GA: risteytys Uudet yksilöt muodostetaan risteyttämällä kaksi yksilöä. Jälkeläinen perii geenien arvot vanhemmiltaan. Totuusarvoiset geenit kopioidaan suoraan; reaalilukuja saatetaan hieman muuttaa.

21 GA: risteytys Tasainen risteytys: Geenin antaja arvotaan jokaisen geenin kohdalla. Monipisteristeytys kolmella pisteellä: Geenit kopioidaan neljässä sarjassa.

22 GA: mutaatio Risteytyksessä voi tapahtua häiriöitä. Mutaatiot säilyttävät populaation monimuotoisuuden. Mutaatio kääntää totuusarvoisen geenin arvon ja siirtää reaalilukuarvoisen geenin arvoa. Mutaatio:

23 GA: tekoälysovellukset Populaation yksilöt ovat tekoälyehdokkaita. Yksilön genomi määrää tekoälyn käyttäytymisen (käsikirjoitettu tekoäly). Algoritmin hyvyysfunktiona voidaan käyttää pelin nopeutettua versiota ja jotakin pisteytystä.

24 GA: tekoälysovellukset Esimerkki: selvitettävä optimaalinen ajolinja autopelissä, kun muita autoja ei ole radalla. Rata jaetaan useisiin etappeihin. Jokaisella etapilla on geeneinä ajolinja (reaaliluku [0,1]) ja tavoitenopeus (reaaliluku [10,400]). Jos tekoäly osaa liikuttaa kilpa-autoa etapilta toiselle, niin geenien arvot määräävät ratakierroksen kulun.

25 GA: tekoälysovellukset

26 GA: tekoälysovellukset Tekoälyn parametrien hienosäätöön (Gran Turismo –autopelin autojen virittely) Creatures ja Black & White -pelit Keinoelämä

27 GA: vahvuudet ja heikkoudet + Yleispätevä etsintätekniikka kombinatorisiin ongelmiin. − Simulaatiot ovat raskaita, eivätkä juuri sovellu käytettäväksi pelin aikana. − Algoritmin parametreja voi olla hankala säätää kohdalleen (genomi, valinta, risteytys, mutaatiot). − Ei tue suoraan vaikeustason säätämistä.

28 Yhteenveto Sijaintitieto: Esiintymäkartat tallentavat sijaintitietoa ja kartta- analyysi tutkii niiden sisältöä. Yksinkertainen ja suosittu tekniikka. Geneettiset algoritmit Kehittää tekoälyä evoluutiomallin mukaisesti. Usean muuttujan optimoimiseen. Sopii hitautensa vuoksi yleensä vain pelin tuotantovaiheeseen.