Upload
nailah
View
101
Download
0
Embed Size (px)
DESCRIPTION
GENETIČKI ALGORITMI U PROMETU I TRANSPORTU. Hrvoje Gold. 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. - PowerPoint PPT Presentation
Citation preview
GENETIČKI ALGORITMI U PROMETU I TRANSPORTU
Hrvoje Gold
HG'98 - Genetički algoritmi 2
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 3
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 4
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 5
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 6
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 7
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 8
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 9
Prikaz kandidatnih nizova
• Kodiranje parametara zadatka u kandidatni niz– Jednostavnost koda– Izbjegavanje nedozvoljenih kodova– Jednostavnost upravljanja genetičkim
operatorima
HG'98 - Genetički algoritmi 10
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 11
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 12
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
i
ii f
fp
HG'98 - Genetički algoritmi 13
Reprodukcija (odabir nizova) (2)
Niz Uspješnost1 1100010101 92 0000100010 73 1000000001 64 0001100010 55 1101110101 56 0001000100 47 1111111000 38 0000000001 39 1100001000 210 1111111111 1
120%
216%
313%4
11%
511%
69%
77%
87%
94%
102%
Niz 1: Vjerojatnost odabira 20% (9/45)
HG'98 - Genetički algoritmi 14
Reprodukcija (odabir nizova) (3)
• Ako se kod zamjene stare populacije novom veličina populacije ne mijenja, očekivani broj reprodukcija i-tog niza iznosi
ff
Nff
ff
NpNn i
i
i
i
iii
HG'98 - Genetički algoritmi 15
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|00100|101
11|00010|101
00|001100|010
HG'98 - Genetički algoritmi 16
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 17
Genetički operatori (3)
• Inverzija:– Premještanje dijela (gena) unutar niza
1|10010|0101
1|01001|0101
HG'98 - Genetički algoritmi 18
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 19
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 20
Primjer: Optimizacija funkcije (1)
• Pronalaženje najmanje (ili najveće) vrijednosti funkcije
• Rješenje: x = 10, y(x) = 0.5
2
2001
101
1)( xxxy
HG'98 - Genetički algoritmi 21
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’
22
Primjer: Optimizacija funkcije (3)Niz Vrijednost yi(x) fi(x) fi/Sfi fi/f'x x
v1 10111 23 1.345 0.743 0.101 0.504v2 01100 12 0.520 1.923 0.261 1.304v3 10100 20 1.000 1.000 0.136 0.677v4 00110 6 0.580 1.732 0.235 1.173v5 01001 9 0.505 1.980 0.267 1.342
Zbroj 7.378 1.000 5.000Prosj. 1.476 0.200 1.000Max. 1.980 0.267 1.432
fi(x) = 1/yi(x) f’ - prosječna uspješnost populacije
HG'98 - Genetički algoritmi 23
Primjer: Optimizacija funkcije (4)
• Primjena operatora križanja i mutacije između slučajno odabranih nizova
• Mutacija na nizu v1 mijenja vrijednost uspješnosti niza od 1.000 na 1.471
Nova pop. xi yi(x) fi(x)
Prije mutacije 10100 20 1.000 1.000
Poslije mutacije 10000 16 0.680 1.471
HG'98 - Genetički algoritmi 24
Primjer: Optimizacija funkcije (5)Repro. Slučajno Mjesto Nova xiskup odabr. par. križ. pop.
*v1 101|11 2 3 10000 16
01111 15v2 01|100 5 2 01001 9
01100 12v3 1010|0 1 4 10101 21
10110 22v4 0|0110 3 1 00100 4
10110 22v5 010|01 4 3 01010 10
00101 5
* mutacija
25
Primjer: Optimizacija funkcije (6)xi yi(x) fi(x) fi(x)**
v1 16 0.680 1.47115 0.625 1.600** 1.600
v2 9 0.505 1.980** 1.98012 0.520 1.923** 1.923
v3 21 1.105 0.90522 1.220 0.820
v4 4 0.680 1.47122 1.220 0.820
v5 10 0.500 2.000** 2.0005 0.625 1.600** 1.600
Zbroj 14.589 9.103Prosj. 1.459 1.821Max. 2.000 2.000
HG'98 - Genetički algoritmi 26