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.

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

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

dobijenih dobrih jedinki "nesretnom" primenom nekog genetskog operatora<br />

(selekcije, ukrštanja ili mutacije). Rezultat toga su obično slabije performanse<br />

GA u nekoliko početnih generacija, ali su konačni rezultati stacionarnog GA uz<br />

elitne strategije u najvećem broju primena bolji u odnosu na rezultate<br />

generacijskog GA. Detaljnije oko ovog aspekta GA se može naći u <strong>rad</strong>ovima<br />

[Sys91] i [SmR93].<br />

1.2.3.5 Funkcija prilagođenosti<br />

Način računanja funkcije prilagođenosti takođe može da utiče, u velikoj meri,<br />

na performanse GA. Osim običnog (linearnog) skaliranja, direktnog ili inverznog<br />

skaliranja u neki interval (najčešće u interval [0,1]), razvijena je i posebna<br />

tehnika sigma odsecanja (sigma truncation scheme). One su detaljno opisane u<br />

odeljku 2.3.1, a takođe i u <strong>rad</strong>ovima [Sri94] i [BeD93a]. Primenjuju se još i<br />

tehnike rangiranja prilagođenosti jedinki u populaciji (fitness ranking) i implicitna<br />

funkcija prilagođenosti (implicit fitness remapping).<br />

Jedan od pokušaja da se obezbedi bolja funkcija prilagođenosti je korišćenje<br />

tzv. Gray kodova, čija je osobina da se susedni genetski kodovi razlikuju samo<br />

u jednom bitu. Time se u nekim pogodnim slučajevima mogu poboljšati<br />

performanse genetskih algoritama.<br />

1.2.3.6 Ukrštanje i mutacija<br />

Izbor operatora ukrštanja takođe utiče na performanse GA, ali u nešto<br />

manjoj meri od prethodnih tehnika. Generalno, izbor operatora ukrštanja zavisi i<br />

od međuzavisnosti gena u genetskom kodu. U problemima sa velikom<br />

međuzavisnošću bitova, najpogodnije je jednopoziciono ukrštanje, jer se<br />

pomoću njega najmanje razbija celina jedinke. Za probleme sa manjom<br />

međuzavisnošću bitova je najpogodnije dvopoziciono ili višepoziciono ukrštanje.<br />

U problemima gde su bitovi potpuno nezavisni, ili je zavisnost vrlo mala,<br />

najpogodnije je uniformno ukrštanje, iako teorijski za njega ne važi hipoteza o<br />

g<strong>rad</strong>ivnim blokovima. Detaljnije o raznim vrstama ukrštanja se može videti u 2.<br />

poglavlju kao i u <strong>rad</strong>ovima [BeD93b] i [Sri94].<br />

Generalno se u slučaju mutacije, za razliku od ukrštanja, uglavnom koristi<br />

samo prosta mutacija. Ona može biti realizovana na neki brži način (na primer<br />

korišćenjem normalne raspodele). Izuzetak su jedino operatori mutacije zavisni<br />

od prirode problema.<br />

Postoji priličan broj genetskih operatora (ukrštanja i mutacije) zavisnih od<br />

prirode problema. To se dešava najčešće u slučajevima kada se jedinke<br />

kodirane na poseban način, pa postoji određena struktura koja mora biti<br />

očuvana primenom genetskih operatora. Drugi način korišćenja specifičnih<br />

genetskih operatora, je pri rešavanju problema sa mnogo uslova (constrained<br />

problems), gde postoje nekorektni genetski kodovi. Ukrštanje i mutacija se<br />

konstruišu tako da čuvaju korektnost genetskih kodova jedinki na koje se<br />

primenjuju. Pri tome se teži očuvanju osobina kanonskog GA i za operatore<br />

zavisne od prirode problema.<br />

Jedan od prvih primera ovakvih operatora je dao Goldberg, razvijajući PMX<br />

(partially matched crossover) za korišćenje u problemima koji zavise isključivo<br />

od poretka, a ne i od vrednosti (order-based problems). Operator je konkretno<br />

primenjen na problemu trgovačkog putnika, i može se videti u [Gol85]. Posle<br />

toga se pojavilo više takvih genetskih operatora koji se mogu primeniti samo na

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

Saved successfully!

Ooh no, something went wrong!