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 61<br />

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

pristupilo se realizaciji generatora slučajnih brojeva. Realizovane su sledeće<br />

funkcije:<br />

• Dobijanje slučajnih neoznačenih celih brojeva iz 16-bitnog i 32-bitnog<br />

opsega;<br />

• Inicijalizacija generatora slučajnih brojeva nekom konstantom ili uz pomoć<br />

vremenske funkcije;<br />

• Generisanje slučajnog celog označenog broja iz zadatog intervala;<br />

• Simulacija prostog slučajnog događaja;<br />

• Zaokruživanje realnog broja dvostruke preciznosti celim brojem.<br />

Generisanje slučajnih brojeva iz 32-bitnog opsega je bilo potrebno zbog<br />

dobijanja početne populacije koje se najčešće vrši na slučajan način. Direktno<br />

se na slučajan način generiše svaka reč u genetskom kodu jedinki početne<br />

populacije. Ukoliko u budućnosti genetski kod bude podeljen na reči dužine<br />

veće od 32 bita, vrlo je lako promeniti odgovarajuću funkciju, tako da direktno<br />

inicijalizuje date reči na slučajan način u početnoj populaciji.<br />

Generator slučajnih brojeva je moguće inicijalizovati uz pomoć sistemske<br />

funkcije koja generiše tačno vreme. Takav način je pogodan upotrebi GA, kada<br />

je bitno da podaci generisani na slučajan način budu raznovrsni što je moguće<br />

više. Na taj način se postiže maksimalna verodostojnost dobijenih rezultata.<br />

Ovakav pristup se ne preporučuje u toku pisanja programskog koda koji je<br />

specifičan za rešavani problem, njegovog ispravljanja i testiranja. U toj fazi je<br />

najbolje da se program ponaša deterministički, da bi što efikasnije mogli da<br />

kontrolišemo sva njegova stanja. Zbog toga se u datim slučajevima generator<br />

slučajnih brojeva inicijalizuje nekom konstantom, tako da izvršavanje programa<br />

bude determinističko. Dati pristup se koristi i za merenje performansi keširanja<br />

GA.<br />

U nekim delovima GANP implementacije javlja se potreba za efikasnom<br />

realizacijom izbora kod prostog slučajnog događaja. Prost slučajni događaj ima<br />

samo dve mogu]nosti čije su verovatnoće p i q =1-p unapred poznate, a<br />

koristi se pri realizaciji genetskih operatora ukrštanja i mutacije kao i u nekim<br />

drugim aspektima GA.<br />

2.6 Funkcije koje zavise od prirode problema<br />

Osnovne funkcije zavisne od prirode samog problema koji se rešava su:<br />

inicijalizacija problema, učitavanje i štampanje podataka o samom problemu i<br />

vrednosna funkcija. Bez njih nije moguće izvršavanje genetskog algoritma, a<br />

dodeljuju se odgovarajućim funkcijskim pokazivačima u GA strukturi.<br />

2.6.1 Učitavanje i štampanje podataka<br />

Deo za učitavanje podataka uključuje:<br />

• Učitavanje konfiguracione datoteke za dati problem (u slučajevima kada ona<br />

postoji);<br />

• Ulaz podataka iz datoteke sa konkretnom instancom problema, i njihovo<br />

smeštanje u odgovarajuću (problem) strukturu;<br />

• Alociranje dinamičkih struktura koje se koriste za smeštanje ulaznih<br />

podataka;<br />

• Učitavanje podataka o optimalnom rešenju, ako je ono unapred dato.

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

Saved successfully!

Ooh no, something went wrong!