You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
90 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
m<br />
e < m m<br />
= = 1 m (5.4)<br />
e 0 c⋅<br />
m c<br />
odnosno<br />
m + n ⋅ m e < m + 1 c ⋅ n ⋅ m (5.5)<br />
pa je složenost u najnepovoljnijem slučaju jednaka Om ( + n⋅ m)<br />
.<br />
Ako je e ≤ e 0 imamo<br />
m + n ⋅ e ≤ m + n ⋅ e 0 = m + c ⋅ n ⋅ m (5.6)<br />
pa je složenost druge strategije u najnepovoljnijem slučaju<br />
jednaka Om ( + n⋅ m)<br />
, što je dobijeno i u prvom slučaju. ♦<br />
Iako postoje teoretske mogućnosti za primenu algoritama za računanje<br />
vrednosne funkcije složenosti O(m + n ⋅ log m) takve metode ne daju bolje<br />
rezultate u praksi. To možemo objasniti ako imamo u vidu da m u praksi ne<br />
prelazi nekoliko hiljada, pa je tada m ≈ log 2 m .<br />
5.3.3 Genetski operatori<br />
5.3.3.1 Selekcija<br />
Eksperimentisano je sa nekoliko različitih operatora selekcije, i najbolje<br />
rezultate pri rešavanju datog primera je pokazala selekcija zasnovana na rangu<br />
(rank-based selection). Razlike su posebno značajne pri poređenju sa prostom<br />
(rulet) selekcijom, što se generalno slaže sa ocenom datom u <strong>rad</strong>u [BeD93a].<br />
Za rešavanje datog problema je primenjeno linearno smanjenje rangova, sa<br />
korakom 0.012, od nivoa 2.5 za najbolju jedinku, do nivoa od 0.712 za najlošiju<br />
jedinku. Kao što je rečeno u drugom poglavlju, jedinka učestvuje na "ruletu"<br />
proporcionalno svom rangu, pri čemu se bira 50 novih jedinki u populaciji.<br />
5.3.3.2 Ukrštanje i mutacija<br />
Pri izvršavanju GA implementacije za rešavanje datog problema, uniformno<br />
ukrštanje je dalo nešto bolje rezultate u odnosu na ostale šeme ukrštanja, iako<br />
razlike u performansama, pri poređenju sa jednopozicionim, dvopozicionim i<br />
višepozicionim ukrštanjem nisu bile velike. Primenjen je nivo ukrštanja od p cross<br />
= 0.85, uz verovatnoću razmene proizvoljnog mesta (bita) p unif = 0.3, što znači<br />
da se približno 30% bitova razmenjuje između jedinki.<br />
Prosta mutacija je implementirana pomoću Gausove (normalne) raspodele,<br />
<strong>rad</strong>i bržeg izvršavanja. Nivo mutacije zavisi od veličine problema, i dat je<br />
formulom (5.7).<br />
p mut =<br />
⎧ 0.01, m ≤ 50<br />
⎪<br />
⎨ 1<br />
, m > 100<br />
⎪⎩ 2m<br />
(5.7)<br />
Za razliku od ukrštanja, gde se variranjem parametara performanse menjaju<br />
relativno malo, pri variranju vrednosti nivoa mutacije, se dobijaju drastično<br />
drugačiji rezultati, naročito za SPLP instance veće dimenzije. Ovako izabran