1 / 15

Spuštanje moonlandera upotrebom genetskog programiranja

Spuštanje moonlandera upotrebom genetskog programiranja. Krešimir Mišura Voditelj: doc. Dr. Sc. Domagoj Jakobović. EVOLUCIJA - 1859. Charles Darwin objavljuje knjigu “O podrijetlu vrsta posredstvom prirodne selekcije” - osnova teorije evolucije je prirodna selekcija

Télécharger la présentation

Spuštanje moonlandera upotrebom genetskog programiranja

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spuštanje moonlandera upotrebom genetskog programiranja Krešimir Mišura Voditelj: doc. Dr. Sc. Domagoj Jakobović

  2. EVOLUCIJA - 1859. Charles Darwin objavljuje knjigu “O podrijetlu vrsta posredstvom prirodne selekcije” - osnova teorije evolucije je prirodna selekcija - najbolje prilagođene jedinke uspjevaju preživjeti i imaju najveću vjerojatnost da svoj genetski materijal prenesu na sljedeću generaciju - tako se postiže da je sljedeća generacija “bolja” od prethodne GENETSKO PROGRAMIRANJE - genetsko programiranje se razlikuje od genetskih algoritama po tome što svaka jedinka ustvari predstavlja neki program - stvara se početna populacija jedinki i simulira se određen broj generacija. - u svakoj generaciji se odabiru jedinke koje najbolje rješavaju problem i njima se dopušta da prenesu svoj kod u daljnje generacije.

  3. DOBROTA JEDINKE • želimo da jedinka riješi neki problem koji smo postavili. Što je jedinka bliže tom rješenju, smatrat ćemo ju boljom. Definira se funkcija koja svakoj jedinki pridružuje vrijednost koja označava njenu dobrotu REPREZENTACIJA JEDINKE - Jedinke ćemo zapisivati u obliku stabla. Čvor predstavlja neki operator, dok su podstabla njegovi operandi (argumenti). Npr x+2 bi izgledalo: + x 2

  4. SELEKCIJA - u prirodi slabije jedinke obično umiru prije nego što dobiju priliku imati potomstvo. Taj proces oponašamo selekcijom u genetskom programiranju. Postoje mnoge vrste selekcije u GP-u, a u ovoj implementaciji ćemo koristiti turnirsku selekciju TURNIRSKA SELEKCIJA - slučajno odabiremo nekoliko jedinki te onoj sa najvećom dobrotom dopuštamo prijenos svojih gena u sljedeću generaciju.

  5. KRIŽANJE - najčešće se koristi križanje podstabala. Između dva roditelja nasumično se izabere točka križanja u jednom i u drugom roditelju. Sada se kopira prvog roditelja i u kopiji zamijeni podstablo u točki križanja kopijom podstabla iz točke križanja drugog roditelja

  6. MUTACIJA • Postoje mnoge vrste mutacije u genetskom programiranju, a u ovoj implementaciji ćemo koristiti standardnu mutaciju. • Standardna mutacija (subtree mutation) • -slučajno se izabire čvor u stablu jedinke i umjesto njega se stavlja podstablo sa nasumično generiranim čvorovima

  7. OPIS PROBLEMA • Problem koji pokušavamo riješiti je spuštanje moonlandera na mjesec. • Letjelicu privlači mjesečeva gravitacija. Dodavanjem potiska moguće je odupirati se toj gravitaciji. Cilj je letjelicu što nježnije spustiti na površinu. • Rješenje, odnosno jedinka je funkcija koja za dano vrijeme i trenutačnu brzinu kao izlaz daje silu potiska • Koristimo genetsko programiranje da bi dobili funkciju koja što nježnije spušta letjelicu na površinu, odnosno tražimo takvu funkciju da brzina u trenutku kontakta sa podlogom bude minimalna

  8. ZADANE KONSTANTE • letjelica se nalazi na 100 metara iznad površine mjeseca • masa letjelice iznosi 1000 kg • mjesečeva gravitacija je 1.6 m/s^2 • potisak koji daje silu od 1000 N u trajanju od 1 sekunde troši 1 litru goriva • količina goriva je ograničena na 30 litara • snaga potiska je ograničena na 100 000 N

  9. PARAMETRI • koristi se turnirska selekcija • veličina turnira je 3 • uvijet za prekid simulacije je određen brojem generacija • dubina stabla početne populacije je 3-8 • simulacija se provodi 3 puta za sve kombinacije sljedećih parametara: • veličina populacije: 30 ili 200 jedinki • broj generacija: 10 ili 200 • vjerojatnost mutacije jedinke: 0.1 ili 0.6

  10. m/s Vjer. mutacije Brojgeneracija Veličina popul.

  11. REZULTATI

  12. REZULTATI

  13. REZULTATI • pregledom rezultata zaključujemo da 200 jedinki kroz dvjesto generacija daje najbolja rješenja no simulacija tada traje cca. 20 minuta. • rješenja vrlo slične kvalitete dobivamo već za 200 jedinki kroz 10 generacija, a takva simulacija traje tek nešto duže do minute. • za 30 jedinki kroz 200 generacija dobivamo nešto lošija rješenja i 2 do 3 puta dulje vrijeme izvođenja nego u slučaju 200 jedinki kroz 10 generacija. • simulacije sa 30 jedinki kroz 10 generacija traju svega 10-ak sekundi ali zato ipak daju nešto lošija rješenja.

  14. REZULTATI - primjetno je da vjerojatnost mutacije ima veći utjecaj kod manjih populacija, i u tom slučaju dovodi do poboljšanja rezultata - tokom provedbi simulacija 3 puta je došlo do slučaja da je najbolja jedinka bila neobično velika i u sva tri slučaja je vjerojatnost mutacije bila 0.6, iz čega se izvodi zaključak da u ovom slučaju povećanje vjerojatnosti mutacije dovodi do napuhavanja.

  15. KRAJ

More Related