44
Moderní metody optimalizace 1 Genetické algoritmy P edpov ny J. Hollandem v 60. letech b hem jeho práce na celulárních automatech První „velká“ publikace o jejich použití k optimalizaci funkcí je kniha D. Goldberga z 80. let 2015: pro heslo „Genetic algorithms“ nalezen ibližný po et výsledk 2 920 000 (pro srovnání „Simulated annealing“1 430 000 výsledk ) • Za standardní genetický algoritmus je dnes považována binární verze z té doby

Genetické algoritmy - cvut.cz

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 1

Genetické algoritmy• P edpov ny J. Hollandem v 60. letech b hem

jeho práce na celulárních automatech• První „velká“ publikace o jejich použití k

optimalizaci funkcí je kniha D. Goldberga z 80. let

• 2015: pro heslo „Genetic algorithms“ nalezen ibližný po et výsledk 2 920 000 (pro srovnání

„Simulated annealing“1 430 000 výsledk )• Za standardní genetický algoritmus je dnes

považována binární verze z té doby

Page 2: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 2

Celulární automata (CA)

Pravidla:• 3 erné = Bílá• 2 erné = erná• 1 erná = erná• 3 Bílé = Bílá

Page 3: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 3

1D Celulární automata1-dimensionální CA je založen na jedné

ad bun k (cells). Bu ky se m ní ze stavu do stavu podle daných pravidel.

Page 4: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 4

2D Celulární automata2-dimensionální CA je založen na kone né (nekone né) síti bun k, kdy každá je v jednom z kone ného po tu stav . as je dán diskrétn a stav bu ky v ase t je dán stavem sousedních bun k v ase t-1.

Page 5: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 5

.: Conway’s Game of Life

[Wikimedia]

(Hra života)

Dvourozm rná hrací plocha Hry života se znázor uje jako tvercová sí . Její polí kase nazývají bu ky (proto název celulární neboli bun ný automat). Každá bu ka

že nabývat dvou stav , m že být živá i mrtvá. Bu ka sousedí s dalšími bu kami, se kterými se dotýká hranou (ortogonáln ) i vrcholem (diagonáln ). Nový stavbu ky ur uje p echodová funkce :

1. Každá živá bu ka s mén než dv ma živými sousedy zem e.2. Každá živá bu ka se dv ma nebo t emi živými sousedy z stává žít.3. Každá živá bu ka s více než t emi živými sousedy zem e.4. Každá mrtvá bu ka s práv t emi živými sousedy oživne.

Page 6: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 6

.: Conway’s Game of Life

Page 7: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 7

.: Conway’s Game of Life

Page 8: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 8

Reálný p íklad: Modelování vývoje mikrostruktury betonu

W/c = 0.4, RVE 30 x 30 x 30 m

[Vít Šmilauer, Zden k Bittnar]

Page 9: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 9

Nap .: Vývin hydrata ního tepla

• SCC, CEM I 42.5 R, 350 kg/m3

Page 10: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 10

Middle Top

Nap .: Vývin hydrata ního tepla

Page 11: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 11

Vlastnosti GA• Založeny na Darwinov myšlence „p ežití

nejsiln jších“• Stochastické metody – vykazují náhodné

chování• Ne-gradientní metody- nevyžadují dokonce ani

spojitost optimalizované funkce• D kaz konvergence založen na tzv. Schema

teorému• V tšinou použity až jako poslední ešení, když

ostatní metody selžou

Page 12: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 12

ežití nejkulat jšího

Gen 1

Vybraní rodi e

Gen 2

Gen 3

Vybraní rodi e

Vít z!

Page 13: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 13

Genetické algoritmy• Názvosloví z biologie

x1 = (x11,x1

2,…x1n) f1

x2 = (x21,x2

2,…x2n) f2

|0111011|00001|…|10001|

ešení/jedinec) (ú elová/cílová funkce)(prom nné)

(populace)

(kódování)

(chromozom)

(gen)

Page 14: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 14

Genetické algoritmy

Poznámka: V dnešních aplikacích obvykle ú elová funkce a fitness splývají, nebo-li f F.

|0000000000011|

x

9

81

F = 1

F = 2

(genotyp) (fenotyp) (fitness/síla)

Nap .:

DNA Svalovec Vít zství v závodRychlý b žec

(jedinec)

3

|0000000001001| 9

f(x) = x2B F = po adí

Page 15: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 15

Motivace• Ukázkový p íklad:

max f(x) = x2, x[ 0 ; 33 ]

ešeníPo áte ní populace Hodnota x Fitness Pravd pod.

ekávaný po et

Aktuální po et

1 0 1 1 0 1 13 169 0,14 0,58 12 1 1 0 0 0 24 576 0,49 1,97 23 0 1 0 0 0 8 64 0,05 0,22 04 1 0 0 1 1 19 361 0,31 1,23 1

Suma 1170 1 4 4Avg. 292,5 0,25 1 1Max 576 0,49 1,97 2

Page 16: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 16

ešení Potomci Po mutaci Hodnota x Fitness1 0 1 1 0 0 1 1 1 0 0 26 6762 1 1 0 0 1 1 1 0 0 1 25 6252 0 1 0 1 1 0 1 0 1 1 27 7294 1 0 0 0 0 1 0 0 1 0 18 324

Suma 2354Avg. 588,5Max 729

ešeníMating pool

místo ížení Potomci Hodnota x Fitness

1 0 1 1 0 | 1 4 0 1 1 0 0 12 1442 1 1 0 0 | 0 4 1 1 0 0 1 25 6252 1 1 | 0 0 0 2 1 1 0 1 1 27 7294 1 0 | 0 1 1 2 1 0 0 0 0 16 256

Suma 1754Avg. 438,5Max 729

Page 17: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 17

Standardní genetický algoritmus1 t = 02 Vytvo P0, ohodno P0

3 while (not zastavovací podmínka) { 4 t = t+15 Vyber Mt z Pt-1 (aplikace výb ru)

6 Zm Mt (použití genetických operátor )

7 Vytvo Pt z Mt a ohodno Pt (vytvo ení nové populace)

8 }

Kde P je populace, nebo-li množina možných ešení, M je tzv. mating pool (pá ecí rybní ek), t je íta iterací, zde nazvaných generace

Page 18: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 18

Binární reprezentace prom nných• Celá ísla jsou v po íta i uložena v lehce

dostupném binárním kódu, nap . pomocí binárních operátor v jazyce C.

• V p ípad neexistence transformace mezi celo íselným a binárním zápisem je transformace dána:

1. Délkou binárního et zce q

Page 19: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 19

Binární reprezentace prom nných

2. Binárním et zcem , který je pro danou kladnou celo íselnou hodnotu zi dán vztahem

3. S inverzním vztahem

Page 20: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 20

Hammingova bariéra

dv ísla:

000000010000000 a000000001111111

spolu sousedí, ale jsou v binárním kódu daleko od sebe(mají velkou tzv. Hammingovskou vzdálenost)

[Kvasni ka et. al., 2000]

Page 21: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 21

Hammingova bariéra: ešení

1) Operátor inverze

2) Grayovo kódování

Page 22: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 22

Záleží na typu kódování chromozom :• Pro binární kódování v etn Grayova kódu:

– jednobodové k ížení

– k-bodové k ížení

111|1111111111

Operátory k ížení

000|0000000000111|0000000000000|1111111111

vodní chromozomy: nové chromozomy:

111|11111|11111000|00000|00000

111|00000|11111000|11111|00000

vodní chromozomy: nové chromozomy:

Page 23: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 23

Záleží na typu kódování chromozom :• Pro binární kódování v etn Grayova kódu:

– uniformní k ížení

Pozn. Jedno i k-bodové k ížení zachovávají celistvost ešení, kdežto uniformní k ížení schémata rozbíjí

1111111111111

Operátory k ížení

000000000000010110001101010100111001010

vodní chromozomy: nové chromozomy:

Page 24: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 24

Záleží na typu kódování chromozom :• Pro reálné reprezentace chromozom nap .:

– Aritmetický• Potomek 1: C1 = * P1 + (1- ) P2

• Potomek 2: C2 = * P2 + (1- ) P1

je náhodné íslo mezi 0 a 1

– blend crossover BLX-• Dva rodi ové P1 a P2 se zadanými mezemi L a U• R1 = max (L, P1 (P2 –P1))• R2 = min (U, P2 + (P2 –P1))• Potomci jsou vybráni náhodn mezi R1 a R2

je v tšinou voleno jako 0,5

Operátory k ížení

Page 25: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 25

Speciální operátory:– ížení s áste ným p azením (PMX – partially

matched crossover) – vhodné pro permuta ní úlohy

Operátory k ížení

123|4567|89452|1876|93

xxx|1876|xxxxx|4567|xx

Mapa:4, 8 5, 7 6, 6 7

x23|1876|x9xx2|4567|93

423|1876|59182|4567|93

Page 26: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 26

Speciální operátory:– Uniformní k ížení se zachováním po adí (uniform

order-based crossover) – vhodné pro permuta ní úlohy

Operátory k ížení

123456|789452187|693

123456|xxx452187|xxx

123456|879453287|369..3..6..9

….87.9.Mapa:

Page 27: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 27

Speciální operátory:– K ížení se zachováním po tu (CPC – count preserving

crossover) – pro úlohy zachovávající po et 1 a 0

Operátory k ížení

0101010111001100

x10xx10xx10xx10x

Mapa:List1 = [4,8]List0 = [1,5]

1100x10x0101x10x

1100010101011100

Rand() = 0.43 < 0.5 proho

Rand() = 0.78 > 0.5 zachovej

Page 28: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 28

Operátory mutace

123456789 123756489

Page 29: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 29

Výb r ešení

• Ve fázi tvorby mating pool, tzv. parent selection, nebo p i tvo ení nové generace, tzv. survivor selection

• Množství možných metod, zde uvedeme:– Roulette wheel (ruleta)– SUS – Stochastic Universal Sampling– Tournament selection (turnajový výb r)– Inverzní turnajový výb r– Elitismus– Ranking a linear scaling

Page 30: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 30

Ruleta

p1 = 0,14 p2 = 0,49 p4 = 0,31p3 = 0,05

Pravd podobnost

Kumulativní pravd podobnost

0 0,14 0,63 0,68 1

RAND()

RAND()

RAND()

RAND()

Page 31: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 31

Ruleta

• Tradi ní nástroj

• Nezaru uje vybrání nejlepšího jedince, zejména pro velikosti populace v ádu desítek a výše

• Výpo etn náro ná metoda, n x RND()

Page 32: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 32

SUS – Stochastic Universal Sampling

c4 = 1,23c3 = 0,22

ekávaný po et

Kumulativní ekávaný po et0 2,55 2,77 4

RAND()

p1 = 0,58 p2 = 1,97

0,58

1,0 1,0 1,0

Page 33: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 33

SUS – Stochastic Universal Sampling

• Nezaru uje vybrání nejlepšího jedince, zejména pro velikosti populace v ádu desítek a výše, ale

• Zaru uje celo íselné o ekávané po ty, nap .ešení s c = 2,0001 bude vždy vybráno 2x

• Výpo etn nejmén náro ná metoda,pouze 1 x RND()!

Page 34: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 34

Turnajový výb r

• Vybere z populace náhodn k „sout žících“ (nej ast ji k = 2) a z nich vybere nejlepšího (turnaj) a tento postup se provede n-krát

• Nezaru uje vybrání nejlepšího jedince tím, že existuje pravd podobnost, že nebude za azen do turnaje

• Výpo etn náro né, k x n x RND()

Page 35: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 35

Inverzní turnajový výb r• Ur ená pro výb r p ešení, kde p < n• Vybere z populace náhodn k „sout žících“

(nej ast ji k = 2) a z nich „zahodí“ nejhoršího (inverzní turnaj) a tento postup se provede n-krát

• Jako jedna z mála metod zaru uje vybrání nejlepšího jedince

• Nejvíce „demokratická“ metoda – existuje pravd podobnost vybrání nejhoršího ešení tím, že se nedostane do turnaje

• Výpo etn náro ná metoda, k x n x RND()

Page 36: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 36

Elitismus• Má dva významy:1) Výb r nebo kopie nejlepšího ešení do další

generace. Používá se nej ast ji z d vodu ztráty takovéhoto ešení vlivem náhody p i výb ru ruletou i turnajem

2) Vlastnost nebo postup, který up ednost uje „lepší“ ešení p ed ostatními.Nap . turnaj s k = 3 je více elitistický než turnaj s k = 2

Page 37: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 37

Ranking a linear scaling

• Metody na úpravu fitness, na podporu nebo naopak na potla ení elitismu

• Ranking id luje fitness nikoliv na základ velikosti ú elové funkce, ale podle po adí daného ešení vzhledem k populaci. Nap . nejlepší ešení bude mít o ekávaný po et kopií 3, druhé nejlepší 2 a ostatní do výb ru po 1 a zbytek (nejhorší ešení) 0.

Page 38: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 38

Ranking a linear scaling

• Linear scaling ur uje fitness tak, aby fitness populace m la lineární pr h, byl zachován pr r hodnot ú elových funkcí a aby maximální fitness byl v intervalu 1,2-2,0 násobku pr ru (voleno uživatelem)

Page 39: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 39

kaz konvergence: „Schema theorem“dv ešení:

01010010100101010101110101010101 a01011010100101110001110111010111

jsou pokryty schematem:

0101#010100101#10#011101#10101#1

ekávané množství výskytu ur itého schematu v ase t+1

Viz Doc. Lažanský

Page 40: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 40

• V p ípad , že jeden genotyp obsadí celou populaci, je populace konvergovaná

• Konvergence je ed asná, pokud nebylo nalezeno požadované ešení

ešení:– Udržování diversity v populaci– Multi-modální ešení

(p ed asná konvergence)Premature Convergence

Page 41: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 41

Deceptive functions(klamavé funkce)

y

0

5

10

15

20

25

30

35

40

45

-8 -6 -4 -2 0 2 4 6 8

Viz. Robust design optimization

Page 42: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 42

Reference[1] Holland, J. H. (1975). Adaptation in Natural and Artificial Systems.

MIT Press.

[2] Goldberg, D. (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley.

[3] Michalewicz, Z. (1992). Genetic Algorithms + Data Structures = Evolution Programs. AI Series. Springer-Verlag, New York.

[4] Wolfram, S. (2002). Cellular Automata and Complexity. Perseus Publishing.

[5] A. E. Eiben, J. E. Smith (2003). Introduction to Evolutionary Computing. Springer.

[6] Dreo J, Petrowsky A, Siarry P and Taillard E. (2006). Metaheuristics for hard optimization. Methods and case studies. Berlin Heidelberg: Springer

Page 43: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 43

Reference

[7] P. Convey, R. Highfield: Mezi chaosem a ádem. Mladá fronta, 2003.

[8] Dawkins, Richard: Sobecký gen. Mladá fronta, edice: Kolumbus, 2003.

[9] Zrzavý, Jan; Storch, David; Mihulka, Stanislav: Jak se d lá evoluce. Paseka, edice: Fénix, 2004.

[10] Ma ík, V. a kol: Um lá inteligence I-IV, Academia, 1996—2003.

[11] V. Kvasni ka, J. Pospíchal, P Ti o (2000). Evolu né algoritmy. STU Bratislava.

Page 44: Genetické algoritmy - cvut.cz

Moderní metody optimalizace 44

Prosba. V p ípad , že v textu objevíte n jakou chybu nebo budete mít nám t na jeho vylepšení, ozv te se prosím na [email protected].

Datum poslední revize: 9.11.2008Verze: 002

Oprava 28.3.2008: Strana 37,34, Opravena reference [4] a p idána refernce [6] Oprava 28.3.2008: Strana 18, Opravena referenceOprava 9.11.2008: Strana 12 a 14, Oprava a zvýrazn níOprava 9.11.2008: Vymazány stránky s celo íselným a reálným kódovánímOprava 9.11.2008: Prohozena reference [4] a [5]