Genetski Algoritam

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

UNIVERZITET U TUZLI – MAŠINSKI FAKULTET

GENETSKI ALGORITAM
Seminarski rad

Predmet: Neuronske mreže


Ime i prezime: Toni Duspara
Broj indeksa: III-4/15
Odsjek: Mehatronika

Tuzla, Novembar, 2018. god


Sažetak

U ovom seminaru ćemo se baviti genetskim algoritnom. U oblasti veštačke inteligencije genetski
algoritam (GA) je pretraživačka heuristika1 koja oponaša proces prirodne selekcije. Ova
heuristika (takođe ponekad nazivana metaheuristika) se rutinski koristi da generiše korisna
rešenja za optimizaciju i probleme pretrage . Genetski algoritmi pripadaju većoj klasi evolucionih
algoritama (EA) koji generišu rešenja za optimizaciju problema korišćenjem tehnika insprisanih
prirodnom evolucijom, kao što su nasleđivanje, mutacija, selekcija, krosing-over…

Ključne riječi: Genetika, algoritam, heuristika, evolucija, mutacija

1
Postupak koji vodi prema otkriću ili ga potiče
Sadržaj

1. UVOD ...................................................................................................................................... 5
2. PRINCIP RADA ...................................................................................................................... 6
3. METODOLOGIJA ................................................................................................................... 7
3.1. Problemi optimizacije ........................................................................................................ 7
3.2. Inicijalizacija ..................................................................................................................... 8
3.3. Selekcija............................................................................................................................. 8
3.4. Genetski operatori.............................................................................................................. 8
3.5. Završetak ........................................................................................................................... 9
4. HIPOTEZA GRADIVNOG BLOGA .................................................................................... 10
5. OGRANIČENJA .................................................................................................................... 11
6. VARIJANTE .......................................................................................................................... 13
6.1. Reprezentacija hromosoma .............................................................................................. 13
6.2. Elitizam ............................................................................................................................ 14
6.3. Paralelna implementacija ................................................................................................. 14
6.4. Prilagodljivi Genetski Algoritmi ..................................................................................... 14
7. DOMENI PROBLEMA ......................................................................................................... 15
8. KOMERCIJALNI PROIZVODI ............................................................................................ 16
9. SRODNE TEHNIKE.............................................................................................................. 16
9.1. Roditeljske oblasti ........................................................................................................... 16
9.2. Srodne oblasti .................................................................................................................. 16
9.2.1. Evolucioni algoritmi ................................................................................................. 16
9.2.2. Inteligencija roja ....................................................................................................... 17
9.2.3. Drugi evolucioni kompjuterski algoritmi ................................................................. 17
9.2.4. Druge metode metaheuristike................................................................................... 18
10. ZAKLJUČAK ..................................................................................................................... 19
LITERATURA ............................................................................................................................... 20
Slika 1 - Prikaz genetskog algoritma................................................................................................ 5
1. UVOD

Genetski ili genetički algoritam (GA) je heuristička metoda optimiranja koja imitira prirodni
evolucijski proces. Evolucija je robustan proces pretraživanja prostora rješenja. Živa bića se
tijekom evolucije prilagođavaju uvjetima u prirodi, tj. životnoj okolini. Analogija evolucije kao
prirodnog procesa i genetskog algoritma kao metode optimiranja, očituje se u procesu selekcije i
genetskim operatorima. Mehanizam odabira nad nekom vrstom živih bića u evolucijskom procesu
čine okolina i uvjeti u prirodi. U genetskim algoritmima ključ selekcije je funkcija cilja, koja na
odgovarajući način predstavlja problem koji se rješava. Slično kao što su okolina i uvjeti u prirodi
ključ selekcije nad nekom vrstom živih bića, tako je i funkcija cilja ključ selekcije nad populacijom
rješenja u genetskom algoritmu. Naime, u prirodi jedinka koja je najbolje prilagođena uvjetima i
okolini u kojoj živi ima najveću vjerojatnost preživljavanja i parenja, a time i prenošenja svojega
genetskog materijala na svoje potomke. Za genetski algoritam jedno rješenje je jedna jedinka.
Selekcijom se odabiru dobre jedinke koje se prenose u slijedeću populaciju, a manipulacijom
genetskog materijala stvaraju se nove jedinke. Takav ciklus selekcije, reprodukcije i manipulacije
genetskim materijalom jedinki ponavlja se sve dok nije zadovoljen uvjet zaustavljanja evolucijskog
procesa. Konačan rezultat je populacija jedinki (potencijalnih rješenja). Najbolja jedinka u zadnjoj
iteraciji predstavlja rješenje optimiranja.

Slika 1 - Prikaz genetskog algoritma


2. PRINCIP RADA

Rad GA se može opisati u osam odnosno sedam koraka:

1. Definisanje svih potrebnih parametara problema i GA


2. Formiranje početne populacije
3. Dekodiranje hromozoma — ovaj korak se javlja samo kod binarnih GA
4. Određivanje cena hromozomima (fitnes funkcijom)
5. Odabir selekcije hromozoma koji će opstati za parenje
6. Parenje — obično se iz boljeg dela populacije odabiru roditelji koji će na neki način
ukrstiti svoj genetski materijal i dati jednog ili više potomaka koji obično zamene nekog
od lošijih hromozoma
7. Mutcije, pri kojima se menja genetski sadržaj hromozoma
8. Ispitivanje konvergencije, da bi se utvrdilo da li ima osnova da se tok algoritma prekine.
Ukoliko nije ispunjen uslov konvergencije, vratiti se na korak 3 odnosno 4.
3. METODOLOGIJA
3.1.Problemi optimizacije

U genetskom algoritmu, populacija rešenja kandidati (tzv. pojedinaca, bića ili fenotipa)
problema optimizacije evoluira ka boljim rešenjima. Svako rešenje kandidat ima skup osobina
(svojih hromozoma ili genotipa) koji može da bude mutiran ili izmenjen; tradicionalno rešenja
su predstavljena binarno, kao nizovi nula i jedinica, ali i druga kodiranja su takođe moguća.

Evolucija obično počinje od populacije nasumično generisanih pojedinaca, i to je proces koji


se ponavlja, sa populacijom koja se u svakoj iteraciji zove generacija. U svakoj generaciji fitnes
svakog pojedinca u populaciji se ocenjuje; fitnes je obično vrednost objektne funkcije u
problemu optimizacije koji se rešava. Što više fit (zdravi) pojedinci su stohastički selektovani
iz trenutne populacije, i genom svake idividue se menja (kombinovan i eventualno slučajno
mutiran) kako bi se formirala nova generacija. Nova generacija dobijenih rešenja kandidata se
zatim koristi u sledećoj iteraciji algoritma. Uglavnom, algoritam se završava ili kada je
proizveden maksimalni broj generacija ili je dostignut zadovoljavajući nivo fitnesa za
populaciju.

Tipičan genetski algoritam zahteva:

1. Genetski prikaz domena rešenja

2. Funkciju fitnes za procenu domena rešenja

Standardna reprezentacija svakog rešenja kandidata je niz bitova. Nizovi drugih tipova i
struktura se u suštini mogu koristiti na isti nači. Glavna osobina koji čini ove genetske
reprezentacije pogodne je da su njihovi delovi jako usklađeni zbog fiksne veličine što olakšava
jednostavne operecije krosing-overa. Promenljiva dužina reprezentacije se takođe može
koristiti, ali je implementacija krosing-overa u ovom slučaju složenija. Reprezentacije poput
stabla su istražene u genetskom programiranju i reprezentacije forme grafa su istražene u
evolucionom programiranju; mešavina oba, linearnih hromozoma i stabala je istražena u
programiranju zasnovanom na prikazu gena.

Kada su genetska reprezentacija i fitnes funkcija definisani, GA nastavlja da pokreće populaciju


rešenja i poboljšava je periodično primenom mutacija, krosing-overa, inverzija i selekcije.
3.2. Inicijalizacija

Veličina populacije zavisi od prirode problema, ali obično sadrži nekoliko stotina ili hiljada
mogućih rešenja. Često se početna populacija generiše nasumično, čime se omogućava čitav
niz mogućih rešenja (prostor pretrage). Povremeno, rešenja mogu biti „posejana“ u oblastima
gde je moguće naći optimalna rešenja.

3.3.Selekcija

Tokom svake sledeće generacije deo postojeće populacije je izabran da odgoji novu generaciju.
Individualna rešenja su izabrana pomoču procesa baziranog na fitnesu(zdravlju), gde više
fit(zdravija, sa boljom kondicijom) rešenja(merena fitnes funkcijom) imaju veće šanse da budu
izabrana. Određene metode selekcije ocenjuju kondiciju svakog rešenja i prvenstveno će
izabrati najbolja rešenja.

Funkcija fitnes je definisana u genetskoj reprezentaciji i meri kvalitet prdstavljenog rešenja.


Funkcija fitnes uvek zavisi od problema. Na primer u problemu ranca, neko želi najveću
ukupnu vrednost predmeta koja se može staviti u ranac fiksnog kapaciteta. Reprezentacija
rešenja može biti niz bitova, gde će svaki bit predstavljati drugi predmet, i vrednost bita (0 ili
1) da li je ili ne predmet u rancu. Nije svaka ovakva reprezentacija dobra, jer veličina predmeta
može biti veća od kapaciteta ranca. Fitnes rešenje je zbir vrednosti svih objekata u rancu
ukoliko je reprezentacija validna, ili 0 u suprotnom.

U nekim slučajevima, teško je ili nemoguće odredititi fitnes. Ako je tako, može se iskoristiti
simulacija da odredi vrednost fitnes funkcije za fenotip (npr. Računarska dinamika fluida se
koristi da se utvrdi otpor vazduha automobila čiji je oblik kodiran kao fenotip) ili se čak koristi
interaktivni genetički algoritam.

3.4. Genetski operatori

Sledeći korak je generisati drugu generaciju populacije rešenja od onih izabranih kroz
kombinaciju genetskih operatora: krosing-overa(naziva se i rekombinacija) i mutacije.

Za svako novo rešenje koje će se proizvesti, bira se par „roditeljskih“ rešenja za razmnožavanje
iz bazena prethodno izabranih.
Stvaranjem rešenja „deteta“ korišćenjem gore navedenih metoda krosing-overa i mutacije
kreirano je novo rešenje koje obično ima mnoge karatkeristike svojih „roditelja“. Za svako
novo dete se biraju novi roditelji i proces se nastavlja sve dok nova populacija rešenja ne
dostigne odgovarajuću veličinu. Iako su metodi reprodukcije koji se zasnivaju na korišćenju
dva roditelja „biološki podstaknuti“ neka istraživanja sugerišu da se korišćenjem više od dva
„roditelja“ generiše kvalitetnije hromozome.

Ovi procesi na kraju doode do sledeće generacije populacije hromozoma koja se razlikuje od
početne generacije. Generalno, prosečna kondicija će porasti ovim procesima za populaciju, jer
su izabrani samo najbolji organizmi iz prve generacije za razmnožavanje, zajedno sa malim
procentom manje podobnih rešenja. Ova manje fit rešenja garantuju genetsku raznolikost
unutar genetskog bazena roditelja i stoga garantuju genetsku raznolikost narednih generacija
dece.

Mišljenje je podeljeno oko važnosti krosing-overa naspram mutacija. Postoje mnoge reference
u Fogelovom radu (2006) koje podržavaju značaj pretraga baziranih na mutacijama. Iako su
krosing-overi i mutacije poznati kao glavni genetski operatori, moguće je koristiti i druge
operatore kao što su pregrupisanje, kolonizacije-istrebljenja ili migracije u genetskim
algoritmima.

Vredi podesiti parametre kao što su verovatnoća mutacije, verovatnoća krosing-overa i veličina
populacija da bi se pronašla razumna podešavanja za klasu problema na kojoj se radi. Veoma
mala stopa mutacija vodi do genetičkog drifta (koji nije ravnomerno raspoređen u prirodi).
Stopa rekombinacije koja je previsoka može dovesti do prerane konvergencije genetskog
algoritma. Stopa mutacija koja je previsoka može dovesti do gubitka dobrih rešenja, osim ako
je iskorišćen elitistički izbor.

3.5. Završetak

Ovaj generacijski proces se ponavlja sve dok se ne postigne uslov prekida. Opšti uslovi
završetka su:

• Rešenje koje je pronađeno zadovoljava minimalne kriterijume

• Dostignut je fiksiran broj generacija

• Dodeljen budžet (izrčunava se vreme / novac) je potrošen

• Fitnes rešenja koje je najviše rankirano dostiže ili je dostigao plato takav da uzastopne
iteracije ne daju bolje rezultate

• Ručno proveravanje
4. HIPOTEZA GRADIVNOG BLOGA

Genetički algoritmi su jednostavni za implementaciju ali njihovo ponašanje je teško razumeti.


Tačnije, teško je razumeti zašto ovi algoritmi često uspevaju da generišu rešenja visokog fitnesa
kada se primene na određen problem. Hipoteza gradivnog bloka (eng: building block
hypothesis, BBH) se sastoji od:

1. Opis heuristike koja obavlja adaptaciju tako što identifikuje i kombinuje gradivne blokove,
npr. shema niskog reda sa fitnesom iznad proseka.
2. Hipoteza kojom genetički algoritam vrši implicitnu adaptaciju i efikasno implementira ovu
heuristiku.

Goldberg opisuje heuristiku na sledeći način:

„Kratke sheme niskog reda i sa visokim fitnesom se uzorkuju (uzimaju uzorci), kobinuju i
ponovo uzorkuju kako bi napravili stringove potencijalno većeg fitnesa. Radeći sa ovim
shemama (tj. gradivnim blokovima), smanjili smo složenost našeg problema; umesto da
pravimo vrlo efikasne stringove pokašavajući sa svakom mogućom kombinacijom, mi pravimo
sve bolje i bolje stringove koristeći najbolja parcijalna rešenja prethodnog uzorkovanja.“

"Kako kratke sheme niskog reda sa visokog fitnesa igraju veoma bitnu ulogu u genetskim
algoritmima, dali smo im specijalno ime: gradivni blokovi. Baš kao što dete pravi veličanstvene
tvrđave slažući jednostavne blokove drveta, tako i genetski algoritam postiže skoro optimalne
performanse slažući krate sheme niskog reda i visokih performansi, tj. gradivne blokove."
5. OGRANIČENJA
Postoje ograničenja upotrebe genetskog algoritma u odnosu na alternativne algoritme za
optimizaciju:

• Ponovljena procena fitnes funkcije za složene probleme je zaštitnički i ograničavajući


segment veštačkih evolucionih algoritama. Pronalaženje optimalnog rešenja za složene visoko-
dimenzione, multimodalne probleme često zahteva veoma skupe procene fitnes funkcija. U
realnom svetu problemni kao što su strukturni problemi optimizacije evaluacija jedne funkcije
može da zahteva od nekoliko sati do nekoliko dana potpune simulacije. Tipični metodi
optimizacije ne mogu da se bave takvim vrstama problema. U ovom slučaju može biti
neophodno da se odreknu tačne procene i koriste približnu fitnes koja je računski efikasna.
Očigledano je da spoj pribižnih modela može biti jedan od najperspektivnijih pristupa da se
ubedljivo koriste GA za rešavanje kompleksnih problema iz realnog života.

• Genetski algoritmi ne rade dobro srazmerno složenosti. To jest, kada je broj elemenata koji
su izloženi mutaciji veliki često postoji eksponencijalni porast u veličini prostora za pretragu.
Zbog toga je izuzetno teško koristiti tehniku na problemima kao što su projektovanje motora,
kuće ili aviona. Kako bi takvi problemi bili povodljivi evolucionoj potrazi oni moraju biti
razbijeni na što jednostavnije moguće reprezentacije. Stoga obično vidimo evolucione
algoritme za kodiranje dizajna za lopatice ventiatora umesto motora, modelovanje oblika
umesto detaljnih planova konstrukcije, krila aviona umesto dizajna čitavih aviona. Drugi
problem kompleksnosti je kako zaštititi delove koji su evoluirali da predstavljaju dobra rešenja
od daljih destruktivnih mutacija, naročito kada njihova procena fitnesa zahteva da se kombinuje
sa drugim delovima.

• „Bolje“ rešenje je samo u poređenju sa drugim rešenjima. Kao rezultat, kriterijum


zaustavljanja nije jasan u svakom problemu,

• U mnogim problemima, GA-mi imaju tendenciju da se prilagode prema lokalnim


optimumima ili čak proizvoljnim tačkama, pre nego globalnim optimumima problema. Ovo
znači da ono ne „zna kako“ da žrtvuje kratkoročnu kondiciju da stekne dugoročnu kondiciju.
Verovatnoća da se to dešava zavisi od oblika fitnes pejzaža: određeni problemi mofu da
obezbede lak uspon ka globalnom optimumu, drugi mogu olakšati funkciji da pronađe lokalne
optimume. Ovaj problem se može ublažiti korišćenjem druge fitnes funkcije, povećanjem stope
mutacija ili pomoću tehnika selekcije koje održavaju raznolikost populacije rešenja , iako
„Nema besplatnog ručka“ teorema dokazuje da ne postoji opšte rešenje ovog problema.
Uobičajena tehnika za održavanje raznolikosti je da nametne „kaznu“ gde bilo koja grupa
pojedinaca sa dovoljno sličnosti dobiju kaznu, što će smanjiti zastubljenost te grupe u narednim
generacijama, omogućavajući drugim (manje sličnim) pojedincima da opstanu u populaciji.
Ovaj trik, međutim, možda neće biti efikasan, u zavisnosti od predela problema. Još jedna
moguća tehnika bi bila da se jednostavno zamene delovi populacije sa slučajno generisanim
pojedincima, kada je većina populacije previše slična jedna drugima. Raznolikost je važna u
genetskim algoritmima (i genetskom programiranju) jer prelazak preko homogene populacije
ne daje nova rešenja. U evolucionim strategijama i evolucionom programiranju, raznolikost
nije od suštinskog značaja zbog većeg oslanjanja na mutacije.

• Rad na dinamičkom setu podataka je težak, kako genomi počnu da konvergiraju rano prema
rešenjima koja možda više neče važiti za kasnije podatke. Nekoliko metoda je predloženo da
se popravi ovo povečanjem genetske raznolikosti nekako i sprečavanjem rane konvergencije,
bilo povećanjem verovatnoće mutacije kada je rešenje kvalitet kapi (nazivano započeta
hipermutacija), ili povremeno uvođenjem poptuno novih, slučajno generisanih elemeanta u
genomu (nazivaju se i slučajni imigranti). Evolucione strategije i evoluciono programiranje
mogu se implementirati sa takozvanom „zarez strategijom“ u kojoj roditelji nisu održavani i
novi roditelji se biraju samo od potomstva. Ovo može biti efikasnije na dinamičkim
problemima.

• Genetski algoritmi ne mogu efikasno rešiti probleme u kojima je jedina mera za fitnes
tačno/netačno (kao problemi odluke), kako ne postoji način da se koncentrišu na rešenja (nema
brda da se popne). U ovim slučajevima, slučajna pretraga može naći rešenje brzo kao i genetski
algoritam. Međutim, ako situacija dozvoljava uspeh/neuspeh suđenje da se ponovi, davajuću
(eventualno) različiti rezultat, onda odnos uspeha neuspeha pruža određenu meru fitnesa.

• Za specifične probleme optimizacije i instance problema, drugi algoritmi optimizacije


mogu biti efikasniji od genetskih algoritama u pogledu brzine konvergencije. Alternativni i
komplementarni algoritmi uključuju evolucione strategije, evoluciono programiranje, Gausovu
adaptaciju, pretraživanje usponom i inteligenciju jata (npr. optimizacija kolonije mrava,
optimizacija čestica roja) metodi bazirani na celobrojnom linearnom programiranju. Pogodnost
genetskih algoritama zavisi od količine znanja o problemu; dobro poznati problemi često imaju
bolje, specijalizovanije pristupe.
6. VARIJANTE

6.1.Reprezentacija hromosoma

Najjednostavniji algoritam predstavlja svaki hromozom kao niz bitova. Numerički parametri
se uglavnom mogu predstaviti celim brojevima (eng. integer), ali je moguće korisiti i
reprezentaciju u pokretnom zarezu. Reprezentacija u pokretnom zarezu je prirodna za
evolucione strategije i evoluciono programiranje. Pojam genetskih algoritama realnih vrednosti
je bio predložen, ali je to pogrešan naziv, jer ne prezentuje teoriju gradivnog bloka koju je
predložio John Henry Holland 1970ih. Ova teorija ima podršku, zasnovanu na teoretskim i
eksperimentalnim rezultatima. Osnovni algoritam izvršava prelazak (crossover) i mutaciju na
nivou bitova. Druge varijante tretiraju hromozome kao listu brojeva koji su pokazivači na
povezane liste, asocijativne nizove, objekte ili bilo koje druge zamislive strukture podataka.
Krosing-over i mutacija se izvršavaja tako da poštuju granice tipa elementa. Za većinu tipova
podataka se mogu konstruisati operatori za varijacije. Različiti tipovi podataka kojima se
predstavljaju hromozomi rade bolje ili lošije za različite domene problema.
Kada se korsite reprezentacije u vidu nizova bitova, često se primenjuje Grejev kod. Na ovaj
način, male promene u broju mogu biti prouzrokovane mutacijama i prelascima. Ovako se
sprečava prevremena konvergencija ka takozvanim Hamingovim zidovima (eng. Hamming
walls), gde se vrlo mnogo simultanih mutacija (ili prelazaka) mora desiti da bi se hromozom
promenio na bolje.
Drugi pristupi uključuju korišćenje nizova realnih brojeva umesto nizova bitova za
reprezentaciju hromozoma. Rezultati teorije shema predlažu da što je manji alfabet, bolje su
performanse, ali je na početku istraživačima bilo vrlo neobično da su dobijali dobre rezultate
korsteći ovakav prikaz hromozoma. Ovo je objašnjeno skupom realnih vrednosti u konačnoj
populaciji hromozoma koji formira virtuelni alfabet (kada su selekcija i kombinacija
dominantne) sa manjom kardinalnosti od one očekivane od reprezentacije u pokretnom zarezu.
Proširenje pristupačnog domena problema Genetskog Algoritma se može postići kroz
kompleksno kodiranje skupa rešenja nadovezivanjem nekoliko tipova heterogeno kodiranih
gena u jedan hromozom. Ovaj pristup dozvoljava rešavanje problema optimizacije koji
zahtevaju veoma različite definicije domena za parametre problema.
6.2. Elitizam

Praktična varijanta procesa konstruisanja nove populacije je dozvoliti da se najbolji organizam


(tj. organizmi) trenutne generacije prenese u sledeću, nepromenjen. Ova strategija je poznata
kao elitistička selekcija i osigruava da se kvalitet rešenja dobijenog genetskim algoritmom neće
smanjivati iz generacije u generaciju.

6.3. Paralelna implementacija

Paralelne implementacije genetskih algoritama dolaze u dve vrste. „Krupnozrnasti“ (eng.


coarse-grained) paralelni genetski algoritmi pretpostavljaju da postoji populacija na svakom
čvoru i migracija pojedinaca između čvorova. „Sitnozrnasti“ (eng. fine-grained) paralelni
genetski algoritmi pretpostavljaju da postoji pojedinac na svakom čvoru koji interaguje sa
susednim pojedincima radi selekcije i reprodukcije. Druge varijante, kao na primer genetski
algoritmi za online probleme optimizacije, uvode zavisnost od vremena ili „buku“ u fitnes
funkciji.

6.4. Prilagodljivi Genetski Algoritmi

Genetski algoritmi sa prilagodljivim parametrima (prilagodljivi genetski algoritmi, PGA-mi)


su još jedna važna i obećavajuća varijanta genetskih algoritama. Verovatnoća prelaska i
mutacije značajno utiču na preciznost rešenja i brzinu konvergencije koju algoritmi mogu da
postignu. Umesto da koriste fiksne vrednosti za ove verovatnoće, PGA-mi koriste informacije
o populaciji u svakoj generaciji i prilagodljivo podešavaju verovatnoće prelaska i mutacije kako
bi zadržali raznolikost populacije ali i održali kapacitet konvergencije. U PGA-mima
podeševanja verovatnoća zavise od vrednosti fitnesa rešenja. U PGA-mima zasnovanim na
grupisanju (eng. clustering-based adaptive genetic algorithm), kroz korišćenje analize
grupisanja radi procene stanja optimizacije populacije, podešavanja verovatnoća prelaska i
mutacije zavise od ovih stanja optimizacije. Kombinovanje genetskog algoritma sa drugim
metodama optimizacije može biti vrlo efikasno. Genetski algoritam je vrlo dobar za
pronalaženje dobrih globalnih rešenja, ali isto tako vrlo neefikasan u pronalaženju poslednjih
nekoliko mutacija radi pronalaženja apsolutnog optimuma. Druge tehnike (kao na primer
pretraživanje usponom (eng. hill climbing)) su vrlo dobre u pronalaženju apsolutnog optimuma
u ograničenom intervalu. Mešanje genetskog algoritma i pretrage usponom može poboljšati
efikasnost genetskog algoritma i smanjiti grubost pretrage usponom.

Ovo znači da pravila genetske varijacije mogu imati drugačija značenja u prirodi. Na primer -
ako su koraci sačuvani uzastupno - prelazak može da sumira broj koraka majčine DNK
dodavajući korake očeve DNK itd. Štaviše, inverzni operator ima priliku da složi korake
uzastupno ili u nekom drugom pogodnom poretku, radi preživljavanja ili efikasnosti. (Videti
na primer ili primer u problemu trgovačkog putnika, a posebno korišćenje operatora
kombinacije).
Varijanta, gde populacija kao celina evoluira umesto njenih pojedinačnih pripadnika, je poznata
kao kombinacija genetskog bazena.

Razvijen je veliki broj varijanti kako bi se poboljšale performanse genetskih algoritama koji
rade na problemima sa visokim stepenom epistaze fithensa, npr. kada se fitnes rešenja sastoji
od podskupova varijabli koji međusobno interaguju. Ovi algoritmi teže tome da prvo nauče a
tek onda iskoriste ponašanje ovih korisnih fenotipskih interakcija. Kao takvi, slažu se sa
hipotezom gradivnog bloka u prilagodljivom smanjivanju loših kombinacija. Istaknuti primeri
ovog pristupa su mGA, GEMGA i LLGA.

7. DOMENI PROBLEMA
Problemi koje je vrlo prikladno rešavati genetskim algoritmom su problemi pravljenja
rasporeda i mnogi softtver koji radi na pravljenju rasporeda je zasnovan na genetskim
algoritmima. Genetski algoritmi se mogu primeniti i na inženjerstvo. [ Genetski algoritmi se
često primenjuju za rešavanje problema globalne optimizacije.

Kao generalno pravilo, genetski algoritmi mogu biti korisni u domenu problema koji imaju
kompleksan pejzaš fitnesa, kako je mešanje, na primer mutacija i prelazaka, stvoreno da bi se
populacija pomerila od lokalnog optimuma, na kome se algoritam pretrage usponommože
zaglaviti. Može se primetiti da se operatori prelaska koji se često koriste ne mogu promeniti
uniformnu populaciju.

Primeri problema koje rešava genetski algoritam su: ogledala koja su napravljena da skuplja
sunčevu svetlost u solarni kolektor , antene napravljene da primaju radio signale u svemiru, i
metodi za hodanje kod kompjuterskih figura.

U svom Algorithm Design Manual, Skiena je protiv korišćenja genetskih algoritama u bilo koje
svrhe:

„Neprirodno je modelovati aplikacije u pogledu genetskih operatora kao što su mutacije ili
krosing-over nizova bitova. Pseudobiologija dodaje još jedan nivo kompleksnosti između tebe
i tvog problema. Takođe, genetski algoritmi se dugo izvršavaju nad netrivijalnim problemima.
Analogija sa evolucijom — gde značajan napredak zahteva milione godina — može biti vrlo
prikladna.

Nikada nisam naišao na problem za koji su mi genetski algoritmi izgledali kao pravi način za
rešavanje. Takođe, nikada nisam video neke rezultate koji su dobijeni genetskim algoritmima
koji su me oduševili.“
8. KOMERCIJALNI PROIZVODI
Kasnih 1980ih, General Electric su počeli sa prodajom prvog genetskog algoritma, alat baziran
na mainframe-u napravljen za potrebe industrijede. 1989, Axcelis Inc. šalju na tržište Evolver,
prvi komercijalni softver koji koristi genetski algoritam za desktop računare. John Markoff,
kolumnista The New York Times-a zadužen za tehnologije, je pisao o Evolveru, 1990., i
Evolver je bio jedini interaktivni komercijalni genetski algoritam sve do 1995. Evolver je kupio
Palisade 1997. godine, preveden je na nekoliko jezika, i trenutno je u svojoj šestoj verziji..

9. SRODNE TEHNIKE

9.1. Roditeljske oblasti

Genetski algoritmi su podoblast:

• Evolucionih algoritama

• Evolucionog računarstva

• Metaheuristike

• Stohastičke optimizacije

• Optimizacije

9.2.Srodne oblasti

9.2.1. Evolucioni algoritmi

Evolucioni algoritmi su podoblast evolucionog porgramiranja.

• Evolucione strategije razvijaju pojedince sredstvima za mutaciju i putem posredne


ili diskretne rekombinacije. Ovi algoritmi su posebno dizajnirani da reše probleme u
domenu realnih vrednosti. Koriste samostalnu adaptaciju da prilagode parametre pretrage.
Smanjivanje samostalne adaptacije je dovelo do savremene evolucione strategije
adaptacije kovariacionih matrica (CMA-ES).

• Evoluciono programiranje obuhvata populaciju rešenja sa prvenstveno mutacijom


i selekcijom i proizvoljnom reprezentacijom. Oni koriste samostalnu adaptaciju da
prilagode parametre, i mogu da ukjuče druge varijacije operacija kao što je kombinovanje
operacija od više roditelja.
• Programiranje zasnovano na prikazu gena takođe koristi populacije kompjuterskih
programa. Ovi kompleksni kompjuterski programi su kodirani jednostavnijim linearnim
hromozomima fiksne dužine, koji su kasnije izražena kao stabla izraza. Stabla izraza
kompjuterskog programa se razvijaju zato što hromozomi prolaze mutaciju i
rekombinaciju na način sličan kakonskom GA. Zahvaljujući specijalnoj organizaciji GEP
hromozoma, ove genetske modifikacije uvek kao rezultat daju validne kompjuterske
programe.

• Genetsko programiranje je srodna tehnika koju je učinio popularnom Džon Koza


(eng. John Koza) u kojoj su kompjuterski programi, umesto parametara funkcije,
optimizovani. Genetsko programiranje često koristi strukture podataka bazirane na
stablima za predstavljanje kompjuterskih programa za adaptaciju umesto strukturu listi
tipičnu za genetske algoritme.

• Interaktivni evolucioni algoritmi su evolucioni algoritmi koji koriste ljudsku


evoluciju. Često su primenjeni u domenima gde je teško dizajnirati računsku fitnes
funkciju, na primer, razvijanje slika, muzika, umetnički dizajn i oblici koji će se uklopiti u
estetski ukus korisnika.

9.2.2. Inteligencija roja

Inteligencija roja je podoblast evolucionog programiranja.

• Optimizacija kolonije mrava koristi mnogo mrava da prolaze kroz prostor rešenja i
pronađu lokalne produktivne oblasti. Iako je inače lošiji u odnosu na genetske algoritme i
druge oblike lokalne pretrage, u stanju je da proizvede rešenja za probleme za koje ne
može da se postigne ni globalna ni najnovija perspektiva, pa samim tim ni druge metode
ne mogu biti primenjene.

• Optimizacija roja čestica (PSO) je računska metoda za optimizaciju više


parametara koji se koriti u pristupu zasnovanom na populaciji. Populacija (jato)
kandidatskih rešenja (čestica) se kreće u potrazi za prostorom, i na kretanje čestica utiču i
njihova najbolja pozicija i najbolja pozicija jata. Kao i genetski algoritam, ovaj metod
zavisi od informacija koje se dele između članova populacije. Kod nekih problema PSO je
često računski efikasniji od GA-a, pogotovo kod nekonstantnih problema sa stalnim
promenljivama.

9.2.3. Drugi evolucioni kompjuterski algoritmi

Evolutivno izračunavanje je podoblast metaheurističkih metoda

• Harmonijska pretraga (HS) je algoritam koji oponaša ponašanje muzičara u


procesu improvizacije.
• Bakteriološki algoritmi (BA) su inspirisani evolutivnom ekologijom i, još
preciznije, bakeriološkom adaptacijom. Evolutivna ekologija je oblast proučavanja živih
organizama u smislu njihovog okruženja sa ciljem da otkrije kako se oni prilagođavaju.
Osnovni koncept je da u heterogenoj sredini se ne može pronaći jedna jedinka koja se
uklapa u celu okolinu. Dakle, treba da se razmišlja na nivou cele populacije. Takođe se
veruje da se BA-i mogu uspešno primeniti na složene probleme pozicioniranja(antena za
mobilne telefone, urnbanistički planovi itd.) ili data mining.

• Diferencijalni algoritam za pretragu (DS) je inspirisan migracijom


superorganizama.

9.2.4. Druge metode metaheuristike

Metaheurističke metode široko spadaju u stohastičke metode za optimizaciju

• Tabu pretraga: prelazi po polju rešenja testiranjem mutacija pojedinačnog rešenja.


Generiše mnogo mutiranih rešenja i prelazi na rešnje najmanje energije od svih
generisanih. Kako bi se izbeglo vrtenje u krug i podržala što raznovrsnije kretanje kroz
prostor rešenja, čuva se tabu lista parcijalnih ili kompletnih rešenja. Zabranjeno je preći u
rešenje koje sadrži elemente iz liste, koja se redovno menja i dopunjuje.

• Optimizacija ekstremuma: Za razliku od genetskih algoritama, koji rade sa


populacijom rešenja kandidata, ovaj algoritam razvija jedinstveno rešenje i pravi
modifikacije nad najgorim komponentama. Glavni princip iza ovog algoritma je
poboljšavanje kroz selektivno uklanjanje komponenti lošeg kvaliteta i menjanje istih
nasumično izabranim komponentama. Ovo je definitivno suprotno od genetskog
algoritma koji bira dobra rešenja i pokušava da napravi još bolja.

Druge stohastičke metode optimizacije

• Metod unakrsne entropije generiše rešenja kandidate preko parametrizovane


raspodele verovatnoće. Parametri se ažuriraju putem minimizacije unakrsnom
entropijeom, kako bi se generisali bolji uzorci u sledećoj iteraciji.

• Reaktivna optimizacija pretrage (eng. reactive search optimization (RSO))


podržava integraciju tehnika mašinskog učenja u heuristiku pretrage za rešavanje
kompleksnih problema optimizacije. Reč „reaktivna“ nagoveštava postojanje spremnog
odgovora na događaje tokom pretrage kroz petlju internih online povratnih informacija
radi samopodešavanja kritičnih parametara. Metodologije od interesa za reaktivnu
pretragu uključuju mašinsko učenje i statistiku.
10. ZAKLJUČAK
Genetski algoritmi predstavljaju jednostavan pristup složenim problemima pretrage velikog
prostora. Korištenjem modela učenja i evolucije iz prirode omogućuju modeliranje željenih
osobina sustava, te automatsko pronalaženje rješenja. U opisanim programskim rješenjima
pokazano je kako je apstraktne modele genetskog algoritma moguće primjeniti i na stvarnim
problemima s različitih područja. Ostvareni rezultati, iako pokazuju zadovoljavajuća rješenja,
ne osiguravaju uvijek nalaženje optimalnog rješenja. Prilikom izrade genetskog algoritma
potrebno je dizajnirati slijedeće:

 Funkciju dobrote
 Selekciju
 Jedinke
 Operatore
 Uvjet završetka rada
 Parametre
o Veličinu populacije
o Vjerojatnost primjene operatora
LITERATURA

1. Mitchell, Melanie (1996). An Introduction to Genetic Algorithms. Cambridge: MA: MIT Press.
стр. 2. ISBN 9780585030944.
2. Haupt i Haupt, pp. 29 i 52
3. Whitley, Darrell (1994). "A genetic algorithm tutorial". Statistics and Computing. стр. 65—85.
4. Eiben, A. E. et al . "Genetic algorithms with multi-parent recombination". PPSN III: Proceedings of the
International Conference on Evolutionary Computation. The Third Conference on Parallel Problem
Solving from Nature: 78-87. 1994. ISBN 3-540-58484-6.
5. Ting, Chuan-Kang . "On the Mean Convergence Time of Multi-parent Genetic Algorithms Without
Selection". Advances in Artificial Life: 403-412. 2005. ISBN 978-3-540-28848-0.
6. Akbari, Ziarati (2010). "A multilevel evolutionary algorithm for optimizing numerical functions" IJIEC 2
(2011): 419-430 [1]
7. Goldberg, David (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Reading:
MA: Addison-Wesley Professional. стр. 41. ISBN 978-0201157673.
8. Taherdangkoo, Mohammad; Paziresh, Mahsa; Yazdi, Mehran; Bagheri, Mohammad Hadi (19
November 2012). "An efficient algorithm for function optimization: modified stem cells algorithm".
Central European Journal of Engineering 3 (1): 36–50. doi:10.2478/s13531-012-0047-8.
9. Wolpert, D.H., Macready, W.G., 1995. No Free Lunch Theorems for Optimisation. Santa Fe Institute,
SFI-TR-05-010, Santa Fe.
10. Goldberg, David E. (1991). „The theory of virtual alphabets”. Parallel Problem Solving from Nature,
Lecture Notes in Computer Science. 496: 13—22. doi:10.1007/BFb0029726. Приступљено 2. 7.
2013.
11. Janikow, C. Z.; Michalewicz, Z. (1991). „An Experimental Comparison of Binary and Floating Point
Representations in Genetic Algorithms” (PDF). Proceedings of the Fourth International Conference on
Genetic Algorithms: 31—36. Приступљено 2. 7. 2013.
12. Patrascu, M.; Stancu, A.F.; Pop, F. (2014). „HELGA: a heterogeneous encoding lifelike genetic
algorithm for population evolution modeling and simulation”. Soft Computing. 18: 2565—
2576. doi:10.1007/s00500-014-1401-y.
13. Baluja, Shumeet; Caruana, Rich (1995). Removing the genetics from the standard genetic
algorithm (PDF). ICML.
14. Srinivas. M and Patnaik. L, "Adaptive probabilities of crossover and mutation in genetic algorithms,"
IEEE Transactions on System, Man and Cybernetics, vol.24, no.4, pp. 656-667, 1994.
15. ZHANG. J, Chung. H and Lo. W. L, "Clustering-Based Adaptive Crossover and Mutation Probabilities
for Genetic Algorithms", IEEE Transactions on Evolutionary Computation vol.11, no.3. стр. 326-335,
2007.

You might also like