You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
36 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
prepoznatljiv sistem menija, alfa-numerički i grafički sistem praćenja <strong>rad</strong>a i<br />
prezentacije konačnih rezultata, obiman i profesionalno urađena uputstva za<br />
korišćenje i sistemi za interaktivnu pomoć (online help) u toku izvršavanja<br />
programskog paketa. Najčešće su realizovani kao ekspertni sistemi sa<br />
primenom u poslovnom okruženju, pa su po pravilu komercijalni proizvodi. Neki<br />
od najpoznatijih programskih paketa ove klase su: PC/Beagle, XpertRule,<br />
GenAsys, Evolver, Omega, ... U <strong>rad</strong>u [Rib94a] je dat njihov kratak pregled, ali i<br />
neke informacije o ostalim vrstama programskih paketa povezanim sa GA.<br />
2.1.2 Algoritamski orjentisani sistemi<br />
U ovu grupu spadaju sistemi koji sadrže pojedinačne GA implementacije ili<br />
skup programskih biblioteka za razvoj samostalnih genetskih algoritama.<br />
Algoritamski orjentisani sistemi su obično:<br />
• razvijani na univerzitetima ili istraživačkim razvojnim centrima, u javnom su<br />
vlasništvu i dostupni preko Interneta;<br />
• dati u izvornom kodu, pa je moguće prilagođavanje specifičnim zahtevima<br />
pri rešavanju konkretnih problema optimizacije;<br />
• modularne strukture koja garantuje mogućnost zamene ili nadog<strong>rad</strong>nje<br />
određenih delova;<br />
• sa korisničkim interfejsom niskog nivoa, a najčešće bez sistema menija i<br />
grafičkog prikaza, već se samo koristi komandna linija;<br />
• korišćeni kao opšte GA implementacije za rešavanje konkretnih problema,<br />
ali i za testiranje i analizu performansi specifičnih genetskih operatora ili<br />
algoritama.<br />
Jedna od prvih i najpoznatijih GA implementacija opšte namene je bio Genesis,<br />
detaljno opisan u [Gre84], koji je vrlo dugo uspešno korišćen za realizaciju<br />
većeg broja genetskih operatora i njihovo testiranje u praksi (videti [Gre85] i<br />
[Gre87]). Implementirana je u C programskom jeziku, a verzija 5.0 se uspešno<br />
izvršava na personalnim računarima i SUN <strong>rad</strong>nim stanicama. Programski kod<br />
je razvijan portabilno, pa uz manje izmene može da se izvršava i na ostalim<br />
sistemima. Koristi se gotova biblioteka genetskih operatora selekcije, ukrštanja i<br />
mutacije, a korisnik samo definiše vrednosnu funkciju, koja zavisi od prirode<br />
konkretnog problema. Date su tri mogućnosti za kodiranje jedinki: binarna<br />
reprezentacija, alfanumerička i reprezentacija pomoću realnih brojeva. Na<br />
osnovu kodiranja izabranog od strane korisnika, sistem datu strukturu<br />
automatski pakuje tako da prostorna i vremenska efikasnost njene manipulacije<br />
bude što veća. Genesis programski paket se sastoji od tri programske celine:<br />
set-up, report i ga. Program set-up učitava parametre genetskog algoritma<br />
koje zadaje korisnik, smešta ih u konfiguracionu datoteku, i koristi ih pri<br />
izvršavanju genetskog algoritma u programskoj celini ga. Na taj način se mogu<br />
zadati: tip kodiranja, broj gena, broj eksperimenata, broj izvršavanja u svakom<br />
eksperimentu, veličina populacije, broj bitova u genetskom kodu jedinke, nivo<br />
ukrštanja, nivo mutacije i ostali parametri važni za primenu GA. Za svaki od<br />
parametara je unapred predefinisana vrednost, koja se koristi ukoliko korisnik<br />
zbog nekih razloga propusti da definiše određenu vrednost.<br />
GAGA (The Genetic ALgorithms for General Application) je bila jedna od<br />
prvih GA implementacija u Evropi (Pascal verzija: Hillary Adams, University of<br />
York; C verzija: John Crowcroft, University College London). Korisnik mora da<br />
zada ciljnu funkciju koja se optimizuje, vrstu optimizacije (minimum ili