GENETIKI ALGORITMI U PROMETU I TRANSPORTU Hrvoje Gold

  • Slides: 26
Download presentation
GENETIČKI ALGORITMI U PROMETU I TRANSPORTU Hrvoje Gold HG'98 - Genetički algoritmi

GENETIČKI ALGORITMI U PROMETU I TRANSPORTU Hrvoje Gold HG'98 - Genetički algoritmi

Genetički algoritam • Postupak stohastičkog pretraživanja prostora rješenja na temelju “prirodnog” izbora najsposobnijih kandidatnih

Genetički algoritam • Postupak stohastičkog pretraživanja prostora rješenja na temelju “prirodnog” izbora najsposobnijih kandidatnih rješenja • Optimizacija umjetnih (tehnoloških, tehničkih) sustava na temelju optimizacije prirodnih sustava HG'98 - Genetički algoritmi 2

Literatura • J. H. Holland: Adaptation in Natural and Artificial Systems, University of Michigan

Literatura • J. H. Holland: Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, MI, 1975. • D. E. Goldberg: Genetic Algorithms in Search, Optimization and Machine Learning, Addison Wesley, Reading, Mass, 1989. HG'98 - Genetički algoritmi 3

Prirodni izbor • Organizmi su prilagođeni životu u prirodi • Darwin: Teorija razvoja (evolucije)

Prirodni izbor • Organizmi su prilagođeni životu u prirodi • Darwin: Teorija razvoja (evolucije) – Prilagodbu organizama uzrokuju procesi križanja i mijenjanja gena u kromosomima – Radi ograničenosti prirodnih bogatstava preživljavaju samo najsposobniji (selekcija) HG'98 - Genetički algoritmi 4

Primjena načela prirodnog izbora (1) • Pronalaženje skupa parametara sustava koji optimiziraju rad sustava

Primjena načela prirodnog izbora (1) • Pronalaženje skupa parametara sustava koji optimiziraju rad sustava • Kodiranjem parametara tvori se populacija • Rezultat spajanja potencijalnih kodiranih rješenja (dijece) slučajno izabranih kodiranih rješenja (roditelja) iz populacije predstavlja kandidatno rješenje • Reprodukcija se izvodi genetičkim operacijama križanja i mutacije na genima HG'98 - Genetički algoritmi 5

Primjena načela prirodnog izbora (2) • Novo rješenje se vrednuje funkcijom uspješnosti i uključuje

Primjena načela prirodnog izbora (2) • Novo rješenje se vrednuje funkcijom uspješnosti i uključuje u populaciju • Radi zadržavanja stalne veličine populacije u populaciju se izabiru samo najuspješnija rješenja • Pravilnim izborom želi se povećati kvaliteta populacije. HG'98 - Genetički algoritmi 6

Elementi genetičkog algoritma • Kandidatna rješenja prikazana nizovima kodiranih simbola “gena” • Funkcija uspješnosti

Elementi genetičkog algoritma • Kandidatna rješenja prikazana nizovima kodiranih simbola “gena” • Funkcija uspješnosti procjenjuje sposobnost “preživljavanja” kandidatnih rješenja • Genetički operatori “rađaju” nova kandidatna rješanja • Upravljanje primjenom genetičkih operatora HG'98 - Genetički algoritmi 7

Izgradnja genetičkog algoritma • • Izbor prikaza kandidatnog niza (binarni kod) Izbor genetičkih operatora

Izgradnja genetičkog algoritma • • Izbor prikaza kandidatnog niza (binarni kod) Izbor genetičkih operatora Utvrđivanje funkcije uspješnosti Utvrđivanje načina primjene genetičkih operatora HG'98 - Genetički algoritmi 8

Prikaz kandidatnih nizova • Kodiranje parametara zadatka u kandidatni niz – Jednostavnost koda –

Prikaz kandidatnih nizova • Kodiranje parametara zadatka u kandidatni niz – Jednostavnost koda – Izbjegavanje nedozvoljenih kodova – Jednostavnost upravljanja genetičkim operatorima HG'98 - Genetički algoritmi 9

Funkcija uspješnosti • Funkcija cilja, funkcija troška – Odgovara zadatku • Izračunava vrijednost uspješnosti

Funkcija uspješnosti • Funkcija cilja, funkcija troška – Odgovara zadatku • Izračunava vrijednost uspješnosti kandidatnih nizova • Na kandidatni niz s najvećom vrijednosti primjenjuju se genetički operatori HG'98 - Genetički algoritmi 10

Veličina populacije • Primjenom genetičkih operatora generiraju se novi kandidatni nizovi • Veliki broj

Veličina populacije • Primjenom genetičkih operatora generiraju se novi kandidatni nizovi • Veliki broj kandidatnih nizova povećava brzinu pretraživanja, ali zahtjeva puno računanja HG'98 - Genetički algoritmi 11

Reprodukcija (odabir nizova) (1) • Metoda ruleta: Vjerojatnost odabira niza je proporcionalna njegovoj vrijednosti

Reprodukcija (odabir nizova) (1) • Metoda ruleta: Vjerojatnost odabira niza je proporcionalna njegovoj vrijednosti uspješnosti • Metoda rangiranja: Odabir niza je linearno zavisan o rangu niza u populaciji HG'98 - Genetički algoritmi 12

Reprodukcija (odabir nizova) (2) 1 2 3 4 5 6 7 8 9 10

Reprodukcija (odabir nizova) (2) 1 2 3 4 5 6 7 8 9 10 Niz 1100010101 000010 100001100010 110101 000100 1111111000 000001 1100001000 11111 Uspješnost 9 7 6 5 5 4 3 3 2 Niz 1: Vjerojatnost odabira 20% (9/45) 1 HG'98 - Genetički algoritmi 13

Reprodukcija (odabir nizova) (3) • Ako se kod zamjene stare populacije novom veličina populacije

Reprodukcija (odabir nizova) (3) • Ako se kod zamjene stare populacije novom veličina populacije ne mijenja, očekivani broj reprodukcija i-tog niza iznosi HG'98 - Genetički algoritmi 14

Genetički operatori (1) • Križanje: – Dijelovi (geni) odabranih parova nizova se premještaju tako

Genetički operatori (1) • Križanje: – Dijelovi (geni) odabranih parova nizova se premještaju tako da tvore novi par nizova. – Mjesto premještanja se slučajno izabire 11|00010|101 11|00100|101 00|001100|010 HG'98 - Genetički algoritmi 15

Genetički operatori (2) • Mutacija: – Uvođenje novih nizova u populaciju – Slučajna izmjena

Genetički operatori (2) • Mutacija: – Uvođenje novih nizova u populaciju – Slučajna izmjena jednog dijela (gena) niza – Binarno kodirani niz - komplementiranje 1010010101 1010011101 HG'98 - Genetički algoritmi 16

Genetički operatori (3) • Inverzija: – Premještanje dijela (gena) unutar niza 1|10010|0101 1|01001|0101 HG'98

Genetički operatori (3) • Inverzija: – Premještanje dijela (gena) unutar niza 1|10010|0101 1|01001|0101 HG'98 - Genetički algoritmi 17

Temeljni genetički algoritam (1) 1. Zadavanje početne populacije: Slučajno generiranje skupa kandidatnih nizova {N}.

Temeljni genetički algoritam (1) 1. Zadavanje početne populacije: Slučajno generiranje skupa kandidatnih nizova {N}. 2. Utvrđivanje vrijednosti uspješnosti nizova u populaciji: Funkcija uspješnosti mora odgovarati postavljenom zadatku. 3. Reprodukcija: Na temelju vrijednosti uspješnosti nizova u populaciji, stvara se nova populacija nizova na koju će se primijeniti genetički operatori. HG'98 - Genetički algoritmi 18

Temeljni genetički algoritam (2) 4. Križanje: Operator križanja generira nove nizove spajanjem dijelova postojećih

Temeljni genetički algoritam (2) 4. Križanje: Operator križanja generira nove nizove spajanjem dijelova postojećih nizova. Slučajni izbor parova nizova i mjesta spajanja na nizovima. 5. Mutacija: Slučajna izmjena vrijednosti niza. 6. Korake algoritma od 2 do 5 ponavljati dok nije postignuta konvergencija ili prethodno utvrđeni broj naraštaja. HG'98 - Genetički algoritmi 19

Primjer: Optimizacija funkcije (1) • Pronalaženje najmanje (ili najveće) vrijednosti funkcije • Rješenje: x

Primjer: Optimizacija funkcije (1) • Pronalaženje najmanje (ili najveće) vrijednosti funkcije • Rješenje: x = 10, y(x) = 0. 5 HG'98 - Genetički algoritmi 20

Primjer: Optimizacija funkcije (2) • • • Slučajno generirano 5 brojeva Binarno kodirani 5

Primjer: Optimizacija funkcije (2) • • • Slučajno generirano 5 brojeva Binarno kodirani 5 bitnim nizovima Izračunate vrijednosti yi(x) Minimum funkcije; maksimum uspješnosti Vjerojatnost izbora niza Očekivani broj reprodukcija i-tog niza fi/f’ HG'98 - Genetički algoritmi 21

Primjer: Optimizacija funkcije (3) fi(x) = 1/yi(x) f’ - prosječna uspješnost populacije 22

Primjer: Optimizacija funkcije (3) fi(x) = 1/yi(x) f’ - prosječna uspješnost populacije 22

Primjer: Optimizacija funkcije (4) • Primjena operatora križanja i mutacije između slučajno odabranih nizova

Primjer: Optimizacija funkcije (4) • Primjena operatora križanja i mutacije između slučajno odabranih nizova • Mutacija na nizu v 1 mijenja vrijednost uspješnosti niza od 1. 000 na 1. 471 Nova pop. xi Prije mutacije yi(x) fi(x) 10100 20 1. 000 Poslije mutacije 10000 16 0. 680 1. 471 HG'98 - Genetički algoritmi 23

Primjer: Optimizacija funkcije (5) HG'98 - Genetički algoritmi * mutacija 24

Primjer: Optimizacija funkcije (5) HG'98 - Genetički algoritmi * mutacija 24

Primjer: Optimizacija funkcije (6) 25

Primjer: Optimizacija funkcije (6) 25

HG'98 - Genetički algoritmi 26

HG'98 - Genetički algoritmi 26