GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit

Samankaltaiset tiedostot
TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Geneettiset algoritmit

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö

AS Automaation signaalinkäsittelymenetelmät. Tehtävä 1. Käynnistä fuzzy-toolboxi matlabin komentoikkunasta käskyllä fuzzy.

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

OHJ-3100 Ohjelmien ylläpito ja evoluutio. Harjoitustyö. Ohjaaja: Outi Sievi-Korte TE213 Päivystys ti klo 14-16

Kombinatorinen optimointi

Algoritmit 2. Luento 13 Ti Timo Männikkö

Luku 8. Aluekyselyt. 8.1 Summataulukko

Katkonnanohjaus evoluutiolaskennan keinoin

Luento 13: Geneettiset Algoritmit

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Algoritmit 1. Luento 7 Ti Timo Männikkö

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Algoritmit 2. Luento 7 Ti Timo Männikkö

Geneettiset algoritmit joukkoliikennelinjastojen suunnittelussa

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Algoritmit 2. Luento 9 Ti Timo Männikkö

v 8 v 9 v 5 C v 3 v 4

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Harjoitustyö Ohjaaja: Outi Räihä TE213. OHJ-3100 Ohjelmien ylläpito ja evoluutio. Yleiskatsaus.

Algoritmit 2. Luento 2 To Timo Männikkö

Kysyntäohjautuva joukkoliikenne ja dynaaminen matkansuunnittelu. Lauri Häme

Robotiikan tulevaisuus ja turvallisuus

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Tiivistelmä artikkelista Constrained Random Walks on Random Graphs: Routing Algorithms for Large Scale Wireless Sensor Networks

Informaation leviäminen väkijoukossa matemaattinen mallinnus

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Algoritmit 2. Luento 6 Ke Timo Männikkö

Avainsanojen poimiminen Eeva Ahonen

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

3.4 Peruutus (backtracking)

TIIVISTELMÄ. Poikselkä (2011) Pietsorakenteiden optimointi geneettisillä algoritmeilla. Oulun yliopisto, tietotekniikan osasto. Diplomityö, 59 s.

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 13 Ti Timo Männikkö

Harjoitus 6 ( )

10. Painotetut graafit

Algoritmit 1. Luento 13 Ma Timo Männikkö

Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely)

Algoritmit 2. Luento 4 Ke Timo Männikkö

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Algoritmit 2. Luento 11 Ti Timo Männikkö

Rata A / L-1 Kanneltie kasin pihalle

Kognitiivinen mallintaminen 1

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Kertymäfunktio. TKK (c) Ilkka Mellin (2007) 1

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

j n j a b a c a d b c c d m j b a c a d a c b d c c j

Piiri K 1 K 2 K 3 K 4 R R

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

13 Lyhimmät painotetut polut

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Algoritmit 2. Luento 4 To Timo Männikkö

Tekoälykokeiluprojekti. Henkilökohtaisen kalenterin optimointi tekoälyllä Skycode Oy (ent. Suomen Mediatoimisto Oy)

Matriisit ja optimointi kauppatieteilijöille

Algoritmit 2. Luento 10 To Timo Männikkö

Harjoitus 6 ( )

Vastakkainasettelullinen riskianalyysi asejärjestelmien vaikuttavuusarvioinnissa

Osakesalkun optimointi

Haku osittaisen informaation vallitessa

Mat Sovelletun matematiikan erikoistyöt. Geneettiset algoritmit ja sukupuolten taistelu

Sovellettu todennäköisyyslaskenta B

811312A Tietorakenteet ja algoritmit, VI Algoritmien suunnitteluparadigmoja

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

Demo 1: Simplex-menetelmä

Algoritmit 1. Luento 8 Ke Timo Männikkö

Johdatus todennäköisyyslaskentaan Kertymäfunktio. TKK (c) Ilkka Mellin (2005) 1

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

Online-oppiva ilmavalvontajärjestelmän suorituskykymalli

Search space traversal using metaheuristics

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Johdatus graafiteoriaan

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Pieniä tietojenkäsittelytieteellisiä tutkimuksia Syksy 2008

Algoritmit 1. Luento 6 Ke Timo Männikkö

Liite: Verkot. TKK (c) Ilkka Mellin (2004) 1

7. Satunnaisalgoritmit (randomized algorithms)

0 v i v j / E, M ij = 1 v i v j E.

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Diskreettiaikainen dynaaminen optimointi

Tutkimustiedonhallinnan peruskurssi

Darwin: Tutkimusprojektin esittely

Paikkatietoa metsäbiomassan määrästä tarvitaan

Transkriptio:

GA & robot path planning Janne Haapsaari AUTO3070 - Geneettiset algoritmit

GA robotiikassa Sovelluksia liikkeen optimoinnissa: * eri vapausasteisten robottien liikeratojen optimointi * autonomisten robottien reittihaku * muuttuvaan ympäristöön reagoiminen

Miksi GA? * Polunmääritys usein laskennallisesti vaativa ongelma jollaisista GA:n todettu selviävän monessa tapuksessa kiitettävästi. * Polunmäärityksen parametreja voidaan muuttaa erilaisia polkuvaihtoehtoja varten ilman algoritmin muuttamista. * Opettaminen / ohjaaminen ilman ihmistä. * Robustimpi kuin monet perinteiset menetelmät

Reitinhaun käsitteitä Ympäristö * Staattinen * Dynaaminen Agloritmi * Global * Local Suoritustilanne * Offline * Online

Yleiset ominaisuudet reitinhaussa Alkupopulaatio / geenit Luodaan joukko jonkinlaisia reittejä alkupisteen ja päätepisteen välille satunnaisista pisteistä. Yksittäisissä reiteissä voi olla eri määrä solmuja. Solmujen koodaus yhdenmukainen. (samanpituisia) Populaatioiden yleinen ongelma liiallinen konvergenssi joka johtaa ratkaisujoukkojen supistumiseen ja todennäköiseen umpikujaan.

Yleiset ominaisuudet reitinhaussa Hyvyysfunktio Yksinkertaisimmillaan pisteiden euklidisten etäisyyksien summa. Esteet reitillä korkeammalla painokertoimella siten että paras toteutuskelvoton reitti saa aina huonomman hyvyysarvon kuin huonoin toeteutuskelpoinen reitti. Muita yleisiä parametrejä solmujen määrä, kuluva aika ja reitin muoto joita painottamalla saadaan helutessa erilaisia reittejä. Elitismi huomattavasti yleisempää staattisissa ympäristöissä kuin dynaamisissa joissa kattavan perimän ylläpito tärkeää.

Yleiset ominaisuudet reitinhaussa Geneettiset operaatiot Yleisesti käytetyt risteytys ja mutaatio usein riittämättömiä reitinhaussa. Parhaiden reittien optimointiin vaaditaan usein lisäksi erilliset silotus- ja korjausfunktiot jotka korjaavat reittiä optimaalisemmaksi ja kiertävät esteitä.

Yleiset ominaisuudet reitinhaussa Risteytys Yleisin käytetty risteytysmuoto oli alijoukkojen risteytys joka saattoi muuttaa reitin solmujen määrää. Ongelmatyypistä riipuen risteytys vain reittien leikkauspisteiden väleillä oli suosittu menetelmä. Harvemmin käytetyssä risteytysmuodossa risteytyksessä käytettiin isäntäsolmujen keskiarvoja joihin lisättiin vähäistä satunnaisuutta. Risteytys aiheutti monissa tapauksissa liiallista ratkaisujoukon kutistumista josta oli haittaa erityisesti dynaamisessa ympäristössä.

Yleiset ominaisuudet reitinhaussa Mutaatio Yleisesti käytetty mutaatio on vaihtaa satunnainen polun solmu ratkaisuavaruuden ulkopuoliseen solmuun. Staattisissa ympäristöissä mutaatioiden todennäköisyys pieneni yleisesti sukupolvien kasvaessa. Dynaamisissa ympäristöissä huomattavan korkea mutaatioaste. Vähemmän käytettyjä mutaatioita: osajoukon kääntäminen kupera -> kovera, solmujen vähäinen siirtäminen lähemmäs optimia kasvavalla todennäköisyydellä.

Yleiset ominaisuudet reitinhaussa Silotus ja oikopolku Yleisesti käytettyjä hienosäätöfunktioita joita käytetään toimiviin reitteihin paikallisessa reitinhaussa. Silotusfunktiolla siirretään solmua lähemmäs optimia tai opistetaan koko solmu mikäli näin päästään parempaan tulokseen. Oikopolussa toimivien yhteyksien lisätään välisolmut jotka yhdistetään ja poistetaan näiden väliin jäävät solmut kuten silotusfunktiossa.

Korjaus Varsinkin dynaamisessa ympäristössä paikallista algoritmia suoritettaessa tulee vastaan tilanteita jolloin reitillä oleva este pysäyttää funktion etenemisen. Yleisin korjausfunktion toteutus on luoda esteen ympäristöön yksi tai useampi satunnainen piste jotka yhdistetään polkuun.

Esim. Salvatore Candino Solmujen arvot tallennetaan kahden pisteen välisenä kulmana binääripuuhun. Polun resoluutiota voidaan säätää puun syvyydellä.

Esim. Salvatore Candino Hyvyysfunktio: Hyvyysfunktio laskee yhteen solmujen euklidiset etäisyydet ja lisää rangaistuksen jokaisesta esteeseen törmäävästä reitistä. Valinta: Käytettiin kahdensuuruista turnajaisvaintaa.

Esim. Salvatore Candino Risteytys: Alipuuristeytys Yksipisteristeytys jossa pisteiden alipuut vaihdetaan keskenään. Mutaatio: Satunnaismutaatio - Yhden solmun kulma vaihdetaan satunnaisesti. Tn 0.05 laski sukupolvien myötä. Pieni mutaatio - Yhden solmun kulmaa pienennetään vähän. Kääntömutaatio Kääntää kuperan osan koveraksi. Voidaan käyttää kääntämään reitti esteen ohi. Näiden tn 0.025 ja kasvoi sukupolvien myötä hienosäätöä varten.

Esim. Salvatore Candino Hybridi: Lopuksi kelvollisiin reitteihin sovellettiin paikallishakua jossa solmuja poistettiin ja tarkistettiin saavutettiinko lyhyempää reittiä. Näin saatiin parannettua suoritusta huomattavasti.

Esim. Salvatore Candino Ilman hybridiä Hybridillä

Lähteet * Autonomous Robot Path Planning using a Genetic Algorithm - Salvatore Candido http://www-cvr.ai.uiuc.edu/~scandido/pdf/gapathplan.pdf * Using genetic algorithms to learn reactive control parameters for autonomous robotic navigation - A Ram, G Boone, R Arkin http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.727&rep=rep1&type=pdf * Genetic path planning for mobile robots Gerke M. http://ieeexplore.ieee.org.proxy.tritonia.fi/stamp/stamp.jsp? tp=&arnumber=786483 * Genetic Algorithm for Dynamic Path Planning - A Elshamli http://deimos.eos.uoguelph.ca/sareibi/publications_dr/absconferences/shamli_ccecc04_r5.pdf