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.

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

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

instancama problema veće dimenzije, ova datoteka sadrži samo informacije o<br />

rešenju dobijenom u tekućem izvršavanju.<br />

NBit = fp<br />

U ovoj implementaciji je osim pojedinačne primene nekog od operatora<br />

ukrštanja dozvoljeno i kombinovanje više različitih operatora ukrštanja, i<br />

primena na jedinke u populaciji. Pri tome je svaki od pojedinačnih operatora<br />

zadužen za ukrštanje jednog dela jedinke. Granične pozicije bitova svakog dela<br />

u okviru jedinke, izračunavaju se pomoću posebne funkcije. Posle toga se svaki<br />

pojedinačni operator ukrštanja primenjuje direktno na odgovarajući deo jedinke,<br />

umesto na celu jedinku što je bio slučaj pri samostalnoj primeni.<br />

U ovom redu konfiguracione datoteke se vrši izbor odgovarajuće funkcije<br />

koja generiše date granične pozicije bitova u slučaju kombinovanog ukrštanja.<br />

Ukoliko se primenjuje pojedinačni operator ukrštanja, ova funkcija nema<br />

nikakvih efekata na izvršavanje GA.<br />

Napomenimo da kombinovano ukrštanje nije dalo rezultate koji su očekivani,<br />

u rešavanju problema opisanih u ovom <strong>rad</strong>u. Međutim ova mogućnost je<br />

ostavljena ukoliko se pokaže kao pogodna u nekim budućim primenama.<br />

ImprovingHeuristic = fp<br />

Služi pri zadavanju heuristike za poboljšavanje rešenja (jedinki) u svakoj<br />

generaciji, ukoliko se koristi takav pristup.<br />

[CachingGA]<br />

Parametri vezani za keširanje GA se postavljaju u ovoj sekciji. Oni mogu<br />

značajno da utiču na uspešnost ove metode (procenat jedinki čija se vrednost<br />

preuzima direktno iz keš memorije umesto izračunavanja), a tako i na<br />

performanse cele GA implementacije.<br />

Length = n<br />

Kao što je već rečeno za keširanje GA se koristi sistemska memorija<br />

računara. Na ovaj način (postavljanjem ovog parametra) se zadaje maksimalna<br />

veličina sistemske memorije koja može biti utrošena za keširanje GA.<br />

Napomenimo, da time nije fiksno određena veličina keš memorije u KB, već ona<br />

zavisi od veličine svake od jedinki. Maksimalno je dopušten broj jedinki određen<br />

konstantom MAXBUF, koja u ovoj implementaciji iznosi 50 000.<br />

U slučaju linearne strukture podataka (FirstLinear) se preporučuje da<br />

veličina keš memorije bude u opsegu 20 - 200, a u nekom od pristupa<br />

korišćenjem heš-tabela 500 - 50 000. Ovo je posledica činjenice da je<br />

pretraživanje heš-tabele u prosečno konstantnom vremenu izvršavanja, pa<br />

povećanje veličine keš memorije praktično ne utiče na povećanje vremena<br />

pretrage keš memorije. Međutim, pri alokaciji i inicijalizaciji velike keš memorije<br />

se ipak troši značajno vremena, iako se te operacije izvršavaju samo jednom<br />

(na početku <strong>rad</strong>a GA).<br />

Povećanje veličine keš memorije utiče primetno, ali manje nego što je to<br />

očekivano, na povećavanje broja jedinki koje su pronađene u keš memoriji.

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

Saved successfully!

Ooh no, something went wrong!