Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Dodatak B. DETALJAN OPIS IMPLEMENTACIJE<br />
Opis detalja svih mogućih aspekata GANP i PGANP implementacija bi bio<br />
vrlo opširan, i sadržao bi i neke relativno manje važne delove. S druge strane,<br />
neki delovi su već opisani vrlo detaljno (keširanje GA), pa nema potrebe za<br />
ponovnim opisivanjem. Zbog toga će u ovom dodatku biti prikazani samo ostali<br />
delovi implementacije koji su najvažniji za izvršavanje GA, a koji nisu prethodno<br />
detaljno opisani: funkcija prilagođenosti i genetski operatori selekcije, ukrštanja i<br />
mutacije.<br />
B.1 Funkcije prilagođenosti<br />
U datoteci fitness.c se nalazi veći broj funkcija prilagođenosti, koje<br />
izračunavaju prilagođenost jedinki u populaciji na osnovu njihovih vrednosti. Pri<br />
učitavanju iz konfiguracione datoteke ("GENET.CFG"), funkcijskom pokazivaču<br />
ga->fitness.f se dodeljuje pokazivač na izabranu funkciju prilagođenosti.<br />
Implementirane su sledeće funkcije, čije se objašnjenje može videti u odeljku<br />
2.3.2.<br />
NoScaling()<br />
Primenom ove funkcije, vrednost svake jedinke postaje njena prilagođenost,<br />
što odgovara shemi direktnog preuzimanja.<br />
LinearScaling()<br />
Ova funkcija realizuje linearno skaliranje, gde su koeficijenti A i B konstantni<br />
unapred zadati (učitavaju se iz konfiguracione datoteke). Dati koeficijenti se<br />
redom memorišu u promenljivima ga->fitness.a i ga->fitness.b .<br />
DirectTo01Scaling()<br />
Ova funkcija realizuje skaliraje vrednosti u jedinični interval, u slučaju<br />
problema maksimizacije. Funkcija je implementirana u dva ciklusa, gde se u<br />
prvom ciklusu računaju minimalna i maksimalna vrednost jedinki u populaciji, a<br />
u drugom vrši dodeljivanje prilagođenosti jedinkama po formuli (2.6). Vrednost<br />
tekuće jedinke i je data sa ga->pop[i]->funvalue, a minimalna i maksimalna<br />
vrednost se memorišu u lokalnim promenljivima min i max.