08.03.2015 Views

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

56 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

2.4.3.2 Mutacija pomoću binomne raspodele<br />

Neka slučajna promenljiva X gene uzima vrednost 1 ako je dati gen mutiran, a<br />

u suprotnom uzima vrednost 0. Tada odgovarajuća slučajna promenljiva X ind<br />

odgovara celom genetskom kodu jedinke i označava broj mutiranih gena u njoj.<br />

Pošto je X gene prosta slučajna promenljiva, tada slučajna promenljiva X ind ima<br />

binomnu raspodelu B(N bits , p mut ).<br />

Koristeći datu osobinu operator mutacije možemo implementirati relativno<br />

efikasno. Na slučajan način izaberemo broj s ∈ [0,1], a zatim nađemo broj N mut<br />

takav da važi formula (2.11).<br />

F(N mut ) ≤ s < F(N mut + 1) (2.11)<br />

n<br />

⎛ n<br />

k n k<br />

F(n) = ⎜ ⎞ p q<br />

⎝ k⎠ ⎟ ⋅ ⋅ −<br />

∑<br />

k = 1<br />

F(n) je kumulativna funkcija raspodele za datu binomnu raspodelu, a dobijena<br />

vrednost N mut predstavlja broj gena koje treba mutirati u datom genetskom kodu<br />

jedinke. Zatim se na slučajan način biraju pozicije gena za mutiranje i nad tim<br />

genima vrše mutacije.<br />

Za realizaciju mutacije na ovakav način, potrebno je N mut koraka za<br />

računanje prve aproksimacije za F -1 (s), i još N mut koraka za mutiranje<br />

odgovarajućih gena. Dakle potrebno je O(N mut ) koraka, za razliku od O(N bits )<br />

koraka kod prethodnog načina. Ovakav pristup je i u praksi dosta brži od<br />

prethodnog, u slučajevima kada je N bits dovoljno veliko (N bits ≥20) a p mut<br />

dovoljno malo (p mut ≤ 0.05), što se dešava u velikom broju slučajeva primene<br />

GA.<br />

Pokazalo se da data realizacija operatora mutacije nije pogodna ako je broj<br />

gena u genetskom kodu jedinke veliki (N bits > 1000), pa se tada preporučuje<br />

primena nekog drugog pristupa. Data anomalija se javlja kao posledica<br />

računske greške kod izračunavanja sabiraka kumulativne funkcije raspodele, pa<br />

broj N mut nije tačno izračunat.<br />

2.4.3.3 Mutacija korišćenjem normalne raspodele<br />

U slučaju kada N bits --> ∞ slučajna promenljiva X ind teži normalnoj raspodeli<br />

N(N bits * p mut ; N bits * p mut * (1-p mut ) ). Zbog toga, kada je N bits dovoljno veliko a<br />

p mut dovoljno malo, slučajnu promenljivu X ind možemo aproksimirati datom<br />

normalnom raspodelom.<br />

Kao i kod prethodnog načina izračunavanja, prvo se računa broj gena koje<br />

treba mutirati N mut , a zatim se biraju na slučajan način pozicije i dati geni se<br />

mutiraju. Za izračunavanje broja N mut se koristi aproksimacija funkcije Φ -1 (x),<br />

gde funkcija Φ(x) definiše normalnu raspodelu N(0, 1). Pri tome se u datoteci<br />

tablično memorišu vrednosti funkcije Φ -1 (x), koje se učitavaju u fazi<br />

inicijalizacije programa, a na osnovu njih se broj N mut direktno nalazi.<br />

Aproksimacija slučajne promenljive X ind normalnom raspodelom se pokazala<br />

uspešnom u praksi ukoliko je N bits * p mut ≥ 5, inače se ne preporučuje, jer<br />

rezultati aproksimacije suviše odstupaju od originalnih vrednosti.<br />

Pošto izračunavanje broja N mut na ovaj način zahteva konstantno O(1) vreme<br />

izvršavanja, i pošto ne postoji gornje ograničenje za broj bitova N bits (kao kod<br />

prethodnog načina), realizovana je i varijanta ovog operatora mutacije koji

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!