You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3. PARALELNA IMPLEMENTACIJA (PGANP)<br />
Na osnovu teoreme o shemama može se uočiti pojava unutrašnjeg<br />
paralelizma GA. Pored toga, postoje dodatne mogućnosti za paralelizaciju GA<br />
pošto gotovo sve funkcije u GA implementaciji, sadrže visok stepen međusobne<br />
nezavisnosti, pa se mogu relativno uspešno paralelizovati.<br />
U ovom poglavlju će biti prikazana paralelna GA implementacija za<br />
rešavanje NP-kompletnih problema (PGANP - Paralelni Genetski Algoritam za<br />
rešavanje NP-kompletnih problema - Parallel Genetic Algorithm for solving the<br />
NP-complete problems). Dati paralelni genetski algoritam je implementiran<br />
koriščenjem WMPI razvojnog okruženja, koji podržava konstrukcije MPI<br />
standarda verzije 1.1 . Implementiran je distribuirani model paralelizacije GA, pri<br />
čemu su izdvojeni neki zajednički delovi koji mogu biti iskorišćeni i za<br />
implementaciju nekog drugog modela paralelizacije. Opis opštih karakteristika<br />
paralelne implementacije je dat u odeljku 3.2, a pojedinačnih funkcija vezanih<br />
distribuirani model u odeljku 3.3.<br />
3.1 Neke od postojećih paralelnih GA implementacija (PGA)<br />
Paralelizacija GA se najčešće odvija po distribuiranom ili centralizovanom<br />
modelu. U distribuiranom modelu PGA svaka potpopulacija primenjuje poseban<br />
operator selekcije, koji se izvršava nezavisno od drugih. Drugi model ima<br />
centralizovani mehanizam selekcije cele populacije, odnosno svih<br />
potpopulacija.<br />
U [Tns87] je primenjen PGA za optimizaciju Walsh-olikih funkcija<br />
korišćenjem paralelnog računara sa 64 procesora, povezanih kao hiperkocka<br />
(hypercube). Korišćen je distribuirani PGA, koji se u literaturi naziva i model<br />
ostrva (island model), gde svaki procesor izvršava genetski algoritam na<br />
sopstvenoj potpopulaciji. Dobre jedinke se periodično razmenjuju između<br />
susednih procesora, i uključuju se u potpopulaciju suseda u narednim<br />
generacijama. Razmena po susednim potpopulacijama, koje odgovaraju<br />
različitim dimenzijama hiperkocke, se odvija u različitim vremenskim trenucima.<br />
Iz prikazanih rezultata se vidi skoro linearno ubrzanje, u odnosu na t<strong>rad</strong>icionalni<br />
sekvencijalni GA izvršen 1000 generacija, a preporučuje se 8 potpopulacija kao<br />
najbolji kompromis. Jedno poboljšanje date PGA implementacije je opisano u<br />
[Tns89].<br />
Paralelna implementacija razmatrana u [Sta91] koristi nešto drugačiji pristup.<br />
Svaki procesor šalje kopije nekoliko svojih najboljih jedinki susednim<br />
procesorima, koji ih smeštaju na mesto najlošijih jedinki u svojoj potpopulaciji.<br />
Globalna veličina populacije je ostala fiksirana tokom izvršavanja, a