You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Paralelna GA implementacija 69<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
Ukoliko bi razmena jedinki bila suviše česta, vrlo brzo bi potpopulacije<br />
sadržale više kopija jednih istih jedinki, tada bi efekti paralelizacije bili<br />
zanemarljivi i rezultati dobijeni paralelnim izvršavanjem bi bili slični<br />
sekvencijalnom izvršavanju GA na samo jednom procesu (procesoru). Pri<br />
suviše retkoj razmeni jedinki, genetski algoritmi koji se izvršavaju na<br />
pojedinačnim procesima su praktično nezavisni, što daje nešto bolje rezultate<br />
nego pri suviše čestoj razmeni jedinki, ali su performanse paralelizacije i dalje<br />
relativno loše. Uz dobro izabranu učestanost razmene jedinki, postiže se dobar<br />
kompromis između sledećih komponenti pretrage paralelnog GA: istraživanja<br />
(exploration) i iskorišćenja (exploitation). To doprinosi punom korišćenju<br />
prednosti paralelizacije, koje se ogledaju u boljem kvalitetu rešenja, uz<br />
istovremeno kraće vreme izvršavanja, u odnosu na sekvencijalni GA.<br />
Podaci grupisani u podstrukturi za razmenu jedinki su:<br />
• Pokazivači na funkcije za slanje i prijem jedinki;<br />
• Pomoćni nizovi za prijem i slanje celobrojnih i realnih vrednosti, kao i broj<br />
članova datih nizova. Funkcijski pokazivači se šalju preko celobrojnih rednih<br />
brojeva izabrane funkcije u odnosu na zadati poredak;<br />
• Koliko jedinki šalje osnovni proces odjednom na izračunavanje ostalim<br />
procesima. Pošto se taj broj razlikuje na početku slanja i kasnije, memorišu<br />
se tri vrednosti (koristi se samo u centralizovanom modelu);<br />
• Učestanost razmene jedinki između susednih potpopulacija, odnosno, broj<br />
generacija genetskog algoritma između dve razmene (distribuirani model);<br />
• Pokazivači na funkcije za izbor jedinke koja se šalje susedima, odnosno,<br />
jedinki koje se izbacuju iz populacije (distribuirani model);<br />
• Broj učesnika, redom, na turnirima gde se biraju jedinke za slanje susedima<br />
odnosno izbacivanje iz populacije, ako se vrši turnirski izbor jedinki<br />
(distribuirani model).<br />
3.2.<strong>1.3</strong> Prosleđivanje rešenja<br />
Podstruktura za prosleđivanje rešenja u distribuiranom modelu služi za<br />
prikupljanje konačnih rešenja od suseda potomaka, i prosleđivanje konačnog<br />
rešenja za dati proces susedu roditelju. Pri tome se rešenje lokalnog GA koji se<br />
izvršavao na tekućem procesu, dopunjuje rezultatima dobijenim od suseda<br />
potomaka, i na taj način se formira rešenje koje se prosleđuje dalje susedu<br />
roditelju.<br />
Za funkcionisanje ovog segmenta paralelnog GA neophodni su sledeći<br />
podaci:<br />
• Pokazivači na funkcije za inicijalizaciju, slanje i prijem konačnog rešenja GA<br />
u distribuiranom modelu;<br />
• Memorijski prostor gde se smeštaju konačna rešenja suseda potomaka.<br />
3.2.1.4 Kriterijum završetka paralelnog GA<br />
Jedan od važnih aspekata paralelnog GA je i kriterijum za završetak<br />
izvršavanja. Pošto se u distribuiranom modelu na svakom procesu izvršava<br />
lokalni GA, postoje dva kriterijuma završetka: globalni i lokalni.<br />
U slučaju lokalnog kriterijuma završetka, dati proces prekida izvršavanje<br />
lokalnog GA, svim susedima šalje poruku o tome, ali i dalje nastavlja<br />
komunikaciju sa susednim procesima (prijem i prosleđivanje njihovih poruka).<br />
Pri tome se prikupljaju i memorišu konačna rešenja od suseda potomaka. Po