prirodom inspirirano optimizacijski algoritmi

63
1 Prirodom inspirirani optimizacijski algoritmi Dr.sc. Marko Čupić Zagreb, 24. svibnja 2012. FER Umjetna inteligencija

Upload: others

Post on 10-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prirodom inspirirano optimizacijski algoritmi

1

Prirodom inspirirani optimizacijski algoritmi

Dr.sc. Marko ČupićZagreb, 24. svibnja 2012.

FERUmjetna inteligencija

Page 2: Prirodom inspirirano optimizacijski algoritmi

2

Uvod

• Izranjajuća inteligencija• Optimizacijski problemi• Genetski algoritam• Algoritam kolonije mrava

Page 3: Prirodom inspirirano optimizacijski algoritmi

3

Izranjajuća inteligencija

•Izranjajuća inteligencija•Optimizacijski problemi•Genetski algoritam•Algoritam kolonije mrava

Page 4: Prirodom inspirirano optimizacijski algoritmi

4

Uvod: Evolucija

Page 5: Prirodom inspirirano optimizacijski algoritmi

5

Uvod: Evolucija

Page 6: Prirodom inspirirano optimizacijski algoritmi

6

Uvod: Jato ptica

Page 7: Prirodom inspirirano optimizacijski algoritmi

7

Uvod: Rojenje pčela

Page 8: Prirodom inspirirano optimizacijski algoritmi

8

Uvod: Mravlje kolonije

• Površina 50 m2, dubina 8 metara

Page 9: Prirodom inspirirano optimizacijski algoritmi

9

Uvod: Mravlje kolonije

• Mravinjak, put…

Page 10: Prirodom inspirirano optimizacijski algoritmi

10

Uvod: Mravlje kolonije

Page 11: Prirodom inspirirano optimizacijski algoritmi

11

Uvod: Mravlje kolonije

Page 12: Prirodom inspirirano optimizacijski algoritmi

12

Uvod: Jato riba

Page 13: Prirodom inspirirano optimizacijski algoritmi

13

Uvod: zaključci

Dumb parts, properly connected

into a swarm, yield smartresults.

Kevin KellyNew Rules for the New Economy

Sep 1997

Page 14: Prirodom inspirirano optimizacijski algoritmi

14

Uvod: zaključci

The whole is greaterthan

the sum of the parts.

Page 15: Prirodom inspirirano optimizacijski algoritmi

15

Optimizacijski problemi

•Izranjajuća inteligencija•Optimizacijski problemi•Genetski algoritam•Algoritam kolonije mrava

Page 16: Prirodom inspirirano optimizacijski algoritmi

16

Optimizacijski problemi

• Optimizacija: postupak pronalaženja najboljeg rješenja problema, rješenja s najmanjom cijenom

• Tipično:– Kontinuirano područje– Kombinatorički problemi

Page 17: Prirodom inspirirano optimizacijski algoritmi

17

Optimizacijski problemi

• Pretraživanje prostora stanja:– Nađi put od S0 do SF

– Rješenje je put (npr. slagalica 3x3!)• CSP: Constraint Satisfaction Problem

– Vrsta pretraživanja prostora stanja kod kojeg put od početnog do konačnog stanja nije bitan

– Rješenje je isključivo konačno stanje

Page 18: Prirodom inspirirano optimizacijski algoritmi

18

Optimizacijski problemi

• CSP: Constraint Satisfaction Problem– Definira se niz ograničenja koja moraju biti

zadovoljena– Definira se kriterijska funkcija koja se

optimira

Page 19: Prirodom inspirirano optimizacijski algoritmi

19

Optimizacijski problemi

• Način rješavanja kombinatoričkihproblema već smo upoznali– Algoritmi pretraživanja prostora stanja

• Pretraživanje u širinu• Pretraživanje u dubinu• A*• …

• Nažalost, u praksi često neiskoristivi

Page 20: Prirodom inspirirano optimizacijski algoritmi

20

Optimizacijski problemi

• Problem trgovačkog putnika– Poznate koordinate n gradova na karti– Pronaći najkraću turu kroz sve gradove– Matematičkim žargonom: pronaći

Hamiltonov ciklus u grafu– NP težak problem

(faktorijelna složenost)

Page 21: Prirodom inspirirano optimizacijski algoritmi

21

Optimizacijski problemi

• Problem trgovačkog putnika

Page 22: Prirodom inspirirano optimizacijski algoritmi

22

Optimizacijski problemi

• Problem trgovačkog putnika– 12 gradova, 12 sekundi– 13 gradova, 2,5 minute– 14 gradova, pola sata– 15 gradova, 7,6 sati– 16 gradova, 4,7 dana– …– 500 gradova, ????

Page 23: Prirodom inspirirano optimizacijski algoritmi

23

Optimizacijski problemi

• Drugi problemi– Raspoređivanje neraspoređenih

studenata u grupe za predavanja– Izrada rasporeda međuispita– Izrada rasporeda laboratorijskih vježbi

• Iscrpnom pretragom– Puno, puno više vremena no što je svemir

star!

Page 24: Prirodom inspirirano optimizacijski algoritmi

24

Optimizacijski problemi

• Heuristike– Algoritmi koji pronalaze dovoljno dobra

rješenja, tipično ne nude garanciju optimalnosti, te imaju nisku računsku složenost (polinomijalnu)

– Dijelimo ih na• Konstrukcijske• Algoritmi lokalne pretrage

Page 25: Prirodom inspirirano optimizacijski algoritmi

25

Optimizacijski problemi

• Heuristike– Konstrukcijske

• Grade rješenje segment po segment– Algoritmi lokalne pretrage

• Kreću od nekog početnog rješenja i pokušavaju ga inkrementalno poboljšavati

Page 26: Prirodom inspirirano optimizacijski algoritmi

26

Optimizacijski problemi

• Metaheuristike– Skup algoritamskih koncepata koji

koristimo za definiranje heurističkih metoda primjenjivih na širok skup problema

– heuristika koja vodi problemski specifične heuristike

Page 27: Prirodom inspirirano optimizacijski algoritmi

27

Optimizacijski problemi

• Metaheuristike– Simulirano kaljenje– Tabu pretraživanje– Evolucijski algoritmi– Mravlji algoritmi– Algoritmi rojeva– Algoritmi umjetnih imunoloških sustava– …

Page 28: Prirodom inspirirano optimizacijski algoritmi

28

Sitan problemčić

• Teorem "No free lunch", Wolpert & Macready, 1995, 1997:

– Svi algoritmi koji traže ekstrem funkcije cilja ponašaju se upravo jednako s obzirom na bilo koju mjeru performansi, kada se pogleda njihovo prosječno ponašanje nad svim mogućim funkcijama cilja.…

Page 29: Prirodom inspirirano optimizacijski algoritmi

29

Sitan problemčić

• Teorem "No free lunch", Wolpert & Macready, 1995, 1997:

– Konkretno, ako algoritam A nadmašuje algoritam B na nekim funkcijama cilja, tada, grubo govoreći, mora postojati upravo toliko drugih funkcija cilja nad kojima B nadmašuje A.

Page 30: Prirodom inspirirano optimizacijski algoritmi

30

Genetski algoritam

•Izranjajuća inteligencija•Optimizacijski problemi•Genetski algoritam•Algoritam kolonije mrava

Page 31: Prirodom inspirirano optimizacijski algoritmi

31

Genetski algoritam

• Evolucija kao inspiracija

• Populacijski algoritmi• Darwinova teorija o

postanku vrsta

Page 32: Prirodom inspirirano optimizacijski algoritmi

32

Genetski algoritam

• Temeljne postavke: Darwin– plodnost vrsta – potomaka uvijek ima više

no što je potrebno– veličina populacije je približno stalna– količina hrane je ograničena– kod vrsta koje se seksualno razmnožavaju,

nema identičnih jedinki već postojevarijacije, te

– najveći dio varijacija prenosi se nasljeđem

Page 33: Prirodom inspirirano optimizacijski algoritmi

33

Genetski algoritam

• Primjer problema– Naći x za koji je f(x) minimalna

)2cos(1010)( 2 xxxf ⋅⋅⋅−+= π

Page 34: Prirodom inspirirano optimizacijski algoritmi

34

Genetski algoritam

• Kako radi GA?– Radimo s populacijom kromosoma– Svaki kromosom je jedno rješenje

problema– Svako rješenje ima svoju dobrotu

(engl. fitness) ili kaznu– U našem primjeru dobrota i f(x) su suprotni

veći f(x), manja dobrotaf(x) odgovara kazni

Page 35: Prirodom inspirirano optimizacijski algoritmi

35

Genetski algoritam

• Implementacija– Iterativno iz trenutne generacije stvaramo

sljedeću– Potomke imaju veću šansu stvoriti bolja

rješenja– Rješenja se kombiniraju operatorom

križanja– Operator mutacije

Page 36: Prirodom inspirirano optimizacijski algoritmi

36

Genetski algoritam

• Dijagram toka

Nova populacija Mutacija Križanje

Evaluacija Provjera uvjeta Selekcija

Kraj

Stvaranje slučajne

populacije

Page 37: Prirodom inspirirano optimizacijski algoritmi

37

Genetski algoritam

• Uloga– Selekcija selekcijski pritisak brzina

konvergencije– Križanje pretraživanje okoline roditelja– Mutacija bijeg iz lokalnih ekstrema,

veliki skokovi u prostoru pretraživanja

Page 38: Prirodom inspirirano optimizacijski algoritmi

38

Genetski algoritam

• Binarni kromosom– Niz nula i jedinica koji se interpretira kao

rješenje problema (vrijednost varijable)– Npr. Trobitni kromosom: 000, 001, …, 111– Ako predstavlja realnu varijablu iz

područja [-2, 2], tada: 000≡-2, 001≡-1.43, …, 111≡2

– Broj bitova za određenu preciznost?

Page 39: Prirodom inspirirano optimizacijski algoritmi

39

Genetski algoritam

• Binarni kromosom– Složeniji primjer

• rješenje za funkciju od tri varijable x, y, z

Page 40: Prirodom inspirirano optimizacijski algoritmi

40

Genetski algoritam

• Križanje s jednom točkom prijeloma– Odabiru se dva roditelja– Slučajno se odabire točka prijeloma– Obavlja se križanje

Page 41: Prirodom inspirirano optimizacijski algoritmi

41

Genetski algoritam

• Više vrsta križanja– Križanje s jednom točkom prijeloma– Križanje s n točaka prijeloma– Uniformno križanje– …

Page 42: Prirodom inspirirano optimizacijski algoritmi

42

Genetski algoritam

• Operator mutacije– Zadana vjerojatnost mutacije bita– Operator okreće vrijednost bita

– Može generirati veliku promjenu!

Page 43: Prirodom inspirirano optimizacijski algoritmi

43

Genetski algoritam

• Umjesto binarno, za prikaz rješenja možemo koristiti i polje decimalnih brojeva– Križanje:

• d(i) = (r1(i) + r2(i))/2(d … dijete; r1, r2 … roditelji)

– Mutacija:• d(i) += gauss(0, K) ili d(i) += uniformno(-K, K)• Za svaki i ili samo za neke slučajno odabrane

Page 44: Prirodom inspirirano optimizacijski algoritmi

44

Genetski algoritam

• Izbor roditelja – više tehnika– Proporcionalna selekcija

(engl. Roulette-wheel selection)– Što je jedinka bolja, to ima veću šansu biti

izabrana

∑=

= n

jjfit

ifitiprobSel

1)(

)()(

Page 45: Prirodom inspirirano optimizacijski algoritmi

45

Genetski algoritam

• Izbor roditelja – proporcionalna selekcija

∑=

= n

jjfit

ifitilen

1)(

)()(

Page 46: Prirodom inspirirano optimizacijski algoritmi

46

Genetski algoritamP = stvori_početnu_populaciju(VEL_POP)evaluiraj(P)ponavljaj_dok_nije_kraj

nova_populacija P' = ∅ponavljaj_dok_je veličina(P')<VEL_POPodaberi R1 i R2 iz P{D1, D2} = krizaj(R1, R2)mutiraj D1, mutiraj D2dodaj D1 i D2 u P'

krajP = P'evaluiraj(P)

Kraj

Page 47: Prirodom inspirirano optimizacijski algoritmi

47

Genetski algoritam

Page 48: Prirodom inspirirano optimizacijski algoritmi

48

Algoritam kolonije mrava

•Izranjajuća inteligencija•Optimizacijski problemi•Genetski algoritam•Algoritam kolonije mrava

Page 49: Prirodom inspirirano optimizacijski algoritmi

49

Algoritam kolonije mrava

• Mravi iskazuju zanimljivo ponašanje– Uspješno pronalaze

najkraći put do izvora hrane

Page 50: Prirodom inspirirano optimizacijski algoritmi

50

Algoritam kolonije mrava

• Eksperimenti

Page 51: Prirodom inspirirano optimizacijski algoritmi

51

Algoritam kolonije mrava

• Objašnjenje– Mravi prilikom kretanja za sobom

ostavljaju feromonski trag– Mrav se kreće slučajno, ali s većom

vjerojatnošću u smjeru u kojem osjeti jači feromonski trag

Page 52: Prirodom inspirirano optimizacijski algoritmi

52

Algoritam kolonije mrava

• Direktna primjena na probleme prikazive grafovima

• Npr. Iz 1 može u 2, 3 i 4

1

2

83

4 7

11

9

6

5

10

Mravinjak

Izvor hrane⎪⎪⎩

⎪⎪⎨

∈= ∑

∈ki

ki

Nlil

ij

kij

Nj

Njp

ki

ako,0

ako,α

α

ττ

konst=0τ

Page 53: Prirodom inspirirano optimizacijski algoritmi

53

Algoritam kolonije mrava

• Algoritam Ant System– Uporaba heurističke informacije dodatno

poboljšava ponašanje

nnCm

=0τ

( )⎪⎪⎩

⎪⎪⎨

∈⋅

= ∑∈

ki

ki

Nlilil

ijij

kij

Nj

Njp

ki

ako,0

ako,βα

βα

ητητ

1

2

83

4 7

11

9

6

5

10

Mravinjak

Izvor hrane

Page 54: Prirodom inspirirano optimizacijski algoritmi

54

Algoritam kolonije mrava

• Algoritam Ant Systemponavljaj dok nije kraj

ponovi za svakog mravcastvori rješenjevrednuj rješenje

kraj ponoviispari feromonske tragoveponovi za sve_ili_neke mraveazuriraj feromonske tragove

kraj ponovikraj ponavljanja

Page 55: Prirodom inspirirano optimizacijski algoritmi

55

Algoritam kolonije mrava

• Procedura: Stvori rješenje– Mrav kreće iz nekog čvora– Temeljem vjerojatnosti bira sljedeći čvor,

pa sljedeći, sve dok ne dođe do zadnjeg čvora

12

3,4

3,4

=

=

ητ 9.1

1.1

6,4

6,4

=

=

ητ

32.1

7,4

7,4

=

=

ητ

Uz α=1, β=2:

p(4 3)=11,9%

p(4 6)=23,7%

p(4 7)=64,4%

Page 56: Prirodom inspirirano optimizacijski algoritmi

56

Algoritam kolonije mrava

• Procedura: Vrednuj rješenje– Funkcija računa ukupnu duljinu puta– Prelazak iz jednog čvora u drugi tipično je

povezan određenom cijenom (gradovi udaljenost)

Page 57: Prirodom inspirirano optimizacijski algoritmi

57

Algoritam kolonije mrava

• Procedura: Ispari tragove– Funkcija feromonske tragove na svim

bridovima umanji za određeni iznos

– Geometrijska progresija!– Izuzetno skupo (graf ima puno bridova)

)1( ρττ −⋅← ijij

Page 58: Prirodom inspirirano optimizacijski algoritmi

58

Algoritam kolonije mrava

• Procedura: Ažuriraj tragove– Funkcija za odabranog mrava dodaje

nove feromonske tragove iznosa:

– Novo stanje je tada:

∑=

Δ+←m

k

kijijij

1τττ

⎩⎨⎧

=Δinačn,0

mrava tog- stazi na - brid je ako,/1 kjiCkkijτ

Page 59: Prirodom inspirirano optimizacijski algoritmi

59

Algoritam kolonije mrava

Page 60: Prirodom inspirirano optimizacijski algoritmi

60

Zaključak

• Prirodom inspirirani algoritmi – danas vruće područje istraživanja!

• Po prvi puta pronađen način kako se uhvatiti u koštac s prethodno nerješivim problemima

• Svakih nekoliko godina novi algoritam (primjerice Bee Colony Optimization, Intelligent Water Drops, …)

Page 61: Prirodom inspirirano optimizacijski algoritmi

61

Linkovi

• Video isječak o koloniji mravahttp://www.inquisitr.com/14238/holy-crap-billions-of-ants-in-one-colony/

Page 62: Prirodom inspirirano optimizacijski algoritmi

62

Linkovi

• Skriptahttp://java.zemris.fer.hr/nastava/ui/

• Implementacija svih algoritamahttp://java.zemris.fer.hr/nastava/ui/evoAlg.zip

Page 63: Prirodom inspirirano optimizacijski algoritmi

63