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.

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

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

• pripada klasi NP;<br />

• svi ostali NP problemi se mogu algoritmom polinomske složenosti svesti na<br />

dati problem.<br />

Pomoću prethodne definicije, unapred prihvatajući za neki polazni problem<br />

da je NP-kompletan, relativno lako nalazimo ostale NP-kompletne probleme,<br />

korišćenjem metoda svođenja u polinomskom vremenu. Obično se u literaturi<br />

za polazni NP-kompletan problem uzima problem zadovoljivosti Boole-ovog<br />

izraza (satisfiability problem).<br />

Korišćenjem prethodnog načina, u poslednjih trideset godina je za veliki broj<br />

raznovrsnih problema, dokazano da pripadaju klasi NP-kompletnih problema.<br />

Za sve probleme kombinatorne optimizacije, koji su rešavani u ovom <strong>rad</strong>u, je<br />

dokazano da su NP-kompletni. Odgovarajući dokazi se mogu naći za: prost<br />

lokacijski problem u [Krr83], problem dizajna mreža neograničenog kapaciteta u<br />

[Hlm86], problem selekcije indeksa u [Com78].<br />

Teorija NP-kompletnih problema je praktično nastala <strong>rad</strong>ovima [Cook71] i<br />

[Krp72], a već tokom 70-tih godina je dokazano za više od 300 problema da<br />

pripadaju toj klasi. U [Gar79] je dat prvi pregled teorijskih rezultata kao i<br />

sveobuhvatan spisak do tada poznatih NP-kompletnih problema. Oni su<br />

podeljeni u 12 tematskih celina, a takva podela se održala sve do danas. Dati<br />

spisak, osim kratkog opisa svakog od problema, sadrži i značajne reference iz<br />

teorije NP-kompletnih problema. Kasnije je nastavljeno sa istraživanjima na tom<br />

polju, a trenutno aktuelni presek date oblasti sa više od 200 klasifikovanih<br />

problema se može naći u [Cre97]. Za detaljno upoznavanje teorije NPkompletnih<br />

problema i raznih praktičnih aspekata, mogu poslužiti još i [Brs88],<br />

[Crm90], [Man91] i [Jun98].<br />

Teorijsko proučavanje NP-kompletnih problema ima i veliki praktičan značaj,<br />

jer pokazuje da optimalno rešavanje takvih problema zahteva vreme<br />

izvršavanja koje raste eksponencijalno sa veličinom problema. To rezultuje<br />

dobrim rešavanjem "školskih" test-primera male dimenzije. Međutim, pri<br />

izvršavanju realnih instanci veće dimenzije, koji se pojavljuju u praksi, iako je<br />

algoritam matematički korektan, dobijanje rešenja je vremenski nedostižno, čak<br />

i na najmodernijim računarima visokih performansi.<br />

I pored gorepomenutih karakteristika optimalnog rešavanja NP-kompletnih<br />

problema, složenost algoritama se ocenjuje asimptotski i računa za<br />

najnepovoljniju varijantu njegovog izvršavanja. To ipak ostavlja određene<br />

mogućnosti za relativno uspešnu primenu metoda koje daju optimalno rešenje<br />

NP-kompletnih problema, u sledećim slučajevima:<br />

• Iako je u opštem slučaju NP-kompletan, mogu postojati određeni specijalni<br />

slučajevi kada je problem polinomske složenosti. Na primer, u opštem<br />

slučaju je problem bojenja grafa NP-kompletan, ali ako se posmatra bojenje<br />

samo sa 2 boje, on je polinomijalan.<br />

• Neki algoritmi, iako im je složenost u najgorem slučaju eksponencijalna, u<br />

proseku mogu imati polinomijalan broj operacija. Na primer, poznati<br />

simpleks metod za rešavanje problema linearnog programiranja, iako<br />

eksponencijalne složenosti, najčešće ima polinomijalan broj koraka.<br />

• U određenim slučajevima je moguće da konstanta kod eksponencijalnog<br />

člana bude ekstremno mala. Tada se rešenje može dobiti i za instance<br />

problema, čija je dimenzija relativno velika. To se može dobiti korišćenjem<br />

određenih tehnika koje smanjuju dimenziju problema, implicitnim

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

Saved successfully!

Ooh no, something went wrong!