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.

Keširanje GA 81<br />

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

Detaljan opis datih parametara, kao i ostalih karakteristika CRC kodiranja, je<br />

dat u [Tnb81], [Nel91] i [Wlm93]. Opis još nekih efikasnih CRC implementacija<br />

se može videti u [Grf87] i [Sar88].<br />

4.3.4 Korišćenje heš-tabele<br />

Implementacija funkcije Sadrži() nameće ideju da se u jednoj heš-tabeli<br />

memorišu pokazivači na jedinke, po heš-funkciji koja zavisi od genetskog koda<br />

svake jedinke. Kao što je rečeno heš-funkcija se primenjuje na 32-bitni CRC<br />

genetskog koda jedinke, čime je smeštanje blokova u heš-tabelu ravnomernije.<br />

Pri tome je, takođe, ubrzana procedura poređenja dve jedinke, što dodatno<br />

poboljšava performanse cele implementacije.<br />

Funkcija Dodaj() je slična funkciji Sadrži(), jer se na osnovu genetskog koda<br />

jedinke računa CRC, a nakon toga heš-funkcija računa poziciju gde treba datu<br />

ubaciti jedinku.<br />

4.3.5 Korišćenje reda<br />

Jedina problematična funkcija za implementaciju je Obriši(), koja mora da<br />

oslobodi memorijski prostor ukoliko se smešta nova jedinka, a keš memorija je<br />

potpuno popunjena. Da bi se ova funkcija efikasno implementirala, javlja se<br />

potreba za drugom strukturom podataka. U početku je korišćena druga heštabela,<br />

koja numerički vrednuje vreme poslednjeg pojavljivanja date jedinke.<br />

Kasnije je druga heš-tabela zamenjena red strukturom, čime je cela<br />

implementacija pojednostavljena.<br />

ažuriranje<br />

blokova<br />

ubacivanje<br />

blokova<br />

poslednji<br />

korišćeni<br />

blok<br />

. . . . .<br />

. . . . .<br />

najstariji<br />

nekorišćeni<br />

blok<br />

izbacivanje<br />

blokova<br />

Slika 4.5 Korišćenje red strukture pri keširanju<br />

4.4 Eksperimentalni rezultati<br />

Metoda za keširanje GA pomoću heš-red strukture, koja je detaljno opisana<br />

u prethodnom odeljku, je primenjena u praksi za rešavanje prostog lokacijskog<br />

problema (SPLP), dizajniranja mreže neograničenog kapaciteta (UNDP) i<br />

problema izbora indeksa (ISP). U ovom odeljku su dati uporedni rezultati<br />

primene GANP implementacije sa keširanjem u odnosu na slučaj kada je<br />

keširanje isključeno. Pošto su svi ostali parametri vezani za izvršavanje GA isti<br />

u oba slučaja, nećemo ih ovde posebno opisivati, jer su detaljno opisani u<br />

naredna tri poglavlja.<br />

Pri testiranju su primenjene dve varijante keširanja GA, i upoređene sa<br />

slučajem kada nije korišćeno keširanje. U prvoj varijanti (CRCHashQueue) je pri<br />

poređenju jedinki pomoću CRC vrednosti, u slučaju pozitivnog odgovora kasnije

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

Saved successfully!

Ooh no, something went wrong!