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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

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

3.2.1 Opis paralelne strukture<br />

Svi podaci specifični za PGANP implementaciju su grupisani u paralelnu<br />

strukturu. Osnovna paralelna struktura je po načinu korišćenja podeljena na<br />

podstrukture koje su zadužene za:<br />

• Arhitekturu zadatu od strane korisnika;<br />

• Razmenu jedinki;<br />

• Prosleđivanje rešenja;<br />

• Kraj izvršavanja GA.<br />

Osim date postoji i struktura zadužena za opis podataka u konfiguracionoj<br />

datoteci, kao i više nizova funkcijskih pokazivača, ali su oni manje važni za opis<br />

paralelne implementacije pa će detaljno biti opisani u Dodatku B.<br />

3.2.1.1 Paralelna arhitektura<br />

Kao što se može videti kasnije, arhitektura zadata od strane korisnika može,<br />

u nekim slučajevima, znatno uticati na performanse paralelnog GA. Ukoliko sve<br />

procese koji se izvršavaju na paralelnom računaru posmatramo kao čvorove, a<br />

susedne procese koji razmenjuju jedinke obeležimo kao grane, implicitno je<br />

definisan graf razmene jedinki tokom izvršavanja paralelnog GA. Pošto se<br />

jedinke razmenjuju između susednih procesa samo u distribuiranom modelu,<br />

dati graf nema uticaja na centralizovani model izvršavanja.<br />

Za sve modele paralelizacije je značajan način prosleđivanja GA i problem<br />

strukture od osnovnog procesa kao svim ostalim procesima. Ovakav način<br />

prosleđivanja se može formalno opisati nekom drvoidnom strukturom, koju<br />

nazivamo drvo prosleđivanja. U takvoj formalizaciji, za svaki proces možemo<br />

definisati dva pojma: sused roditelj i susedi potomci. Svaki proces, osim<br />

osnovnog, ima tačno jednog suseda roditelja od koga dobija GA i problem<br />

strukturu na početku i prosleđuje ih svojim susedima potomcima. Ova struktura<br />

(drvo prosleđivanja) se, ali u obrnutom smeru, koristi u distribuiranom modelu<br />

za prikupljanje konačnih rešenja i njihovo prosleđivanje ka osnovnom procesu.<br />

Data podstruktura sadrži sledeće podatke:<br />

• Redni broj tekućeg procesa;<br />

• Broj svih suseda (susednih procesa), niz njihovih indeksa i redni broj<br />

tekućeg suseda;<br />

• Indeks suseda roditelja;<br />

• Broj suseda potomaka i niz njihovih indeksa;<br />

• Niz indikatora koji označavaju da li je odgovarajući sused završio sa <strong>rad</strong>om<br />

svoj lokalni GA;<br />

• Pokazivač na funkciju za inicijalizaciju date paralelne arhitekture;<br />

Pokazivači na funkcije za slanje GA odnosno problem strukture, kao i<br />

odgovarajuće funkcije za njihov prijem.<br />

3.2.1.2 Razmena jedinki<br />

U distribuiranom modelu se jedinke razmenjuju relativno retko, najčešće<br />

samo jednom u nekoliko generacija, i to samo između potpopulacija koje se<br />

izvršavaju na susednim procesima. Zbog toga, nije toliko važna efikasnost<br />

razmene jedinki i sinhronizacija procesa u okviru višeprocesorskog računara,<br />

već su mnogo važniji učestanost razmene i izbor odgovarajućih jedinki koje se<br />

razmenjuju.

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

Saved successfully!

Ooh no, something went wrong!