Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
66 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
eksperimentisano je sa različitim veličinama potpopulacija dodeljenih svakom<br />
procesoru. Najbolji rezultati su dobijeni korišćenjem promenljivog nivoa<br />
mutacije, koji tokom izvršavanja GA raste do neke, unapred zadate vrednosti,<br />
paralelno sa rastom sličnosti jedinki u populaciji. Pri povećavanju broja potrebno<br />
je mnogo pažljivije odrediti granice i tok promene nivoa mutacije, jer je kod<br />
manjih potpopulacija mnogo veća mogućnost preuranjene konvergencije, ili<br />
gubitka genetskog materijala. Rezultati izvršavanja takođe ukazuju da je veoma<br />
bitno pravilno odrediti učestalost razmene jedinki jer ako je ona previše česta, ili<br />
jako retka, dolazi do značajnog pogoršanja performansi date implementacije.<br />
PGA za rešavanje problema K-podele (K-partition problem) je opisan u<br />
[Coh91]. Svaki od 16 procesora povezanih u hiperkocku, izvršava GA na<br />
potpopulaciji od 80 jedinki uz razmenu jedinki na svakih 50 generacija. U datom<br />
problemu su u razmatranje uključene i nekorektne jedinke, pa je funkcija<br />
prilagođenosti računata po formuli f(x) = c(x) + λ ⋅ p(x), gde je c(x) prilagođenost<br />
jedinke a p(x) kaznena funkcija. Eksperimenti sa korišćenjem kaznene funkcije<br />
su pokazali da su najbolji rezultati dobijeni ako je za svaku potpopulaciju<br />
generisan slučajan broj λ∈[0, 1], umesto fiksnog izbora λ=1 za sve<br />
potpopulacije.<br />
Gordon i Whitley su u <strong>rad</strong>u [Grd93] izvršili uporednu analizu osam različitih<br />
PGA i verziju Goldberg-ovog prostog GA ([Gol89]) na optimizaciji nekoliko<br />
raznolikih test funkcija. Testiranje je pokazalo da je distribuirani "model ostrva"<br />
postigao dobre rezultate, čak i na najtežim test-primerima.<br />
Jedna od najpoznatijih paralelnih implementacija GA je data u [Müh92]. Ona<br />
je iskorišćena za rešavanje problema trgovačkog putnika (Traveling Salesman<br />
Problem - TSP) i problema podele grafa (graph partitionig problem). Korišćen je<br />
centralizovani model PGA, pa je populacija globalna, a svaka jedinka je<br />
dodeljena tačno jednom procesoru. Pri tome se genetski operatori selekcije,<br />
ukrštanja i mutacije vrše isključivo uz pomoć susednih jedinki, odnosno, jedinki<br />
koje pripadaju susednim procesorima u datoj paralelnoj arhitekturi, bez ikakve<br />
globalne kontrole. Nakon toga se kvalitet rešenja svake jedinke dodatno<br />
poboljšava korišćenjem lokalnog pretraživanja. Predlaže se sporo prosleđivanje<br />
dobrih jedinki kroz celu populaciju kao metod za sprečavanje preuranjene<br />
konvergencije. Dodatne informacije o raznim mogućnostima date PGA<br />
implementacije se mogu dobiti u [Müh91a] i [Müh91b].<br />
U [Las91] je opisana PGA implementacija za rešavanje problema podele<br />
grafa korišćenjem 64-procesorskog transpjuterskog sistema. Selekcija se odvija<br />
nezavisno za svaku jedinku, korišćenjem nekoliko susednih jedinki u<br />
dvodimenzionalnoj višeprocesorskoj arhitekturi. Roditelj se zamenjuje<br />
potomkom, ukoliko ovaj ima veću ili jednaku vrednost najmanje jedne susedne<br />
jedinke. Najbolji rezultati su dobijeni korišćenjem velike veličine populacije uz<br />
mali broj suseda.<br />
Dobri rezultati, pri rešavanju TSP-a su postignuti korišćenjem PGA na 64-<br />
procesorskom transpjuterskom sistemu kao što se može videti u [Grg91].<br />
Veličina globalne populacije je bila 64, uz 8 suseda za svaku jedinku.<br />
Prilagođenost pojedinačne jedinke se računa relativno u odnosu na susede, a<br />
ne globalno za celu populaciju. Mehanizam selekcije u datoj implementaciji<br />
sadrži elitističku strategiju, u kojoj je potomak izabran u narednu generaciju,<br />
samo u slučaju da je bolji od svog roditelja. U paralelnoj implementaciji je<br />
ostvarena mala međuprocesorska komunikacija, zbog relativno malog broja