270 likes | 430 Views
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.
E N D
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 HG'98 - Genetički algoritmi
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
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
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
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
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
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
Prikaz kandidatnih nizova • Kodiranje parametara zadatka u kandidatni niz • Jednostavnost koda • Izbjegavanje nedozvoljenih kodova • Jednostavnost upravljanja genetičkim operatorima HG'98 - Genetički algoritmi
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
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
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
Niz Uspješnost1 1100010101 92 0000100010 73 1000000001 64 0001100010 55 1101110101 56 0001000100 47 1111111000 38 0000000001 39 1100001000 210 1111111111 1 Niz 1: Vjerojatnost odabira 20% (9/45) Reprodukcija (odabir nizova) (2) HG'98 - Genetički algoritmi
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
11|00010|101 11|00100|101 00|001100|010 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 HG'98 - Genetički algoritmi
1010010101 1010011101 Genetički operatori (2) • Mutacija: • Uvođenje novih nizova u populaciju • Slučajna izmjena jednog dijela (gena) niza • Binarno kodirani niz - komplementiranje HG'98 - Genetički algoritmi
1|10010|0101 1|01001|0101 Genetički operatori (3) • Inverzija: • Premještanje dijela (gena) unutar niza HG'98 - Genetički algoritmi
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
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
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
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
Primjer: Optimizacija funkcije (3) fi(x) = 1/yi(x) f’ - prosječna uspješnost populacije
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
Primjer: Optimizacija funkcije (5) * mutacija HG'98 - Genetički algoritmi