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.

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

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

f(x) = x (2.1)<br />

Funkcija prilagođenosti data u (2.1) se može primeniti samo u slučaju<br />

problema maksimizacije, što je još jedan njen nedostatak. Ovaj nedostatak je<br />

moguće relativno lako ispraviti ako za minimizacione probleme primenimo<br />

sledeću funkciju datu u (2.2).<br />

f(x) = M - x (2.2)<br />

Potrebno je da vrednost M bude dovoljno velika da bi funkcija prilagođenosti f<br />

bila nenegativna. Ovo je neophodno da bi se mogao primeniti operator<br />

selekcije. Svi operatori selekcije zahtevaju da sve jedinke imaju nenegativnu<br />

prilagođenost. Ni ovo nije najpogodnije za primenu jer vrednost M nije uvek<br />

lako unapred odrediti.<br />

Međutim, čak i da to ispravimo, ovakav pristup nije u skladu sa praktičnim<br />

aspektima GA. Pošto u praksi daje loše rezultate čak i na ''školskim' testprimerima<br />

relativno manje dimenzije, dati pristup se primenjuje samo u slučaju<br />

prostog genetskog algoritma, i to samo za rešavanje relativno prostijih<br />

problema.<br />

2.3.2.2 Linearno skaliranje<br />

U ovom slučaju se primenjuje funkcija prilagođenosti oblika:<br />

f(x) = c A ⋅ x + c B (2.3)<br />

Koeficijenti c A i c B su konstantni i unose se iz konfiguracione datoteke. Iako je<br />

nešto bolji od prethodnog pristupa, ovakav način računanja prilagođenosti ima<br />

slične nedostatke. Zbog toga se situacija može prilično popraviti ako koeficijenti<br />

A i B nisu konstantni, već se menjaju tokom generacija.<br />

Jedan od takvih pristupa određuje koeficijente A i B tako da je sredina<br />

intervala u koji skaliramo približno jednaka srednjoj vrednosti jedinki u<br />

populaciji. Funkcija koristi parametar C čija se vrednost bira eksperimentalno, a<br />

obično je u intervalu [1, 3]. U slučaju da je interval u koji skaliramo već<br />

nenegativan, odgovarajuća formula je (2.4), a u suprotnom se koristi formula<br />

(2.5).<br />

δ = max - x<br />

A = (C - 1) * x / δ<br />

B = x * (max - C * x ) / δ (2.4)<br />

δ = x - min<br />

A = x / δ<br />

B = - min * x / δ (2.5)<br />

Vrednosti min, max i x su redom minimalna, maksimalna i srednja vrednost<br />

jedinki u populaciji. Primetimo da je ovo skaliranje takvo da rezultujuća funkcija<br />

prilagođenosti vraća isključivo nenegativne vrednosti.

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

Saved successfully!

Ooh no, something went wrong!