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.

Sekvencijalna GA implementacija 43<br />

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

• Generisanje izveštaja o datom problemu;<br />

• Inicijalizacija generisanja završnog izveštaja za GA;<br />

• Generisanje završnog izveštaja za GA;<br />

• Generisanje završnog izveštaja o datom problemu.<br />

2.2.3.2 Keširanje GA<br />

Keširanje GA je originalni doprinos autora ovog <strong>rad</strong>a i ima veliki značaj u<br />

poboljšavanju performansi GA pri rešavanju NP-kompletnih problema. Zbog<br />

toga je ova podstruktura odvojena za parametre keširanja, i sastoji se od<br />

sledećih podataka:<br />

• Pokazivači na funkcije za: inicijalizaciju keširanja, pretraživanje keš<br />

memorije za zadatom jedinkom, ažuriranje bloka keš memorije koji sadrži<br />

pronađenu jedinku i dodavanje nove jedinke;<br />

• Maksimalan i tekući broj zauzetih blokova keš memorije;<br />

• CRC vrednost tekuće jedinke (CRC - Cyclic Redundancy Code);<br />

• Pokazivač na keš memoriju;<br />

• Koeficijenti pri generisanju CRC vrednosti;<br />

• Tekuće vrednosti heš-funkcije u obe heš-tabele ako se primenjuje keširanje<br />

pomoću dvostruke heš-tabele;<br />

• Minimalna, maksimalna i tekuća vrednost funkcije za oslobađanje blokova<br />

ukoliko je keš memorija puna, u slučaju keširanja pomoću dvostruke heštabele.<br />

Svaki blok keš memorije služi za memorisanje jedne jedinke i (kasnije)<br />

eventualno direktno očitavanje njene vrednosti, umesto ponovnog<br />

izračunavanja vrednosne funkcije nad datom jedinkom. U slučaju linearne<br />

organizacije keš memorija je organizovana kao niz pokazivača na blokove keš<br />

memorije, dok u slučaju dvostruke heš-tabele postoje dva niza pokazivača,<br />

svaki za po jednu heš-tabelu. Maksimalni broj blokova keš memorije je unapred<br />

zadat, a svaki od njih ima sledeću organizaciju:<br />

• Dužina genetskog koda memorisane jedinke;<br />

• Genetski kod memorisane jedinke;<br />

• Indikator da li je već izračunata vrednost jedinke:<br />

• Vrednost jedinke;<br />

• Indikator, da li je jedinka korektna;<br />

• Izračunata CRC vrednost jedinke;<br />

• Vrednosti heš-funkcije jedinke u heš-tabeli;<br />

• Pokazivači na sledeće i prethodne blokove keš memorije u dvostruko<br />

povezanim listama koje se formiraju za red i svaku poziciju heš-tabele.<br />

Indikator da li je već (ranije) izračunata vrednost jedinke datog bloka keš<br />

memorije koristi se samo u paralelnoj GA implementaciji. U sekvencijalnom<br />

modelu izračunavanja za njegovim korišćenjem nema potrebe, pošto je<br />

vrednost svake jedinke već izračunata u momentu pretraživanja druge jedinke u<br />

keš memoriji. Detaljnije o ovom indikatoru se može videti u narednom poglavlju<br />

gde je opisana PGANP implementacija.<br />

Poslednje četiri stavke se koriste samo u slučaju kada je za keširanje GA<br />

primenjena heš-red struktura i detalji o tome se mogu videti u poglavlju 4.

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

Saved successfully!

Ooh no, something went wrong!