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.

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

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

date metode keširanja izbor strategije i primenjena linearna struktura podataka<br />

(jednodimenzioni niz) za njenu implementaciju.<br />

4.2.1 LRU primenjen na linearnoj strukturi<br />

I pored uočenih nedostataka u implementaciji, data ideja o keširanju GA se<br />

pokazala veoma perspektivnom. Nastavljeno je sa eksperimentima za<br />

nalaženje bolje strategije keširanja i strukture podataka prilagođene datoj<br />

strategiji. Od nekoliko strategija preuzetih iz literature, najpogodnijom se<br />

pokazala LRU. Eksperimentisano je i sa nekoliko raznih struktura podataka (RB<br />

stabla, heš-tabela), ali se one nisu mogle uspešno uklopiti u LRU strategiju. Pri<br />

tome je nivo prepoznavanja istih jedinki (duplikata) bio znatno smanjen, a time i<br />

performanse keširanja. Zbog toga je zadržana linearna struktura podataka.<br />

Struktura datog algoritma za keširanje, zasnovanog na LRU strategiji, se može<br />

videti na slici 4.1 . Pri tome dati programski segment zamenjuje funkciju za<br />

računanje vrednosti funkcije Vrednosna_Funkcija() u originalnoj šemi GA datoj<br />

na slici 1.1 .<br />

if ( Sadrži (keš_memorija, genetski_kod_jedinke) )<br />

Dodeli_Vrednost(jedinka, keš_blok)<br />

else<br />

{<br />

Vrednosna_Funkcija();<br />

if(Popunjena(keš_memorija)) Obriši(keš_memorija, Najstariji_Blok());<br />

Dodaj(keš_memorija, jedinka);<br />

}<br />

Postavi_za_Najnoviji(keš_blok);<br />

Slika 4.1 LRU strategija<br />

U <strong>rad</strong>u [Kra99b] je detaljno opisana data metoda za keširanje i prikazani su<br />

rezultati primene na prostom GA i na složenijem GA za rešavanje SPLP.<br />

Keširanje je poboljšalo vreme izvršavanja obe varijante GA na svim instancama<br />

datog problema. Međutim, rezultati keširanja (ubrzanje u odnosu na osnovni<br />

GA) složenijeg GA su bili prilično lošiji od rezultata keširanja prostog GA. To se<br />

može objasniti time da je primenom složenijih genetskih operatora dobijeno<br />

rešenje boljeg kvaliteta u dosta kraćem vremenu izvršavanja, pa je ostalo<br />

daleko manje potencijala za dalja poboljšavanja.<br />

Takođe su na SPLP instancama veće dimenzije, u obe varijante GA, dobijeni<br />

znatno lošiji rezultati keširanja u odnosu na instance manje dimenzije.<br />

Višestruki su uzroci ove pojave, a jedan od njih je relativno mala veličina keš<br />

memorije koja je primenjena, imajući u vidu način njenog pretraživanja. Detaljniji<br />

opis svih aspekata koji utiču na ove pojave se može videti u <strong>rad</strong>u [Kra99b].<br />

Keširanje je kao metoda već uspešno iskorišćeno za poboljšanje<br />

performansi GA implementacije za rešavanje NP-kompletnih problema, kao što<br />

se može videti u <strong>rad</strong>ovima [Kra98b], [Kra99a] i [Kra99c].<br />

4.2.2 LRU primenjen na dvostrukoj heš-tabeli<br />

Da bi se prevazišli gore pomenuti problemi (koji se javljaju u prethodnom<br />

algoritmu za keširanje GA) primenjena je posebna struktura podataka,

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

Saved successfully!

Ooh no, something went wrong!