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.

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

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

neiskorišćeni. U nekim slučajevima je pogodnije ako genetske operatore, ili<br />

neke druge funkcije, primenjujemo samo na korisne bitove u genetskom kodu,<br />

pa je zbog toga potrebno memoristi njihov ukupan broj. Ovaj podatak zavisi od<br />

prirode samog problema i veličine instance koji se izvršava, pa vrednost date<br />

promenljive postavlja funkcija za inicijalizaciju konkretnog problema. Međutim,<br />

kada je on memorisan u ovoj promenljivoj, on postaje opšti pa se može koristiti<br />

nezavisno od prirode samog problema.<br />

2.2.2.3 Mutacija<br />

U podstukturi zaduženoj za mutaciju date su sledeće promenljive:<br />

• Pokazivač na funkciju za inicijalizaciju operatora mutacije;<br />

• Pokazivač na funkciju za realizaciju operatora mutacije;<br />

• Maska koja služi za postavljanje svih neiskorišćenih bitova u genetskom<br />

kodu na nultu vrednost;<br />

• Nivo (učestanost) mutacije p mut ;<br />

• Indikator da li je nivo mutacije stalan ili se menja tokom generacija;<br />

• Parametar koji se koristi pri statičkoj eksponencijalnoj ili dinamičkoj promeni<br />

nivoa mutacije;<br />

• Koeficijent eksponenta pri statičkoj eksponencijalnoj promeni mutacije;<br />

• Pokazivač na niz inverznih vrednosti normalne raspodele.<br />

U ovoj implementaciji postoji samo jedan generalni operator mutacije, samo<br />

je on realizovan na različite načine, od kojih su neki efikasniji od drugih. Kod<br />

realizacije preko normalne raspodele se unapred na slučajan način određuje<br />

broj mutacija, a zatim mesta mutacije. Na taj način se obrađuju samo reči koje<br />

imaju gene za mutiranje što je, u najvećem broju slučajeva, efikasnije od<br />

direktnog pristupa gde se obrađuje ceo genetski kod jedinke. Pri tome se na<br />

početku iz datoteke učitava niz koji sadrži inverzne vrednosti normalne<br />

raspodele, koji se kasnije koristi. I u slučaju operatora mutacije, isto kao i kod<br />

ukrštanja, je moguće statički ili dinamički menjati nivo mutacije tokom<br />

generacija.<br />

2.2.3 Ostali podaci<br />

2.2.3.1 Zajedničke funkcije<br />

U ovom delu su dati pokazivači na zajedničke funkcije GANP<br />

implementacije. Iako su skoro sve ove funkcije definisane u delu koji zavisi od<br />

prirode problema, pokazivač je zadat u ovom zajedničkom delu pa je moguće<br />

pozivanje date funkcije nezavisno od prirode samog problema. Funkcijski<br />

pokazivači dati u ovoj podstrukturi su:<br />

• Inicijalizacija parametara za dati problem koji rešavamo;<br />

• Ulaz podataka za konkretni problem;<br />

• Konverzija genetskog koda jedinke u argumente datog konkretnog<br />

problema;<br />

• Konverzija argumenata datog problema u genetski kod jedinke;<br />

• Na osnovu argumenata problema računanje vrednosti (jedinke);<br />

• Eventualna heuristika za poboljšavanje vrednosti neke jedinke u populaciji;<br />

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

• Generisanje izveštaja za GA;

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

Saved successfully!

Ooh no, something went wrong!