You are on page 1of 28

Genetski algoritmi

Goran Šimić
Opšte
 Genetski algoritam (GA) je tehnika
pretraživanja koja koristi heuristiku za
nalaženje tačnog ili aproksimativnog
rešenja pretrage.
 GA je vrsta tzv. evolucioinarnih algoritama
u kojima se koriste tehnike – genetički
operatori kao što su nasleđivanje
selekcija, mutacija i rekombinovanje
Ideja
 Umesto da se optimizira jedno rešenje,
radi se sa više (populacijom) rešenja
kandidata (kodiranim kao hromozomima).
 Hromozomi se sastoje od gena (nezavisne
varijable) koji su bitni za rešavanje
problema
Ideja
 Određuju se parametri kompetentni za
problem i konstruišu se hromozomi
 Hromozom je predstavljen sa 2
jedinstvena nezavisna parametra.
 Parametri su obično osnovnog tipa
(stringovi, celi ili realni brojevi)
Ideja
 Genetički operatori se primenjuju na
izabrane hromozome iz populacije što
rezultira pjavljivanje boljih/pogodnijih
hromozoma
 U ovoj aktivnosti koristi se teorema
Holland-ove šeme
Genetički algoritam
Inicijalizacija

 Veličina populacije zavisi od domena


problema (red 100-1000)
 Populacija praktično predstavlja prostor
pretraživanja
 Inicijalna populacija hromozoma
(kandidata rešenja) može se generisati
random generatorom
Inicijalizacija
 Inicijalizacija se može izvršiti sejanjem već
korišćenih (poznatih) hromozoma

Napomena:
GA će biti efikasniji ukoliko
Populacija sadrži različitije
hromozome
Evaluacija
 Evaluacija predstavlja merenje kako svaki
hromozom rešava problem
 Hromozom se dekodira u varijable
prostora problema
Evaluacija
 Vrši se provera rezultata problema sa
datim vrednostima varijabli
 Odgovaranje (fitness) se meri na osnovu
ovog merenja
Selekcija
 Najvažnija
 Hromozomi se selektuju za propagaciju u
sledeću populaciju

C2 je 2 puta odabran za propagaciju C1 nije odabran za propagaciju


C3 je 2 puta odabran za propagaciju C4 nije odabran za propagaciju
C5 je 1 puta odabran za propagaciju
Selekcija
 Zapravo time se formira sledeća
generacija hromozoma
 Kriterijum selekcije je pogodnost (fitness)
 Problem smanjivanja različitosti –
smanjuje se efikasnost algoritma u
sledećoj generacaiji
Selekcija stringova – Holland shema
 Šema je šablon po kom se izdvaja
podskup stringova koji ima sličnosti
 Npr.šema 1**0*1 opisuje skup stringova
koji su dužine 6 sa jedinicama na
pozicijama 1 i 6 i nulama na poziciji 4
Selekcija stringova – Holland shema
 Atributi šeme su
 broj karaktera koji su specificirani (schema
order)
 Definisana dužina – rastojanje između prve i
poslednje specificirane pozicije (defined
length)
 U primeru 1**0*1
 schema order = 3
 defined length = 5
Selekcija stringova – Holland shema
 Šema i hromozom u GA predstavljaju
analogne koncepe
 Gen.operatori (ukrštanje i mutacija) se
mogu primeniti na šemi
 Šeme sa manjim redom i kraćom dužinom
imaju veću verovatnoću preživaljavanja u
narednoj generaciji
Selekcija stringova – Holland shema

 m(h,t) – broj šema h u generaciji t


 f(h) – prilagođenost šeme h

at – prosečna prilagođenost šema u


generaciji t.
 p- verovatnoća uništenja šeme h usled
ukrštanja i mutacija
Rekombinacija
 Parovi hromozoma se rekombinuju (mogu
se i modifikovati), vraćaju u populaciju kao
sledeća generacija
 U ovom koraku primenjuju se genetičke
operacije (nasleđivanje, mutacija i
rekombinovanje)
Genetski operatori - ukrštanje
 Ukrštanje (crossover) – 2 hromozoma se
dele na slučajnim mestima, menjaju se
umakrst podeljeni delovi što rezultuje
pojavom 2 nova hromozoma.
 Hromozom može biti podeljen na 1 ili više
mesta
Genetski operatori
 Ukrštanje ne unosi novi genetski materijal,
ali se u populaciji pojavljuju novi
hromozomi (deca) kao novi kandidati za
rešenja
Genetski operatori - mutacija
 Mutacija (mutation) – uvođenje slučajne
promene unutar hromozoma (1 ili više)
 Mutacija unosi novi materijal u populaciju
 Mutacijom se proširuje populacija ali se
uvođenjem novij gena (varijabli) proširuje
i prostor rešenja
Rekombinacija
 Originalni skup hromozoma su roditelji
 Rekombinovani hromozomi su deca
Iteracija
 Genetski algoritam se ponavlja sve do
evaluiranja da je problem rešen
 Trebalo bi postaviti rezervna rešenja
 Konvergencija
 Maksimalan broj generacija
Primer
 Treba naći par parametara koji
maksimizira funkciju
Primer - inicijalizacija
 Pošto figurišu 2 varijable, pravimo
hromozome od 2 gena (x,y)
 Zatim punimo inicijalnu populaciju
(inicijalizacija)
 Koristimo generator slučajnih brojeva
(parova)
Primer - evaluacija
 Sledi evaluacija pojedinačnih hromozoma
 Evaluacija (pogodnost hromozoma)
procenjuje se na osnovu zadate
funkcionalne jednačine.
 Hromozomi koji daju veću vrednost
funkcije više odgovaraju
Primer - selekcija

 C1 je najneaadekvatniji tako da se ne
koristi kao roditelj za ukrštanje
 Formiraju se 2 para roditelja: (C0,C3) i
(C2,C3)
Primer - rekombinacija
 Pošto postoje 2 gena u hromozomima, vrši
se ukrštanje njihovom zamenom
 Formiraju se 2 para roditelja: (C0,C3) i
(C2,C3)
Primer - rekombinacija
 Ukrštanjem se postigao znatan napredak:
 Dobijen je mnogo pogodniji hromozom (daje
skoro duplo veći maksimum)
 Dobijena je veća prilagođenost populacije
(srednja vrednost fitness-a je porasla sa 0.231
na 0.39)
1. generacija

2. generacija

You might also like