ga primjer

Post on 17-Feb-2016

257 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

sssfday6y

TRANSCRIPT

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:

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

2 stanja

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

dijelova, veličine

2

1

0.0078

1...11

1...10

1...01

0...00

dg dg i dg 2i dg 2 2 i gg

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

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

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

0.7225

0.0875

0.45

58

00111010

0.3025

0.5075

0.65

83

01010011

0.1225

0.6875

1.25

160

10100000

0.0625

0.7475

1.90

244

11110100

0.8100

0.0000

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

max

0.81

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).

0.0431034

0.0875

0.2500000

0.5075

0.3386700

0.6875

0.3682270

0.0000000

0.7475

0.0000

0.0875

0.5075

0000

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

0.6875

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

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

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

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

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.

Komentare i eventualne ispravke molim na iivek@irb.hr.

11. listopad 2011.

top related