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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

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

Genetski algoritam je generalno najpogodniji za probleme koji se mogu<br />

binarno kodirati na prirodan način. Mogući su i slučajevi korišćenja alfabeta<br />

veće kardinalnosti od binarne. Goldberg u [Gol89] dokazuje da teorijski binarna<br />

reprezentacija daje veći broj shema, čija je posledica veći stepen implicitnog<br />

paralelizma. Međutim, Antonisse u <strong>rad</strong>u [Ant89], drugačije interpretira pojam<br />

sheme i potpuno suprotno zaključuje da GA nad alfabetima veće kardinalnosti<br />

sadrže više shema od binarnih.<br />

U primerima GA nad alfabetima veće kardinalnosti, simboli (geni) su<br />

najčešće predstavljeni celim ili realnim brojevima. U [Dav91] se zaključuje da su<br />

vrednosti u programu često numeričkog tipa, i da njihova direktna<br />

reprezentacija kao brojeva, umesto kao niza bitova, poseduje niz prednosti. Na<br />

primer, mnogo je lakše i prirodnije definisanje operatora ukrštanja i mutacije<br />

zavisnih od prirode problema. O nebinarnim reprezentacijama detaljnije se<br />

može videti u [Ant89], [BeD93b] i [Gol89], a jedna uporedna analiza performansi<br />

binarnih i reprezentacija pomoću realnih brojeva je data u [Jan91].<br />

1.2.3.2 Postupak u slučaju nekoreknih jedinki<br />

U praktičnim primenama je najpogodnije ako se pri kodiranju bijektivno<br />

preslikavaju parametri problema u genetske kodove. Međutim, za neke<br />

probleme je nemoguće naći takvo kodiranje, ili ono daje rezultate koji nisu<br />

zadovoljavajući. U tom slučaju smo prinuđeni na kodiranje koje nije bijekcija, ili<br />

čak nije preslikavanje. Mogući su sledeći slučajevi:<br />

• Za određenu jedinku ne postoji genetski kod. U tom slučaju kodiranje<br />

moramo odbaciti, jer ne postoji nikakav način za prevazilaženje datog<br />

nedostatka;<br />

• Za neke jedinke postoji više genetskih kodova. Iako to sa teorijskog<br />

stanovišta nije pogodno, ne postoji nikakva praktična prepreka za primenu<br />

datog kodiranja;<br />

• Određeni genetski kod predstavlja više jedinki. Kodiranje moramo odbaciti,<br />

kao i u prvom slučaju;<br />

• Određeni genetski kod ne odgovara nijednoj jedinki. Takav genetski kod<br />

nazivamo nekorektnim. Najčešće dati genetski kod ima interpretaciju u<br />

prostoru gde se problem rešava, ali ne pripada prostoru rešenja. Odnosno,<br />

nije ispunjen neki od uslova, koji definišu rešenje problema.<br />

Pošto su prvi i treći slučaj teorijski neprihvatljivi, a drugi možemo ignorisati,<br />

zanimljiv za rešavanje je jedino poslednji slučaj. Postoji nekoliko načina za<br />

rešavanje problema sa nekorektnim genetskim kodovima.<br />

Nekorektne genetske kodove možemo da ignorišemo, i dodelimo im nulu za<br />

vrednost funkcije prilagođenosti. U sledećoj generaciji će oni biti automatski<br />

izbačeni iz populacije. Na taj način u daljem postupku ostaju samo korektni<br />

genetski kodovi, a nekorektni ostaju najduže u tekućoj generaciji, a zatim<br />

nestaju. Iako teorijski dobar, dati postupak se u praksi može primeniti samo na<br />

slučajeve, gde u prostoru pretrage nekorektnih jedinki (kodova) ima najviše 50-<br />

70%. U praksi takvih problema ima zanemarljivo malo, jer su obično uslovi koji<br />

definišu rešenje problema jako restriktivni. Pri tome je korektnih jedinki u<br />

prostoru pretrage najčešće nekoliko redova veličine manje od nekorektnih. U<br />

tom slučaju, genetski algoritam uopšte ne može da se izvršava, jer na početku<br />

ili u toku izvršavanja, u datoj generaciji, populacija sadrži samo nekorektne<br />

jedinke.

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

Saved successfully!

Ooh no, something went wrong!