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