ga primjer

33
Genetski algoritmi primjer: Bit će razrađen problem sa vježbi: Minimizirati 1 , 0,2 Preciznost:2decimale Trenutačna populacija: 0.15,0.45,0.65,1.25,1.9 Ograničenjem na preciznost, originalni kontinuirani optimizacijski problem je diskretiziran. Bit će pokazano kako reprezentirati stanja u, najčešće korištenom, binarnom alfabetu, kako izračunati fitness vrijednosti te kako teče jedna iteracija za 3 različita tipa GA. Reprezentacija stanja Minimalni broj stanja za željenu preciznost: gg dg 10 1=201

Upload: filip-dujakovic

Post on 17-Feb-2016

257 views

Category:

Documents


0 download

DESCRIPTION

sssfday6y

TRANSCRIPT

Page 1: GA Primjer

Genetski algoritmi primjer:

Bit će razrađen problem sa vježbi:

Minimizirati

1 ,

0,2

Preciznost:2decimale

Trenutačna populacija: 0.15,0.45,0.65,1.25,1.9

Ograničenjem na preciznost, originalni kontinuirani optimizacijski problem je diskretiziran. Bit će pokazano kako reprezentirati stanja u, najčešće korištenom, binarnom alfabetu, kako izračunati fitness vrijednosti te kako teče jedna iteracija za 3 različita tipa GA.

Reprezentacija stanja

Minimalni broj stanja za željenu preciznost:

gg dg 10 1=201

Potreban broj bitova za reprezentaciju stanja:

Page 2: GA Primjer

log gg dg 10

1

log 2 0 10

1

7.65

Odabir je n=8, minimalni broj bitovalog2

koji zadovoljava gornju nejednakost.log2

Tada raspolažemo sa

Page 3: GA Primjer

2 stanja

kojima interval [0,2] želimo podijeliti uniformno na

dijelova, veličine

2

1

0.0078

Page 4: GA Primjer

1...11

1...10

1...01

0...00

Page 5: GA Primjer

dg dg i dg 2i dg 2 2 i gg

Sl. 1.: preslikavanje intervala [dg, gg] na prostor stanja.

Page 6: GA Primjer
Page 7: GA Primjer
Page 8: GA Primjer
Page 9: GA Primjer
Page 10: GA Primjer
Page 11: GA Primjer

Fitness

Važno je prisjetiti se da je fitness preslikavanje na

te da bolja (mora biti definirana

“lošije”, za svaki par stanja) rješenja moraju imati

usporedivost stanja po parovima u smislu “bolje” I0,

pridružen veći fitness. Budući da se ovdje radi o minimizacijskom problemu, smisleno je jedinki koja

rezultira manjom vrijednošću funkcije pridružiti veći fitness. Odabir

prirodan je i jednostavan

Page 12: GA Primjer

te zadovoljava taj uvjet, gdje je K odabran tako da osigurava nenegativnost

preslikavanja.

K

U posljednja dva stupca Tab. 1 prikazan je postupak računanja fitness funkcije za zadanu populaciju.

Reprezentacija jedinki

Fitness

max

0.15

19

ound

0.0078

00010011

Page 13: GA Primjer

0.7225

0.0875

0.45

58

00111010

0.3025

0.5075

0.65

83

01010011

0.1225

0.6875

Page 14: GA Primjer

1.25

160

10100000

0.0625

0.7475

1.90

244

11110100

0.8100

0.0000

Page 15: GA Primjer

Tab. 1.: prikaz reprezentacijejedinki i izračuna fitness funkcije

max

0.81

Page 16: GA Primjer

Roulette Wheel Selection varijanta

Vjerojatnost izvlačenja pojedine jedinke dobiva se normalizacijom (množenjem sa konstantom) fitnessa te jedinke tako da suma normaliziranih fitnessa svih jedinki bude jednaka 1, kako je prikazano u Tab. 2.

Bazen nad kojim će djelovati genetski operatori formira se izvlačenjem sa vraćanjem jedinke iz prethodne populacije prema izračunatim vjerojatnostima VEL_POP puta, gdje je sa VEL_POP označena veličina populacije.

Nakon selekcije, nad bazenom slijedi primjena genetskih operatora, čime iteracija završava. (Napomena: svaka iteracija kreće sa praznim bazenom).

Page 17: GA Primjer
Page 18: GA Primjer

0.0431034

0.0875

0.2500000

Page 19: GA Primjer

0.5075

Page 20: GA Primjer

0.3386700

0.6875

0.3682270

Page 21: GA Primjer

0.0000000

0.7475

Page 22: GA Primjer

0.0000

Page 23: GA Primjer

0.0875

0.5075

0000

Page 24: GA Primjer

Tab. 2.:vjerojatnosti odabira po jedinkama za Roulette Wheel Selection

0.6875

Page 25: GA Primjer

0.7475 0.

Može se primjetiti da je posljedica odabira konkretne fitness funkcije iz Tab. 1 nulta vjerojatnost

izvlačenja jedinke

; za neku alternativnu fitness funkciju

, to

Page 26: GA Primjer

nije slučaj. Uz to,

sa povećanjem

raspodjela vjerojatnosti izvlačenja postaje bliža uniformnoj, što će se

11110100

max

,

0

odraziti na ponašanje i rezultat GA.

Varijanta sa kturnirskom eliminacijskom selekcijom

Page 27: GA Primjer

U svakoj iteraciji genetskog algoritma ovog tipa, iz populacije se slučajno uniformno izvuče k jedinki. Zatim se najlošija od njih eliminira i zamijeni novom, dobivenom nekom varijantom uporabe genetskih operatora nad preostalim izvučenim jedinkama.

Kvalitativno, selekcijski pritisak raste sa povećanjem k.

Neka je k=3 i neka je u našem primjeru nasumično izvlačenje turnira palo na jedinke koje odgovaraju vrijednostima 0.15,0.45,0.65 , 00010011,00111010,01010011 . Budući da jedinka 00010011 ima najmanji fitness, algoritam će je zamijeniti novom jedinkom dobivenom djelovanjem genetskih operatora nad preostale dvije.

Neka je genetski operator križanje sa jednom točkom prekida 4 5. Tada će jedinku ‐ 00010011 algoritam zamijeniti jednim od križanjem dobivene djece, iz Tab. 3.

Roditelj 1:

0011|1010

Roditelj 2:

Dijete 1:0011|0011

0101|0011

Dijete 2:

0101|1010

Page 28: GA Primjer

Tab. 3.: križanje uz primjer k turnirske eliminacijske selekcije‐

Page 29: GA Primjer

Varijanta sa kturnirskom generacijskom selekcijom

Jedna iteracija GA ovog tipa sastoji se od turnirskog formiranja bazena jedinki i, nakon što bazen bude formiran, primjene genetskih operatora nad bazenom.Za formiranje bazena koristi se višekratno ponavljanje turnira. Jedan turnir je slučajno uniformno izvlačenje k jedinki iz populacije, od kojih se izabire najbolja, koja se prenosi u bazen. (Napomena: svaka iteracija kreće sa praznim bazenom).

Kvalitativno, uspoređujući varijante turnirske generacijske selekcije u kojima se koristi izvlačenje bez vraćanja i izvlačenje sa vraćanjem, selekcijski pritisak je veći kod izvlačenja sa vraćanjem.

Neka je k=3 i neka je u našem primjeru nasumični odabir turnira pao na jedinke koje odgovaraju vrijednostima 0.15,0.45,0.65 , 00010011,00111010,01010011 . U bazen ulazi po fitnessu najbolja od tih jedinki, 01010011. Daljnje jedinke ulaze na isti način.

Neka je genetski operator samo jednostavna mutacija, koja neovisno svaki alel invertira uz određenu (malu) vjerojatnost. Nad tom odabranom jedinkom , moguć rezultat (i jedan od vjerojatnijih) prikazan je u Tab. 4.

Polazna jedinka

Jedinka nakon mutacije01110011

01010011

Tab.4.: mutacija na trećem alelu jedinke 01010011.

Page 30: GA Primjer
Page 31: GA Primjer

Komentare i eventualne ispravke molim na [email protected].

11. listopad 2011.