GENETIČKI ALGORITMI U PROMETU I TRANSPORTU

Preview:

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

Recommended