Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
SVEUČILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
DIPLOMSKI RAD br. 540
Evolucijski algoritmi temeljeni navjerojatnosnim razdiobama
Karlo Knežević
Zagreb, lipanj 2013.
Umjesto ove stranice umetnite izvornik Vašeg rada.
Da bi ste uklonili ovu stranicu obrišite naredbu \izvornik.
Zahvaljujem svojim prijateljima Andriji, Borisu, Kristijanu i Nikoli što su doprinjeli
izradi ovog diplomskog rada (testiranju, prevod̄enju i lektoriranju) i bili moja desna
ruka, snažna podrška i motivatori svih godina mog studija.
Hvala kolegi Ivi Majiću što me naučio koristiti mnoge tehnologije (neke su korištene
prilikom izrade ovog rada) i kvalitetnoj suradnji i pomoći na mnogim projektima.
Hvala prof. dr. sc. Domagoju Jakoboviću, mom mentoru na preddiplomskom i diplom-
skom studiju, na razumijevanju, savjetima i podršci.
Na kraju, najveća hvala mojoj mami i sestri na bezuvjetnoj ljubavi, odricanju i razu-
mijevanju — bez vas ovaj rad nikad ne bi bio napisan.
iii
SADRŽAJ
Popis slika vi
Popis tablica viii
Popis algoritama ix
1. Uvod 1
2. Klasični genetski algoritmi 32.1. Evolucijsko računanje . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Genetski algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Prikaz rješenja i generiranje početne populacije . . . . . . . . 6
2.2.2. Selekcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3. Reprodukcija . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Teorem sheme i hipoteza grad̄evnih blokova . . . . . . . . . . . . . . 10
2.4. Mane genetskog algoritma . . . . . . . . . . . . . . . . . . . . . . . 11
3. Vjerojatnosni modeli 133.1. Osnovni pojmovi teorije vjerojatnosti . . . . . . . . . . . . . . . . . 13
3.2. Teorijske razdiobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.1. Binomna razdioba . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.2. Normalna ili Gaussova razdioba . . . . . . . . . . . . . . . . 16
3.3. Procjena parametara . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4. Laplaceovo zaglad̄ivanje . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5. Bayesova mreža . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6. Teorija informacije . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6.1. Entropija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6.2. Kullback-Leiblerova udaljenost . . . . . . . . . . . . . . . . 22
iv
4. Algoritmi temeljeni na vjerojatnosnim razdiobama 234.1. Osnovna načela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2. Podjela algoritama temeljenih na vjerojatnosnim razdiobama . . . . . 26
4.2.1. Zavisnost gena izmed̄u varijabli . . . . . . . . . . . . . . . . 26
4.2.2. Način zapisa rješenja u genotipu . . . . . . . . . . . . . . . . 27
4.2.3. Način optimizacije . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.4. Grafički vjerojatnosni modeli . . . . . . . . . . . . . . . . . 28
4.2.5. Ostale varijante algoritama zasnovanih na vjerojatnosnim raz-
diobama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3. Opis algoritama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.1. Univarijantni algoritmi . . . . . . . . . . . . . . . . . . . . . 29
4.3.2. Bivarijantni algoritmi . . . . . . . . . . . . . . . . . . . . . . 36
4.4. Hibridizacija algoritama . . . . . . . . . . . . . . . . . . . . . . . . 41
5. Optimizacijski problemi 445.1. Kombinatorička optimizacija . . . . . . . . . . . . . . . . . . . . . . 44
5.2. Optimizacija kontinuiranih funkcija . . . . . . . . . . . . . . . . . . 45
5.3. Optimizacija decepcijskih funkcija . . . . . . . . . . . . . . . . . . . 46
6. Radna okolina EDAF 496.1. Opis paketa radne okoline . . . . . . . . . . . . . . . . . . . . . . . 49
6.1.1. Paket algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.1.2. Paket genotype . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1.3. Paket selection . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1.4. Paket statistics . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2. Baza rezultata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7. Rezultati 567.1. Kombinatorička optimizacija balansiranih Booleovih funkcija . . . . 57
7.2. Optimizacija BBOB kontinuiranih funkcija . . . . . . . . . . . . . . 60
7.3. Optimizacija decepcijskih funkcija . . . . . . . . . . . . . . . . . . . 65
8. Zaključak 71
Literatura 73
v
POPIS SLIKA
2.1. Optimizacijske metode . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Evolucijsko računanje . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Vrste selekcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4. Mane genetskog algoritma . . . . . . . . . . . . . . . . . . . . . . . 12
3.1. Binomna razdioba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Bernoullijeva razdioba . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Normalna razdioba . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4. Bayesova mreža . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1. Primjer EDA ciklusa za decepcijsku funkciju OneMax [17] . . . . . . 25
4.2. Bayesova mreža za univarijantne algoritme . . . . . . . . . . . . . . 30
4.3. Bayesova mreža za MIMIC . . . . . . . . . . . . . . . . . . . . . . . 36
4.4. Bayesova mreža za BMDA . . . . . . . . . . . . . . . . . . . . . . . 39
4.5. Prikaz hibridnog evolucijskog algoritma [19] . . . . . . . . . . . . . 42
5.1. Funkcija f3, Rastriginova funkcija . . . . . . . . . . . . . . . . . . . 46
6.1. Paketni UML dijagram radne okoline EDAF . . . . . . . . . . . . . . 49
6.2. UML dijagram razreda paketa algorithm . . . . . . . . . . . . . . . . 50
6.3. UML dijagram razreda paketa genotype . . . . . . . . . . . . . . . . 51
6.4. UML dijagram razreda paketa selection . . . . . . . . . . . . . . . . 51
6.5. UML dijagram razreda paketa statistics . . . . . . . . . . . . . . . . 53
6.6. Paketni UML dijagram baze rezultata . . . . . . . . . . . . . . . . . 53
6.7. UML dijagram modela baze rezultata . . . . . . . . . . . . . . . . . 54
7.1. Graf parametara GAG-UMDA hibridnog algoritma prilikom kombina-
toričke optimizacije Booleovih funkcija . . . . . . . . . . . . . . . . 60
7.2. Grafički prikaz rezultata iz tablice 7.12 prema kriteriju min . . . . . . 67
vi
7.3. Grafički prikaz rezultata iz tablice 7.12 prema svim promatranim kri-
terijima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.4. Graf parametara GAG-BMDA hibridnog algoritma prilikom optimiza-
cije decepcijskog problema trećeg reda . . . . . . . . . . . . . . . . . 70
7.5. Graf parametara GAG-PBIL hibridnog algoritma prilikom optimiza-
cije decepcijskog problema trećeg reda . . . . . . . . . . . . . . . . . 70
vii
POPIS TABLICA
4.1. Kvantili χ2 razdiobe s jednim stupnjem slobode . . . . . . . . . . . . 39
5.1. Nezašumljene funkcije COCO biblioteke . . . . . . . . . . . . . . . 47
7.1. Opći parametri optimizacije balansiranih Booleovih funkcija . . . . . 57
7.2. Najbolji rezultati optimizacije balansiranih Booleovih funkcija prema
kriteriju min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.3. Najbolji rezultati optimizacije balansiranih Booleovih funkcija prema
kriteriju max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.4. Najbolji rezultati optimizacije balansiranih Booleovih funkcija prema
kriteriju avg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597.5. Najbolji rezultati optimizacije balansiranih Booleovih funkcija prema
kriteriju std . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597.6. Najbolji algoritmi za kriterije vrednovanja . . . . . . . . . . . . . . . 59
7.7. Opći parametri optimizacije BBOB kontinuiranih funkcija . . . . . . 60
7.8. Rezultati najboljih algoritama za BBOB funkcije prema kriteriju min 617.9. Rezultati najboljih algoritama za BBOB funkcije prema kriteriju max 627.10. Rezultati najboljih algoritama za BBOB funkcije prema kriteriju avg . 637.11. Rezultati najboljih algoritama za BBOB funkcije prema kriteriju std . 647.12. Prosječan rang algoritma prema svim kriterijima . . . . . . . . . . . . 65
7.13. Najbolji algoritmi za kontinuiranu optimizaciju obzirom na sve krite-
rije usporedbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.14. Opći parametri optimizacije decepcijskih funkcija binarnim genotipom 68
7.15. Najbolji rezultati optimizacije potpunog decepcijskog problema prema
kriteriju min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687.16. Najbolji rezultati optimizacije decepcijskog problema trećeg reda bi-
narnim genotipom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
viii
7.17. Najbolji rezultati optimizacije decepcijskog problema trećeg reda ge-
notipom broja s pomičnom točkom prema kriteriju min . . . . . . . . 69
ix
POPIS ALGORITAMA
2.1. Genetski algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Eliminacijski genetski algoritam . . . . . . . . . . . . . . . . . . . . 8
2.3. Generacijski genetski algoritam . . . . . . . . . . . . . . . . . . . . 8
4.1. Opći pseudokod algoritama temeljenih na vjerojatnosnim razdiobama 24
4.2. Pseudokod algoritma postupnog učenja temeljenog na populaciji s bi-
narnim genotipom jedinke . . . . . . . . . . . . . . . . . . . . . . . 30
4.3. Pseudokod algoritma postupnog učenja temeljenog na populaciji s je-
dinkama genotipa brojeva s pomičnom točkom . . . . . . . . . . . . 31
4.4. Pseudokod osnovne inačice cjelovitog genetskog algoritma . . . . . . 34
4.5. Pseudokod složenije inačice cjelovitog genetskog algoritma . . . . . . 35
4.6. Pohlepni algoritam za pronalazak aproksimacijskog vektora π∗ . . . . 37
4.7. Pseudokod MIMIC algoritma . . . . . . . . . . . . . . . . . . . . . . 38
4.8. Stvaranje vjerojatnosnog modela u BMDA . . . . . . . . . . . . . . . 40
4.9. Hibridni evolucijski algoritam . . . . . . . . . . . . . . . . . . . . . 41
4.10. Dinamički izračun udjela jedinki hibridnih algoritama u populaciji . . 43
x
1. Uvod
U prirodnoj evoluciji, jedinke populacije natječu se u preživljavanju i reprodukciji.
Relativna dobrota jedinke odred̄uje vjerojatnost da jedinka preživi i rasplodi se. Prema
Darwinovoj teoriji, proces prirodne selekcije odgovoran je za razvoj svih živih bića na
Zemlji. Darwinova teorija razvoja vrsta temelji se na 5 pretpostavki navedenih u [3].
Genetski algoritam prirodom je inspiriran algoritam nastao kao pokušaj računalne
imitacije procesa evolucije. Jedinke genetskog algoritma, prikazane brojčanim ili ne-
kim složenijim genotipom, prolaze kroz jednake procese kao i živa bića u prirodi:
selekciju, reprodukciju i umiranje. Genetski algoritam pokazao se kao vrlo uspješna
metoda optimizacije, ali općeniti dokaz konvergencije ne postoji. Teorem sheme i
hipoteza grad̄evnih blokova nastaju kao pokušaj objašnjenja zašto genetski algoritam
ispravno provodi postupak optimizacije, med̄utim empirijska istraživanja pokazala su
da nije jednostavno postići da genetski algoritam uspješno radi i da postoje odred̄ene
kontradikcije izmed̄u teorema sheme i hipoteze grad̄evnih blokova.
Kao odgovor na probleme genetskog algoritma nastaje nova porodica evolucijskih
algoritama koji se temelje na vjerojatnosnim razdiobama, EDA (engl. Estimation of
Distribution Algorithms). Ovakvi evolucijski algoritmi sadrže metode za automatsko
učenje i prilagodbu problemu optimizacije. Proces reprodukcije iz genetskog algo-
ritma zamijenjen je procjenom parametara razdiobe kojoj se pokorava populacija te
stvaranjem novih jedinki uzorkovanjem te iste distribucije. Korištenjem vjerojatnos-
nih razdioba izbjegava se gubitak dobrog genetskog materijala koji se kod genetskog
algoritma mogao dogoditi.
U okviru ovog diplomskog rada opisane su inačice genetskog algoritma, definirani
pojmovi teorije vjerojatnosti i statistike i objašnjen rad nekih algoritama zasnovanih na
vjerojatnosnim razdiobama. Programski je ostvarena radna okolina EDAF (engl. Esti-
mation of Distribution Algorithms Framework) kojom su vršena testiranja na optimi-
zacijskim funkcijama različitih karakteristika (diskretne i kontinuirane funkcije).
U poglavlju 2 opisane su inačice genetskog algoritma, genetski operatori, načini
prikaza genotipa te objašnjen teorem sheme i hipoteza grad̄evnih blokova. U poglav-
1
lju 3 definirani su osnovni pojmovi teorije vjerojatnosti, navedene najčešće korištene
razdiobe u EDA porodici algoritama, načini procjene parametara razdioba te informa-
cijske mjere potrebne za implementaciju nekih algoritama. U poglavlju 4 opisani su
implementirani univarijantni i bivarijantni algoritmi zasnovani na vjerojatnosnim raz-
diobama. Poglavlje 5 navodi optimizacijske probleme na kojima su ispitani algoritmi,
a poglavlje 6 opisuje implementaciju radne okoline EDAF. U poglavlju 7 prikazani su
rezultati ispitivanja.
2
2. Klasični genetski algoritmi
Genetski algoritmi (engl. genetic algorithms) pripadaju razredu optimizacijskih me-
toda koje imitiraju prirodnu evoluciju da bi riješile probleme različitih domena. Opće-
nito, optimizacijske metode mogu se podijeliti u tri široke kategorije prikazane slikom
2.1 [17]. Egzaktne metode prikladne su za ograničen skup dobro opisanih sustava. Za
Optimizacijske metode
Egzaktne metode Aproksimativne metode
Slika 2.1: Optimizacijske metode
odred̄ene probleme broj mogućih rješenja može biti izrazito velik pa korištenje kons-
trukcijskih algoritama 1 može biti prostorno i vremenski vrlo zahtjevno. Metode koje
1Heuristički algoritmi mogu sadržavati konstruktivne, poboljšavajuće ili hibridne heuristike. Kons-
truktivne heuristike evaluiraju parcijalna rješenja i završavaju s radom kada je stvoreno cjelovito rješenje
(npr. pohlepni algoritmi). Poboljšavajuće heuristike evaluiraju potpuna rješenja (npr. heuristike inspiri-
rane prirodom).
3
koriste pretraživanje prostora rješenja koristeći stohastiku, na primjer genetski algo-
ritam, pružaju robustan i dobro prilagodljiv način pretrage, čak i nepoznatih sustava
(engl. black-box optimization). Takve metode mogu sadržavati i dodatnu informaciju,
na primjer heuristiku, s ciljem redukcije prostora pretrage i što bržim i točnijim prona-
laskom rješenja.
2.1. Evolucijsko računanje
Evolucijsko računanje je područje računarske znanosti koje razmatra algoritme koji si-
muliraju evolucijski razvoj vrsta, život i ponašanje jedinke u društvu ili pak simuliraju
različite aspekte umjetnog života [4]. U pravilu, svi ovi algoritmi su populacijski al-
goritmi, iako ponekad se zna dogoditi da se populacija svede na samo jednu jedinku.
Takod̄er, najveći dio algoritama evolucijskog računanja nastao je modeliranjem pro-
cesa koji su opaženi u prirodi, tj. imaju jaku biološku motivaciju; dakako, niti ovo nije
pravilo — postoje algoritmi koji nemaju analogiju s procesima u prirodi.
Zajednička obilježja većine algoritama ovog područja je prikladnost za rješavanje
optimizacijskih problema. Uporabom prikladnih algoritama evolucijskog računanja
moguće je napasti vrlo teške optimizacijske probleme koje je u praksi nemoguće ri-
ješiti iscrpnom pretragom. Pri tome su različiti algoritmi u različitoj mjeri prikladni
za pojedine vrste optimizacijskih problema: neki je moguće primijeniti samo na kom-
binatorne optimizacijske probleme, neke na probleme optimizacije nad kontinuiranim
domenama, a neke na obje vrste problema.
Razvoj ovog područja započeo je šezdesetih godina prošlog stoljeća. Područje
evolucijskog računanja kako ga znamo danas dijeli se u tri velike skupine prikazane
slikom 2.2. Područja su: evolucijski algoritmi, algoritmi rojeva te ostali algoritmi.
EvolucijskoHračunanje
EvolucijskiHalgoritmi AlgoritmiHrojeva OstaliHalgoritmiEvolucijskeHstrategije,HESEvolucijskoHprogramiranje,HEPGenetskiHalgoritam,HGAGenetskoHprogramiranje,HGP
AlgoritamHrojaHčestica,HPSOAlgoritamHkolonijeHmrava,HACOAlgoritamHkolonijeHpčela,HABCUmjetniHimunološkiHalgoritam,HAIS
AlgoritamHharmonijskeHpretrage,HHSAlgoritamHdiferencijskeHevolucije,HDE
Slika 2.2: Evolucijsko računanje
Evolucijski algoritmi definiraju se kao postupci optimiranja, učenja i modeliranja,
koji se temelje na mehanizmu evolucije u prirodi. Njihov nastanak uzrokovali su pr-
venstveno pokušaji primjene načela evolucije pri rješavanju nekih problema, ali i nas-
4
tojanja za boljim razumijevanjem samo evolucije u prirodi. Ideja evolucijskih algori-
tama je da rade s populacijom rješenja nad kojima se primjenjuju evolucijski operatori
(selekcija, križanje, mutacija) čime populacija iz generacije u generaciju postaje sve
bolja i bolja [14].
Algoritmi zasnovani na inteligenciji roja definiraju se na sličan način kao evolu-
cijski algoritmi, ali temelje se na sociološko-psihološkim principima i pružaju uvid u
sociološka ponašanja. Baziraju se na populaciji rješenja. U odnosu na evolucijske al-
goritme, ne postoji mehanizam stvaranja nove generacije iz postojeće, tj. ne postoje
evolucijski operatori, već se modeliraju individualni i socijalni faktori, čime se stvara
novo znanje i nova informacija [14].
Zajednička svojstva algoritama zasnovanih na evolucijskom računanju navedena su
u nastavku [4]:
– algoritmi su zasnovani na populaciji rješenja,
– jedinke su med̄usobno usporedive prema dobroti,
– populacija jedinki se s vremenom mijenja, evoluira jer se provodi postupak
selekcije jedinki,
– svojstva jedinki prenose se s roditelja na djecu,
– prostor rješenja se pretražuje osim usmjerenim pretraživanjem i slučajnim pro-
cesom.
2.2. Genetski algoritam
Genetski algoritam (GA) je heuristička metoda slučajnog i usmjerenog pretraživanja
prostora rješenja koja imitira prirodni evolucijski proces. Genetski algoritam, kao uso-
talom i svi algoritmi zasnovani na evolucijskom računanju, služi za rješavanje težih
optimizacijskih problema, za koje ne postoji egzaktna matematička metoda rješavanja
ili su NP-teški 2 pa se za veći broj nepoznanica ne mogu riješiti u zadanom vremenu.
Posao koji genetski algoritam obavlja može se opisati jednom rečenicom: nakon
što se generira početna populacija, genetski algoritam ciklički obavlja selekciju boljih
2NP razredi složenosti su: NP-potpun i NP-težak. Razred NP obuhvaća probleme koje je nemoguće
riješiti nedeterminističkim (Turingovim) strojem u polinomijalnom vremenu. NP problem odluke X je
NP-potpun ako se svi problemi u NP daju svesti na X u polinomijalnom vremenu. Razred NP-teških
problema sadrži sve NP-potpune probleme te algoritam koji rješava NP-težak problem, rješava i NP-
potpun problem, ali obrat ne mora vrijediti.
5
jedinki koje potom sudjeluju u reprodukciji, sve dok nije zadovoljen uvjet završetka
evolucijskog procesa. Pseudokod 2.1 prikazuje genetski algoritam.
Algoritam 2.1 Genetski algoritamwhile nije zadovoljen uvjet završetka evolucijskog procesa do
selektiraj bolje jedinke za reprodukciju
reprodukcijom generiraj novu populaciju
end while
Reprodukcija stvara nove jedinke uz pomoć genetskih operatora križanja i muta-
cije. Križanje prenosi svojstva roditelja na djecu, a mutacija slučajno mijenja svojstva
jedinke. Genetski algoritam ne specificira kako se križanjem prenose svojstva rodi-
telja na djecu, kako se slučajno mijenjaju svojstva jedinki, kako se selektiraju bolje
jedinke za reprodukciju, niti kako se generira početna populacija. Upravo je ta sloboda
u odabiru vrste križanja, mutacije, selekcije i inicijalizacije otežavajuća okolnost u
procesu izgradnje genetskog algoritma za rješavanje specifičnog optimizacijskog pro-
blema. Naime, pokazuje se da ne postoji takav skup genetskih operatora za koji bi GA,
ako se primjeni za rješavanje proizvoljnog skupa optimizacijskih problema, davao su-
periorne rezultate u odnosu na GA s nekim drugim operatorima [4].
2.2.1. Prikaz rješenja i generiranje početne populacije
Kodni prikaz rješenja naziva se genotip. Genotip se sastoji od gena, od kojih svaki
ima svoju poziciju, lokus, i vrijednost, alel. Samo rješenje naziva se fenotip. Najčešće
korišteni prikazi rješenja su:
– binarni prikaz,
– prikaz brojevima s pomičnom točkom,
– permutirani niz cijelih brojeva,
– niz brojeva,
– matrica,
– program,
– stablo te drugi.
Način djelovanja operatora u genetskom algoritmu uvelike ovisi o načinu prikaza
rješenja.
Početna populacija može se generirati na nekoliko načina, od kojih su četiri naj-
češće strategije:
6
– nasumično generiranje: pseudo-nasumično (generiranje nezavisnih vrijednosti)
ili kvazi-nasumično (generiranje nezavisnih, ali namjerno raspršenih vrijed-
nosti),
– sekvencijalna diverzifikacija: uniformno uzorkovanje prostora odlučivanja
(prostora rješenja); rješenja se generiraju u sekvencama radi optimiranja diver-
zificiranosti,
– paralelna diverzifikacija: rješenja se generiraju na paralelan nezavisni način,
– heurističko generiranje: rješenja se generiraju pomoću heuristike.
2.2.2. Selekcije
Genetski algoritmi koriste selekcijski mehanizam za odabir jedinki koje će sudjelovati
u reprodukciji. Selekcijom se omogućava prenošenje boljeg genetskog materijala iz
generacije u generaciju. Zajedničko svojstvo svih vrsta selekcija je veća vjerojatnost
odabira boljih jedinki za reprodukciju. Prema načinu prenošenja genetskog materijala
boljih jedinki u sljedeću iteraciju, postupci selekcije dijele se na:
– generacijske selekcije: selekcijom se direktno biraju bolje jedinke čiji će se
genetski materijal prenijeti u sljedeću iteraciju i
– eliminacijske selekcije: biraju se loše jedinke za eliminaciju, a bolje jedinke
prežive postupak selekcije.
Prethodno navedene dvije selekcije odred̄uju tipične izvedbe genetskog algoritma: eli-
minacijski genetski algoritam (engl. steady-state) i generacijski genetski algoritam.
Kod eliminacijskog genetskog algoritma, u svakoj generaciji, iz čitave populacije
odabiru se dva roditelja nad kojima se izvodi križanje, čime nastaju nova djeca. Djeca
se potom mutiraju i ubacuju u populaciju. Kako veličina populacije mora biti stalna,
ubacivanje se izvodi tako da dijete zamijeni neku jedinku iz populacije (primjerice,
najgoru) [3]. Pseudokod 2.2 prikazuje eliminacijski genetski algoritam.
Kod ove vrste genetskog algoritma nastalo dijete već u sljedećoj generaciji može
postati roditelj koji će se križati sa svojim pretcima i dalje stvarati potomke.
Za razliku od prethodno opisane vrste kod koje ne postoji čista granica izmed̄u ro-
ditelja i djece, generacijski genetski algoritam iz generacije u generaciju iz populacije
roditelja stvara populaciju djece koja potom postaju roditelji — stara populacija rodi-
telja time odmah izumire. Pseudokod 2.3 prikazuje generacijski genetski algoritam.
Selekcije se razlikuju prema načinu odred̄ivanja vrijednosti vjerojatnosti odabira
odred̄ene jedinke. Proporcionalne selekcije odabiru jedinke s vjerojatnošću koja je
7
Algoritam 2.2 Eliminacijski genetski algoritamP := stvoriPocetnuPopulaciju(V ELPOP )
evaluiraj(P )
while ¬zadovljenUvjetZaustavljanja() doodaberiRoditelje(R1, R2, P )
D[] = krizaj(R1, R2)
mutiraj(D[])
evaluiraj(D[])
umetniDjecu(D[], P )
end while
Algoritam 2.3 Generacijski genetski algoritamP := stvoriPocetnuPopulaciju(V ELPOP )
evaluiraj(P )
while ¬zadovljenUvjetZaustavljanja() doP ′ := []
while size(P ′) < V ELPOP doodaberiRoditelje(R1, R2, P )
D[] = krizaj(R1, R2)
mutiraj(D[])
evaluiraj(D[])
umetniDjecu(D[], P ′)
end whileP := P ′
end while
8
Vrste)selekcija
Proporcionalne)selekcije Rangirajuće)selekcije
Jednostavnaproporcionalna
selekcija
Stohastičkauniverzalna
selekcija
Sortirajuće)selekcije Turnirske)selekcije
Selekcije)najboljih Linearnosortirajućaselekcija
k-turnirskaselekcija
Jednostavna)turnirska)selekcija
(μ,λ)selekcija
(μ+λ)selekcija
Krnjaselekcija
Slika 2.3: Vrste selekcija
proporcionalna dobroti jedinke, odnosno vjerojatnost selekcije ovisi o kvocijentu do-
brote jedinke i prosječne dobrote populacije. Rangirajuće selekcije odabiru jedinke
s vjerojatnošću koja ovisi o položaju jedinke u poretku jedinki sortiranih po dobroti.
Rangirajuće selekcije dijele se na sortirajuće i turnirske selekcije. Sortirajuće selekcije
su: linearno sortirajuća selekcija, µ-λ selekcije i krnja selekcija. Turnirske selekcije
se dijele prema broju jedinki koje sudjeluju u turniru [4]. Slika 2.3 prikazuje vrste
selekcija.
2.2.3. Reprodukcija
Reprodukcija je postupak stvaranja nove populacije nakon selekcije. Reprodukcija,
kod genetskog algoritma, obuhvaća križanje i mutaciju (ili samo križanje). Operatori
križanja i mutacije ovise o vrsti prikaza rješenja.
Za binarni genotip, neki načini ostvarenja operatora reprodukcije su:
– križanje: križanje s jednom točkom prekida (engl. one-point crossover), križa-
nje s više točaka prekida (engl. N-point crossover), uniformno križanje
(engl. uniform crossover).
– mutacija: jednostavna mutacija (engl. simple mutation), potpuna miješajuća
mutacija (engl. complete circulating mutation).
Za genotip ostvaren brojevima s pomičnom točkom, neki načini ostvarenja opera-
tora reprodukcije su:
– križanje: diskretna rekombinacija (engl. Discrete recombination), jednostavna
aritmetička rekombinacija (engl. simple arithmetic recombination), jednostruka
aritmetička rekombinacija (engl. single arithmetic recombination), potpuna
aritmetička rekombinacija (engl. whole arithmetic recombination).
– mutacija: jednostavna mutacija (engl. simple mutation).
9
Za detaljniji način ostvarenja operatora i raspon parametara, i načina ostvarenja repro-
dukcije kod drugih genotipa, pogledati u [4] i [3].
2.3. Teorem sheme i hipoteza grad̄evnih blokova
Teorijske osnove genetskog algoritma, teorem sheme i hipoteza grad̄evnih blokova,
odnose se na genetski algoritam s binarnim prikazom. Kako bi teorem sheme i hipoteza
grad̄evnih blokova vrijedile, moraju vrijediti sljedeće pretpostavke:
– populacija je neograničena,
– funkcija dobrote vjerno odražava problem,
– geni u kromosomu su med̄usobno nezavisni.
Definicija 1. Shema je uzorak ili skup rješenja koja su med̄usobno različita. Sličnostse odnosi na jednakost gena na lokusima kromosoma. Ostali geni mogu mogu biti ili
isti ili različiti i označavaju se zvjezdicom: "∗".
Primjerice, shema ∗10 ∗ 1 predstavlja skup od četiri rješenja: 01001, 01011, 11001i 11011. Zvjezdica "∗" označava bilo koji znak (engl. don’t care), a u slučaju binarnoggenotipa to je 0 ili 1.
Definicija 2. Red sheme S, o(S), je broj nepromjenjivih gena, odnosno svih onihznakova sheme S koji nisu "∗":
o(s) = n− r. (2.1)
Na primjer, o(∗10 ∗ 1) = 3 i o(∗ ∗ ∗ ∗ 10 ∗ ∗ ∗ ∗) = 2.
Definicija 3. Definirana dužina sheme ili definirajući razmak, δ(S), je udaljenostizmed̄u prve i zadnje nepromjenjive znamenke.
Na primjer, δ(∗0110∗) = 5−2 = 3, δ(10∗∗0) = 5−1 = 4 i δ(∗∗0∗∗) = 3−3 = 0.
Definicija 4. (Teorem sheme). Broj jedinki koje sadrže shemu niskog reda, kratkedefinirane dužine i iznadprosječne dobrote raste eksponencijalno. Formalno zapisano:
N(S, t+ 1) ≥ N(S, t)DSD
[1− δ(S)
n− 1pc − o(S)pm +
δ(S)
n− 1o(S)pcpm
](2.2)
gdje su:
– N(S, t+ 1) očekivani broj jedinki koje su podskup sheme S u generaciji t,
10
– DS prosječna dobrota sheme,
– D prosječna dobrota populacije,
– δ(S) definirana dužina sheme,
– o(S) red sheme S,
– pc vjerojatnost križanja,
– pm vjerojatnost mutacije,
– n dužina kromosoma.
Definicija 5. (Hipoteza grad̄evnih blokova). Genetski algoritam pretražuje prostorrješenja nižući sheme niskog reda, kratke definirane dužine i iznadprosječne dobrote,
zvane grad̄evni blokovi.
Za genetski algoritam još uvijek ne postoji dokaz konvergencije i teorem3 sheme
i hipoteza grad̄evnih blokova pokušavaju formalno opisati djelovanje operatora repro-
dukcije na genotip jedinke. Za detaljnije objašnjenje teorema sheme i hipoteze grad̄ev-
nih blokova pogledati u [4] i [17].
2.4. Mane genetskog algoritma
Genetski algoritam posjeduje odred̄ene mane radi kojih ne mora točno raditi. U slu-
čaju da su geni u kromosomu med̄usobno zavisni, hipoteza grad̄evnih blokova će i
tada vrijediti ako su ti zavisni geni blizu. S druge strane, grad̄evni blokovi mogu na-
vesti genetski algoritam na krivo rješenje, tj. da konvergira lokalnom optimumu. Ta
pojava naziva se decepcija, a funkcija koja izaziva tu pojavu decepcijska ili varirajuća
funkcija. Najjednostavniji primjer decepcijske funkcije je tzv. minimalni decepcijski
problem. Potpun decepcijski problem je takav problem gdje sve kratke sheme niskog
reda koje sadrži optimalno rješenje imaju ispodprosječnu dobrotu u odnosu na ostale
sheme s istim nepromjenjivim genima. Za detaljniji opis funkcija pogledati poglavlje
5.3 i u [4].
Drugi problem leži u implicitnim pretpostavkama teorema sheme i hipotezi gra-
d̄evnih blokova. Prema teoremu sheme, shema će biti očuvana ukoliko je kratke de-
finirane dužine i iznadprosječne dobrote. Med̄utim, teorem sheme prikriveno uvodi
pretpostavku o dobroti sheme: eksplicitno se navodi iznadprosječna dobrota sheme,
3Teorem sheme nije u punom smislu riječi teorem jer ne postoji skup aksioma iz kojih se deduktivno
izvodi formula koja opisuje teorem sheme [25].
11
kratke shemeniska epistaza
povećanje reda shemevisoka epistaza
Teorem sheme Hipoteza građevnih blokova
kontradikcija!
Slika 2.4: Mane genetskog algoritma
ali implicitno uz pretpostavku da sheme med̄usobno imaju nezavisne vrijednosti do-
brote. Ipak, operator križanja, kroz generacije, mijenja genotip jedinke. Sheme za
koje vrijedi da imaju istu dobrotu unatoč križanju, neovisne su o genetskom kontekstu
(vrijednost na mjestu zvjezdice, ∗, u shemi nije bitan). Obratno, sheme kod kojih sevrijednost dobrote mijenja križanjem ovisne su o genetskom kontekstu. Takvo pona-
šanje naziva se epistaza [17].
Definicija 6. Epistaza je pojava u kojoj vrijednost jednog gena ovisi o prisutnostijednog ili više modifikatora gena.
Pokazuje se da za tipičnu vrijednost dobrote i tipičnu duljinu genotipa pretpostavke
o kratkoći sheme i niskoj epistazi ne vrijede (slika 2.4).
Jedan od većih problema, koji ujedno može potrošiti i puno vremena, jest iznos pa-
rametara operatora genetskog algoritma. Djelotvoran evolucijski algoritam ima urav-
noteženo slučajno i usmjereno pretraživanje prostora rješenja i uravnoteženu selekciju
roditelja i selekciju jedinki za novu populaciju. Ta ravnoteža postiže se ugad̄anjem
parametara. Budući da ne postoji jednoznačan izraz koji odred̄uje iznose vrijednosti
vjerojatnost mutacije, križanja, parametara selekcije i ostalih parametara, ti iznosi naj-
češće se odred̄uju eksperimentalno ili iskustvenim pretraživanjem domene oko odre-
d̄ene vrijednosti. U [4] i [10] mogu se pronaći karakteristične vrijednosti parametara i
karakteristične krivulje parametara u ovisnosti o drugim parametrima genetskog algo-
ritma.
12
3. Vjerojatnosni modeli
Srž algoritama temeljenih na vjerojatnosnim razdiobama su teorija vjerojatnosti i sta-
tistika. U ovom poglavlju razmatraju se osnovni koncepti ključni za razumijevanje
algoritama temeljenih na vjerojatnosnim razdiobama. Fokus je stavljen na diskretnu
slučajnu varijablu, a za kontinuiranu pogledati u [7].
3.1. Osnovni pojmovi teorije vjerojatnosti
Diskretno statističko obilježje interpretira se kao diskretna slučajna varijabla X sa za-
danim skupom vrijednosti {xi}. Vrijednost P (X = x) jest vjerojatnost da slučajnavarijabla X poprimi vrijednost x, tj. vjerojatnost da se slučajna varijabla X ostvari
kao x. U nastavku se izraz P (X = x) kraće zapiše kao P (x). Vrijedi P (xi) ≥ 0 i∑i P (xi) = 1, čime je definirana diskretna razdioba (distribucija) vjerojatnosti [22].
Vjerojatnost da slučajna varijabla X poprimi vrijednost x i da slučajna varijabla Y
poprimi vrijednost y piše se kao P (X = x, Y = y), odnosno kraće P (x, y), i naziva
se zajednička vjerojatnost (engl. joint probability). Korištenjem pravila zbroja
P (x) =∑y
P (x, y) (3.1)
varijabla Y može se marginalizirati, odnosno može se izračunati marginalna vjerojat-
nost P (x) varijable X . Na sličan način može se marginalizirati varijable X , odnosno
izračunati marginalna vjerojatnost P (y) varijable Y .
Uvjetna vjerojatnost P (y|x), odnosno vjerojatnost da varijabla Y poprimi vrijed-nost y, pod uvjetom da je varijabla X poprimila vrijednost x, definirana je kao
P (y|x) = P (x, y)P (x)
(3.2)
što se često iskazuje kao pravilo umnoška
P (x, y) = P (y|x)P (x). (3.3)
13
Budući da vrijedi simetričnost P (x, y) = P (y, x), primjenom pravila umnoška na
lijevu i desnu stranu jednakosti, dobiva se
P (x|y)P (y) = P (y|x)P (x) (3.4)
iz čega slijedi Bayesovo pravilo
P (y|x) = P (x|y)P (y)P (x)
. (3.5)
Prosječna vrijednost diskretne slučajne varijable X , čija je razdioba P (x), naziva
se matematičko očekivanje varijable X i definira se kao
E[X] =∑x
xP (x). (3.6)
Varijanca slučajne varijable X iskazuje koliko vrijednosti varijable variraju oko očeki-
vane vrijednosti:
V ar(X) = σ2X = E[(X − E[X])2] = E[X2]− E[X]2. (3.7)
Definicija 7. Dvije slučajne varijable X i Y su stohastički nezavisne akko za sve in-tervale A i B, A,B ⊆ R, vrijedi
P (X ∈ A, Y ∈ B) = P (X ∈ A)P (Y ∈ B). (3.8)
Definicija 8. Slučajne varijable X i Y su uvjetno nezavisne uz danu varijablu Z, uoznaci X ⊥ Y |Z, akko
P (X, Y |Z) = P (X|Z)P (Y |Z). (3.9)
Intuitivno, varijable X i Y su uvjetno nezavisne ako, jednom kada je poznat ishod
varijable Z, znanje o ishodu varijable Y ni na koji način ne utječe na ishod varijable
X . Općenito, nezavisnost varijabli X i Y ne implicira njihovu uvjetnu nezavisnost
ni po kojoj varijabli, niti obrnuto. Varijable su zavisne ako nisu nezavisne ili uvjetno
nezavisne.
3.2. Teorijske razdiobe
U nastavku slijede dvije najvažnije i najčešće korištene razdiobe kod algoritama teme-
ljenih na vjerojatnosnim razdiobama [8][6].
14
0.00
0.02
0.05
0.07
0.10
0.12
0.14
0.17
0.19
0.22
0.24
0 5 10 15 20 25
P(k|
n,µ)
k
Graf binomne razdiobe, n=25 i µ=0.35
Slika 3.1: Binomna razdioba
3.2.1. Binomna razdioba
Vjerojatno najvažnija diskretna razdioba jest binomna. Neka je µ vjerojatnost realiza-
cije dogad̄aja A pri izvod̄enju nekog pokusa. Neka se istovjetan pokus ponovi n puta i
neka slučajna varijabla X mjeri broj pojavljivanja dogad̄aja A. Tada X ima binomnu
razdiobu s parametrima n i µ, u oznaci X ∼ B(n, µ). Slika 3.1 prikazuje graf binomnerazdiobe. X poprima vrijednosti u skupu {0, 1, 2, ...n}. Vjerojatnost da je slučajnavarijabla X poprimila vrijednost k je
pk = P (X = k) =
(n
k
)µk(1− µ)n−k. (3.10)
Očekivanje i varijanca binomne razdiobe su
E[X] = nµ
V ar(X) = nµ(1− µ)
Bernoullijeva razdioba
Poseban, najjednostavniji primjer binomne slučajne varijable je Bernoullijeva ili indi-
katorska slučajna varijabla koja ima dva moguća ishoda: dogad̄aj je ili nastupio ili nije,
x ∈ {0, 1}, a graf razdiobe prikazan je slikom 3.2. Razdioba je dana kao
P (X = x|µ) = µx(1− µ)1−x =
{µ ako X = 1
1− µ ako X = 0(3.11)
15
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.90
0.95
1.00
-2 -1 0 1 2 3 4 5 6
P(k|
n,µ)
k
Graf Bernoullijeve razdiobe, µ=0.65
Slika 3.2: Bernoullijeva razdioba
gdje parametar µ definira vjerojatnost nastupanja dogad̄aja, tj. vjerojatnost P (X = 1).
Očekivanje i varijanca Bernoullijeve razdiobe su
E[X] = µ
V ar(X) = µ(1− µ)
3.2.2. Normalna ili Gaussova razdioba
Normalna ili Gaussova razdioba najvažnija je neprekinuta1 razdioba, ima li se u vidu
učestalost i važnost modela u kojima se ona pojavljuje. Razlog tome je što se ta raz-
dioba javlja kao granična u svim situacijama kad je slučajna varijabla dobivena kao
zbroj velikog broja med̄usobno nezavisnih pribrojnika. Neprekidna slučajna varijabla
X ima Gaussovu razdiobu sa srednjom vrijednošću µ i varijancom σ2, što se označava
kao N (µ, σ2), ako je njezina gustoća vjerojatnosti jednaka
p(X = x|µ, σ2) = 1√2πσ
exp
{−(x− µ)
2
2σ2
}. (3.12)
Očekivanje i varijanca normalne razdiobe su
E[X] = µ1U [7] pogledati detaljnije opis kontinuirane slučajne varijable i kontinuirane razdiobe.
16
0
0.2
0.4
0.6
0.8
1
-4 -2 0 2 4
N(x
|µ,σ2 )
x
Graf gustoće normalne razdiobe
Parametri razdiobeµ = 0.0 σ = 1.0µ = 0.0 σ = 2.0µ = 2.0 σ = 0.5
Slika 3.3: Normalna razdioba
V ar(X) = σ2
Slika 3.3 prikazuje graf gustoće normalne razdiobe za različite vrijednosti parametara
µ i σ.
3.3. Procjena parametara
Osnovna ideja procjene parametara jest na temelju uzorka najprije izračunati vrijednost
odred̄ene slučajne varijable, tzv. statistike, koja se koristi kao procjenitelj (estimator)
nepoznatog parametra θ populacije, odnosno teorijske razdiobe.
Definicija 9. Neka je (X1, X2, . . . , Xn) uzorak, odnosno n-torka slučajnih varijablikoje su nezavisne i iz identične razdiobe. Slučajna varijabla Θ = g(X1, X2, . . . , Xn)
naziva se statistika. Statistika Θ je procjenitelj (estimator) parametra populacije θ.
Vrijednost procjenitelja θ̂ = g(x1, x2, . . . , xn) naziva se procjena.
Statistika je dakle bilo kakva funkcija koja ovisi o uzorku, dok je procjenitelj ona
statistika koja se koristi za procjenu nekog parametra populacije. Procjenitelj je slu-
čajna varijabla, što znači da ima svoje očekivanje i varijancu. očekivanje i varijanca
procjenitelja koristi se kako bi se ocijenila kvaliteta procjenitelja, odnosno kako bi se
ocijenilo koliko dobro procjenitelj Θ procjenjuje parametar populacije θ [22].
17
Definicija 10. Procjenitelj Θ je nepristran (centriran) procjenitelj parametra θ akkoE[Θ] = θ.
Vrijednost procjenitelja θ̂ na konkretnom uzorkuD može biti različita od prave vri-jednosti θ, ali ako je procjenitelj nepristran, onda će se kod ponavljanja eksperimenta
prosječna vrijednost procjenitelja približiti stvarnoj vrijednosti parametra. Pristranost
procjenitelja definirana je kao
bθ(Θ) = E[Θ]− θ
Idealan procjenitelj je nepristran i ima malu varijancu.
Definicija 11. Nepristran procjenitelj Θ je valjan (konzistentan) procjenitelj ako
limN→∞
V ar(Θ) = 0.
Dodatno svojstvo jest da porastom veličine uzorka, odnosno broja parametara za
učenje, procjena sve manje odstupa od svoje očekivane vrijednosti. Drugim riječima,
povećanjem uzorka varijanca procjenitelja teži k nuli.
Procjenitelj za binomnu razdiobu
Binomna razdioba opisana u poglavlju 3.2.1 ima parametre µk i n. Neka je n konačan
broj. Procjenitelj parametra µ, µ̂k, je
µ̂k =
∑Ni=1 1{y(i) = k}
n(3.13)
gdje 1{x = a} predstavlja indikatorsku funkciju koja je 1 ukoliko je uzorak x ostvarenkao a. Ovakav procjenitelj je nepristran.
Procjenitelj Bernoullijeve razdiobe
Bernoullijeva razdioba opisana u poglavlju 3.2.1 ima µ kao jedini parametar. Procje-
nitelj parametra µ, µ̂, je
µ̂ =1
N
N∑i=1
x(i) (3.14)
Izvod za formulu 3.14 može se pronaći u [22]. Ovakav procjenitelj je nepristran i iz
formule 3.14 je vidljivo da je najizglednija procjena za µ relativna frekvencija dogad̄aja
u uzorku, odnosno srednja vrijednost uzorka.
18
Procjenitelj normalne ili Gaussove razdiobe
Normalna ili Gaussova razdioba opisana u poglavlju 3.2.2 ima parametre µ i σ. Pro-
cjenitelji parametara, µ̂ i σ̂, su
µ̂ =1
N
N∑i=1
x(i) (3.15)
σ̂ =1
N
N∑i=1
(x(i) − µ̂)2 (3.16)
Izvod za formule 3.15 i 3.16 može se pronaći u [22]. Procjenitelj µ̂ je nepristran, ali σ̂
nije nepristran 2. Razlika dolazi do izražaja kod malenih uzoraka, kad je za procjenu
bolje koristiti nepristran procjenitelj
σ̂ =1
N − 1
N∑i=1
(x(i) − µ̂)2 (3.17)
3.4. Laplaceovo zaglad̄ivanje
Zadatak procjenitelja jest što točnije procijeniti parametre distribucije na temelju uzo-
raka. Med̄utim, odsustvo odred̄enih tipova uzoraka u skupu uzoraka za učenjeD možedovesti do problema prenaučenosti ili podnaučenosti 3 parametara. Na primjer, uko-
liko postoji ukupno tri vrste uzoraka, a u skupu za učenje se nalaze dvije vrste uzoraka,
procjenitelj će poprimiti vrijednost koja će ignorirati postojanje treće vrste uzoraka i
distribucija s takvim parametrom neće nikada generirati uzorak trećeg tipa. Ovakav
problem nastaje zbog frekventističke procjene koja u obzir uzima broj pojavljivanja
nekog uzorka u eksperimentu.
Laplaceov (Lidstonov) procjenitelj problem prenaučenosti i podnaučenosti rješava
tako da prilikom frekventističke procjene u brojnik i nazivnik nadoda odred̄enu vrijed-
nost i tako prenaučene procjene umanji, a podnaučene poveća. Procjena parametra µ
kod svih navedenih distribucija u ovom poglavlju odred̄uje se frekventistički pa će se i
razmatrati samo Laplaceov procjenitelj za parametar µ̂.
Definicija 12. Laplaceov (Lidstonov) procjenitelj parametra µ distribucija definiranihformulama 3.10, 3.11 i 3.12, jednak je
µ̂k =Nk + λ
N +Kλ(3.18)
2Pogledati izvod u [22].3Prenaučenost (engl. overfitting) i podnaučenost (engl. underfitting) dvije su krajnosti u odabiru
modela u strojnom učenju. Za detaljniji opis pogledati u [23].
19
gdje su:
– Nk broj realizacija uzorka k,
– N broj ukupnih realizacija (ponavljanja eksperimenta),
– K broj mogućih stanja (razreda ili tipova varijabli),
– λ parametar.
Za binarni genotip kromosoma, vrijednost K jednaka je 2. Ovisno o vrijednostima
za λ, najčešće se koriste sljedeći procjenitelji [22]:
– Laplaceovo pravilo ili add-one-rule (λ = 1): µ̂k = Nk+1N+K ,
– Jeffreys-Perksovo pravilo (λ = 12): µ̂k =
Nk+12
N+K2
,
– Schurmann-Grassbergovo pravilo (λ = 1K
): µ̂k =Nk+
1K
N+1.
Vrijednost λ najčešće se izabire uporabom unakrsne validacije 4.
3.5. Bayesova mreža
Modeli koji koriste graf kako bi na sažet način prikazali zajedničku distribuciju nazi-
vaju se probabilistički grafički modeli (engl. probabilistic graphical models). Pose-
bice, grafički model kod kojega je graf aciklički i usmjeren naziva se Bayesova mreža
(engl. Bayesian network). Čvorovi Bayesove mreže predstavljaju slučajne varijable, a
lukovi predstavljaju zavisnosti izmed̄u varijabli. Ako varijabla X zavisi o varijabli Y ,
tada postoji luk od čvora Y do čvora X [24]. Na slici 3.4 prikazana je jednostavna
Bayesova mreža za četiri varijable. Ova mreža predstavlja grafički zapis zajedničke
distribucije P (X, Y, Z,W ) faktorizirane kao:
P (X, Y, Z,W ) = P (X)P (Y |X)P (Z)P (W |X, Y, Z).
Nepostojanje odred̄enih lukova upućuje na (uvjetnu) nezavisnost izmed̄u varijabli.
Tako su varijable X i Y nezavisne od svih drugih varijabli—varijabla Y ovisi samo o
varijabliX , dok varijablaW ovisi o sve tri varijable. Općenito, Bayesova mreža sažeto
zapisuje funkciju gustoće vjerojatnosti p(x) kao:
p(x1, . . . , xn) =n∏i=1
p(xi|pa(xi))
gdje je pa(xi) skup čvorova roditelja čvora xi.
4Pogledati u [23].
20
X Y Z
W
Slika 3.4: Bayesova mreža
3.6. Teorija informacije
Jedno od područja koje teorija informacije proučava jest mjera ili sadržaj informacije u
nekoj poruci. Točnije, koliko informacije u prosjeku sadrži svaki simbol poruke. Ova
mjera naziva se srednji sadržaj informacije i mjeri se informacijskom entropijom.
3.6.1. Entropija
Entropija diskretne slučajne varijable definirana je kao:
H(X) = −n∑i=1
p(xi) log p(xi) (3.19)
gdje je X diskretna slučajna varijabla koja poprima vrijednosti iz skupa {x1, . . . , xn},a p(xi) su vjerojatnosti pojavljivanja vrijednosti xi, 1 ≤ i ≤ n. Logaritam je izražen uonoj bazi b koliko ima različitih simbola za informaciju čija entropija se želi izračunati.
Za binaran genotip iznosi b = 2. Svojstva informacijske entropije mogu se pronaći u
[1].
Osim entropije diskretne varijable, može se računati i združena entropija dvije dis-
kretne varijable i uvjetna entropija izmed̄u dvije varijable. Združena entropija defini-
rana je kao:
H(X, Y ) = −n∑i=1
m∑j=1
p(xi, yj) log p(xi, yj) (3.20)
Uvjetna entropijaH(Y |X) definirana je kao prosječna vrijednost entropije slučajnevarijable Y uz poznati X , gdje se prosjek uzima po svim vrijednostima X . Matema-
tički se ova definicija opisuje na sljedeći način:
H(Y |X) =n∑i=1
p(xi)H(Y |x = xi) = −n∑i=1
p(xi)m∑j=1
p(yj|xi) log p(yj|xi) (3.21)
21
3.6.2. Kullback-Leiblerova udaljenost
Relativna entropija izmed̄u dviju razdioba vjerojatnosti slučajne varijable je mjera uda-
ljenosti izmed̄u tih dviju razdioba i naziva se Kullback-Leiblerova udaljenost (K-L
udaljenost) 5. K-L udaljenost definirana je kao:
D(p ‖ q) =n∑i=1
p(xi) logp(xi)
q(xi)(3.22)
gdje su p(xi) i q(xi) dvije razdiobe vjerojatnosti slučajne varijable X . Ukoliko bi
p bila distribucija s nepoznatim parametrima, a q tražena distribucija, tada bi najbolji
parametri distribucije p bili oni za koje je K-L udaljenost minimalna. U [5] je pokazana
minimizacija K-L udaljenosti za nepoznatu kontinuiranu distribuciju s pretpostavkom
o binarnim zavisnostima slučajne varijable.
5Korištenje pojma ”udaljenost”, premda uvriježeno, nije matematički ispravno jer relativna entropija
nema svojstvo simetričnosti, tj. D(p ‖ q) 6= D(q ‖ p).
22
4. Algoritmi temeljeni navjerojatnosnim razdiobama
Algoritmi temeljeni na vjerojatnosnim razdiobama (engl. Estimation of distribution
algorithms, EDA; probabilistic model-building genetic algorithms, PMBGA; Iterated
density estimation algorithms, IDEA), u nastavku kraće EDA, pripadaju porodici evo-
lucijskih algoritama, stohastički su i optimizacijski algoritmi zasnovani na populaciji
rješenja koji usmjerava pretragu za dobrim rješenjima na temelju vjerojatnosnog mo-
dela koji je stvoren iz odred̄enog broja dobrih 1 jedinki. Motivacija za nastanak EDA
bili su nedostaci genetskog algoritma pobrojani u poglavlju 2.4, ali i sposobnost učenja
i prilagod̄avanja podacima.
Izgradnja vjerojatnosnog modela ima višestruku ulogu:
– mogućnost opisivanja ili iščitavanja zavisnosti izmed̄u gena u jedinki,
– prilagod̄avanje odred̄enim područjima u pretrazi za rješenjem,
– apriornim znanjem usmjerava se pretraga za rješenjem,
– iz modela je moguće izvući dodatne informacije o nepoznatom problemu (mo-
gućnost strojnog učenja).
Uspored̄ujući konvencionalne evolucijske algoritme i EDA, glavna sličnost je ini-
cijalno nasumična populacija 2 rješenja koja se iterativno poboljšava. Dok konven-
cionalni algoritmi koriste operatore reprodukcije za implicitno odred̄ivanje razdiobe
varijabli, EDA eksplicitno koristi vjerojatnosnu razdiobu. Takod̄er, EDA, kao i ko-
nvencionalni algoritmi, koristi selekciju za odabir najboljih jedinki, med̄utim operatori
križanja i mutacije se općenito ne koriste.
1Dobre jedinke su jedinke iznadprosječne dobrote.2Načini stvaranja populacije opisan u poglavlju 2.2.1.
23
4.1. Osnovna načela
Osnovni način rada EDA sličan je načinu rada GA, ali klasični operatori reproduk-
cije zamijenjeni su procjenom parametara pretpostavljene vjerojatnosne razdiobe te
uzorkovanjem jedinki iz naučene razdiobe. Opći pseudokod algoritama temeljenih na
vjerojatnosnim razdiobama prikazan je algoritmom 4.1.
Algoritam 4.1 Opći pseudokod algoritama temeljenih na vjerojatnosnim razdiobamat := 0
stvori početnu populaciju P (t)
while ¬ zadovljen uvjet zaustavljanja doodaberi skup zadovoljavajućih jedinki D(t) iz P (t)
procijeni parametre pretpostavljene distribucije na temelju D(t)
uzorkuj jedinke iz naučene distribucije u skup O(t)
stvori novu populaciju P (t+ 1) zamjenivši dio jedinki iz P (t) s O(t)
t := t+ 1
end while
Kao i svi populacijski algoritmi, EDA započinje stvaranjem početne populacije
veličine N . Uobičajeni način stvaranja početne populacije je nasumično generiranje
jedinki. Postoje alternativni načini stvaranja opisani u poglavlju 2.2.1. Zatim slijede
faze iteracije.
U svakoj iteraciji 3 prvo se evaluira postojeća populacija na temelju funkcije do-
brote. Zatim se odabire 4 M jedinki na temelju kojih će se procjenjivati vrijednosti
parametara pretpostavljene distribucije, gdje je M neki broj za koji vrijedi M ≤ N .Broj jedinki za selekcijuM zadaje se kao parametar algoritma ili je inherentno ugrad̄en
u algoritam 5.
Nakon toga slijedi izračun vjerojatnosnog modela i stvaranje nove generacije, dva
koraka koji razlikuje algoritme obitelji algoritama EDA. Parametri razdiobe računaju
se koristeći prethodno odabrane jedinke, a koristeći procjenitelj za pripadni parametar
razdiobe 6. Sljedeći korak je stvaranje nove generacije.
Nova generacija se stvara uzorkovanjem (engl. sampling) novih jedinki na temelju
stvorenog vjerojatnosnog modela. Vjerojatnosni model govori kolika je vjerojatnost
da neka varijabla rješenja (gen) poprima odred̄enu vrijednost. Tako npr. kod binarnog3Iteracija se još naziva i generacija ili korak.4Koristi se neka od selekcija opisanih u poglavlju 2.2.2.5Kod nekih algoritama parametar M može biti konstanta.6Opisano u poglavlju 3.3
24
Slika 4.1: Primjer EDA ciklusa za decepcijsku funkciju OneMax [17]
genotipa, vjerojatnosni model govori kolika je vjerojatnost da odred̄eni bit poprima
vrijednost 1. Kriteriji zaustavljanja EDA isti su kao i kod konvencionalnih algoritama.
Najčešće korišteni su kriteriji odred̄eni brojem iteracija, dobrotom rješenja i nedostat-
kom poboljšanja rješenja u odred̄enom broju iteracija [10].
Slika 4.1 prikazuje jedan ciklus EDA algoritma na decepcijskoj funkciji (opisana
u poglavlju 5) OneMax. Pretpostavimo da se želi pronaći maksimum funkcije f(~x) =∑n−1i=0 xi. Neka je genotip veličine n = 5, veličina populacije N = 10 i broj jedinki
za selekciju M = 5. Početna populacija stvorena je slučajnim uzorkovanjem vjerojat-
nosne razdiobe oblika p(X) =∏n−1
i=0 p(Xi). Razdioba je uniformna pa vrijedi da je
∀i ∈ X : p(Xi = 1) = p(Xi = 0) = 0.5. Stvorena je populacija P (0). Bolja polo-vica jedinki odabrana je iz P (0) u D(0) (vidi se da su odabrane jedinke 0, 1, 3, 5, 6).
Na temelju skupa D(0) stvoren je vjerojatnosni model i pošto je pretpostavljeno da
su geni nezavisni, pripadna Bayesova mreža nema lukove izmed̄u čvorova (poglavlje
3.5). Procjenjene vjerojatnosti alela prikazane su iznad čvorova.
Iz vjerojatnosnog modela, uzorkovanjem se stvara skup jedinki O(0) i svaka je-
25
dinka se evaluira prema pripadnoj funkciji dobrote. Posljednja jedinka skupa O(0)
bolja je od bilo koje jedinke u populaciji P (0). Generacija P (1) stvara se tako da se
zamijene najgore 7 jedinke iz P (0) (to su jedinke 2, 4, 7, 8, 9) s jedinkama iz O(0). Ci-
jeli postupak se ponavlja do kriterija završetka. U [17] se može pronaći formalan opis
EDA.
4.2. Podjela algoritama temeljenih na vjerojatnosnim
razdiobama
Podjelu EDA moguće je napraviti obzirom na [21]:
– zavisnost gena u genotipu jedinke,
– način zapisa rješenja u genotipu,
– način optimizacije,
– grafički vjerojatnosni model,
– ostale EDA varijante.
4.2.1. Zavisnost gena izmed̄u varijabli
Dva ili više gena su med̄usobno zavisni ukoliko vrijednost jednog gena utječe na vri-
jednost drugog gena (definicija 7). Prema zavisnosti gena izmed̄u varijabli EDA se
dijeli na [21]:
– univarijantni algoritmi: pretpostavljaju da ne postoji zavisnost izmed̄u gena,
– bivarijantni algoritmi: pretpostavljaju da zavisnost postoji samo izmed̄u dva
gena,
– multivarijantni algoritmi: pretpostavljaju da zavisnost postoji izmed̄u tri ili više
gena.
Univarijantnim algoritmima pripadaju [21]:
– postupno učenje temeljeno na populaciji (engl. Population Based Incremental
Learning, PBIL),
– algoritam univarijantne marginalne razdiobe (engl. Univariate Marginal Dis-
tribution Algorithm),7Za odabir jedinki za zamjenu može se koristiti bilo koja selekcija, ali potrebno je sačuvati najbolje
rješenje (elitizam).
26
– cjeloviti genetski algoritam (engl. Compact Genetic Algorithm, cGA)
– simulirano križanje zasnovano na genima (engl. Bit-based simulated crossover)
Bivarijantni algoritmi su podvrsta multivarijantnih algoritama kod kojih svaki čvor
u Bayesovoj mreži ima isključivo jednog roditelja. Bivarijantnim algoritmima pripa-
daju [21]:
– algoritam maksimizacije zajedničke informacije za grupiranje ulaznih podataka
(engl. Mutual Information Maximization for input clustering, MIMIC),
– algoritam bivarijantne marginalne razdiobe (engl. Bivariate Marginal Distribu-
tion Algorithm, BMDA),
– algoritam združenih optimizatora sa stablima zajedničke informacije
(engl. Combining Optimizers with Mutual Information Trees, COMIT),
– stablasta EDA (engl. Tree Estimation of Distribution Algorithm, Tree-EDA).
Multivarijantnim algoritmima pripadaju [21]:
– Bayesov optimizacijski algoritam
(engl. Bayesian Optimization Algorithm, BOA),
– algoritam faktorizirane razdiobe
(engl. Factorised Distribution Algorithm, FDA),
– prošireni cjeloviti genetski algoritam (engl. Extended Compact Genetic Algo-
rithm, ECGA),
– algoritam faktorizirane razdiobe sa sposobnošću učenja (engl. Learning Facto-
rised Distribution Algorithm, LFDA),
– algoritam procjene Bayesove mreže (engl. Estimation of Bayesian Network,
EBNA).
4.2.2. Način zapisa rješenja u genotipu
U poglavlju 2.2.1 opisan je način prikaza rješenja genotipa. Dva najčešća prikaza su
binarni genotip i genotip s pomičnom točkom, ali moguće je ostvariti sve načine zapisa
rješenja kao u poglavlju 2.2.1. Način zapisa rješenja u genotipu odred̄uje korištenje
diskretne ili kontinuirane razdiobe, kao i broj parametara algoritma.
EDA je većinom prilagod̄ena za binaran prikaz stoga svi algoritmi navedeni u po-
glavlju 4.2.1 su algoritmi binarnog genotipa.
Ukoliko je jedinka u algoritmu kodirana brojem s pomičnom točkom, tada se imenu
algoritma u donjem desnom uglu dodaje slovo c, a u gornjem desnom uglu kratica
27
korištene razdiobe 8 (najčešće je to Gaussova razdioba). Takvi algoritmi su: UMDAGc ,
PBILGc , MIMICGc itd.
4.2.3. Način optimizacije
Prema načinu optimizacije, algoritmi mogu biti jednooptimizacijski ili višeoptimiza-
cijski, u ovisnosti koliko funkcija istodobno optimiraju. Kod višeoptimizacijskog al-
goritma koristi se Pareto dominacija [21].
Ukoliko optimizacijski problem ima k funkcija oblika fi(~x) → R, i ∈ {1, . . . , k}tada se stvori kompozicija funkcija oblika f(~x) = (f1(~x), . . . , fk(~x)) ∈ Rk.
Definicija 13. Relacija Pareto dominacije definirana je kao
∀x, y ∈ X, x �F ′ y ⇐⇒ fi(x) ≤ fi(y),∀i,
gdje je F ′ skup optimizacijskih funkcija definiranih kao
F ′ ⊆ F := (f1, . . . , fk).
Rješenje višeoptimizacijskog problema je ono koje pripada Pareto skupu.
4.2.4. Grafički vjerojatnosni modeli
Jedan od grafičkih vjerojatnosnih modela je Bayesova mreža opisana u poglavlju 3.5.
Osim Bayesove mreže, modeli mogu biti izgrad̄eni kao:
– Markovljeva mreža,
– stablo,
– Gaussova mreža,
– mješavina Gaussove razdiobe (engl. Mixture of Gaussian Distributions).
Svaki od vjerojatnosnih modela parametre distribucije računa odred̄enim algorit-
mom, na primjer parametri mješavine Gaussove razdiobe računaju se E-M algoritmom.
4.2.5. Ostale varijante algoritama zasnovanih na vjerojatnosnimrazdiobama
Ukoliko je genotip genetskog algoritma prikazan stablom, tada se to naziva genetsko
programiranje [3][4]. Takod̄er, genotip kod EDA može biti i stablo i tada se takva8Oznake preuzete iz [2].
28
porodica algoritama naziva genetsko programiranje zasnovano na vjerojatnosnim raz-
diobama (engl. Estimation of Distribution Genetic Programming, EDGP ili EDP).
Dva su pristupa izgradnje stabla kod EDGP: [18]:
– korištenjem vjerojatnosnih modela i
– korištenjem gramatika (produkcijskih pravila za generiranje stabala).
Najčešće se koristi prvi pristup jer je jednostavniji i intuitivniji: svaki čvor stabla pred-
stavlja operator, a listovi stabla su varijable. Svaki čvor ima odred̄enu vjerojatnost
pojavljivanja. Koristeći algoritme koji genotip prikazuju stablom, direktno se dobiva
program (rješenje EDGP). Primjeri algoritama zasnovanih na EDGP su [18]:
– Uzastopna vjerojatnosna evolucija programa (engl. Probabilistic Incremental
Program Evolution, PIPE),
– cjelovito evolucijsko genetsko programiranje (engl. Evolutionary Compact Ge-
netic Programming, eCGP)
– BOA za genetsko programiranje (engl. BOA for GP),
– poluoptimirajuće semantičko evolucijsko pretraživanje (engl. Meta-Optimizing
Semantic Evolutionary Search, MOSES).
4.3. Opis algoritama
U ovom poglavlju bit će opisani univarijantni i bivarijantni algoritmi na koje je stavljen
naglasak u ovom diplomskom radu.
4.3.1. Univarijantni algoritmi
U svim navedenim algoritmima pretpostavlja se da su varijable problema nezavisne
te da vrijedi formula 3.8. Bit će opisani algoritmi PBIL, UMDA i cGA. Slika 4.2
prikazuje Bayesovu mrežu za univarijantne algoritme.
Algoritam postupnog učenja temeljenog na populaciji, PBIL i PBILc
Algoritam postupnog učenja temeljenog na populaciji predložio je Shumeet Baluja
[15]. Algoritam se može koristiti za binaran genotip ili genotip s brojem s pomičnom
točkom.
Algoritam s binarnim genotipom koristi vjerojatnosni vektor koji je jednake ve-
ličine kao i genotip jedinke. U vjerojatnosnom vektoru ~v, vrijednost na poziciji i
29
Slika 4.2: Bayesova mreža za univarijantne algoritme
predstavlja vjerojatnost da gen u genotipu jednike, na poziciji i, poprimi vrijednost
1. Algoritam s binarnim genotipom prikazan je pseudokodom 4.2.
Algoritam 4.2 Pseudokod algoritma postupnog učenja temeljenog na populaciji s bi-narnim genotipom jedinke
inicijaliziraj vjerojatnosni vektor ~v na 0.5 za svaki gen jedinke
stvori populaciju P na temelju vjerojatnosnog vektora
while ¬ zadovljen uvjet zaustavljanja doodaberi skup zadovoljavajućih jedinki R
ažuriraj vjerojatnosni vektor ~v
uzorkuj nove jednike D
zamijeni loše jednike iz populacije P novim jedinkama D
end while
Algoritam započinje inicijalizacijom vjerojatnosnog vektora i stvaranjem početne
populacije. Zatim se ulazi u petlju koja se ponavlja do zadovoljenja uvjeta završetka.
U svakoj iteraciji odabire se skup zadovoljavajućih jedinki, koji može sadržavati jednu
ili više jedinki, koristeći neku od selekcija 9. Taj skup predstavlja skup uzoraka D zaučenje parametara Bernoullijeve razdiobe te se ti parametri čuvaju u vjerojatnosnom
vektoru ~v.
Vjerojatnosni vektor ~v ažurira se koristeći Hebbovo pravilo učenja:
vi(t+ 1) = (1− α)vi(t) + αφi (4.1)
gdje je vi(t+1) novi parametar Bernoullijeve distribucije, vi(t) trenutni parametar Ber-
noullijeve razdiobe, α stopa učenja i φi parametar Bernoullijeve razdiobe na temelju
skupa uzoraka D i gena i.9Najčešće se koristi neka od selekcije najboljh jedinki prikazane slikom 2.3.
30
Iz formule 4.1 vidljivo je da vjerojatnosni vektor ne čuva parametar Bernoullijeve
distribucije direktno naučen na temelju skupa uzoraka D, već se kombinira prethodnonaučeno znanje prošle iteracije. Stopa učenja α predstavlja težinski faktor koji regulira
memoriju, odnosno govori s kolikim udjelom će u izračunu parametra vi(t+ 1) sudje-
lovati znanje prethodne iteracije, a kolikim znanjem 10 trenutne iteracije i α ∈ [0, 1].Znanje trenutne iteracije predstavljeno je oznakom φ. Vektor znanja φ računa se teme-
lju skupa gena mjesta i, skupa D, koristeći formule 3.14 ili 3.18.Da bi se izbjegla prerana konvergencija 11, PBIL koristi modifikaciju vjerojatnos-
nog vektora ~v. Modifikacija vektora ~v izvodi se po sljedećem pravilu:
vi(t) = (1− µ)vi(t) + rand{0,1}()µ (4.2)
gdje je µ stopa modifikacije i µ ∈ [0, 1], a rand{0,1}() generator pseudoslučajnih bro-jeva 0 ili 1. Stopa modifikacije najčešće je malen broj (µ ≈ 0.01).
Algoritam s genotipom brojeva s pomičnom točkom, PBILGc koristi dva vektora
za čuvanje parametara Gaussove razdiobe: vektor parametra sredine, ~vµ i vektor vari-
jance, ~vσ. Ova dva vektora koriste se prilikom uzorkovanja novih jedinki iz Gaussove
distribucije opisane u poglavlju 3.2.2. Algoritam je sličan algoritmu 4.2 te je prikazan
pseudokodom 4.3.
Algoritam 4.3 Pseudokod algoritma postupnog učenja temeljenog na populaciji s je-dinkama genotipa brojeva s pomičnom točkom
inicijaliziraj vrijednosti ϑµi vektora parametra sredine ~vµinicijaliziraj vrijednosti ϑσi vektora parametra varijance ~vσstvori populaciju P na temelju vektora ~vµ i ~vσwhile ¬ zadovljen uvjet zaustavljanja do
odaberi skup zadovoljavajućih jedinki R
ažuriraj vektor parametra sredine ~vµažuriraj vektor parametra varijance ~vσuzorkuj nove jednike D
zamijeni loše jednike iz populacije P novim jedinkama D
end while
Algoritam započinje inicijalizacijom vektora ~vµ i ~vσ, parametara Gaussove razdi-
10Znanje je apstraktni pojam za parametar µ Bernoullijeve razdiobe i takav izraz koristi se u strojnom
učenju.11Prerana konvergencija dogad̄a se zbog zapinjanja u lokalnim optimumima.
31
obe. U ovom diplomskom radu korištene su sljedeće formule za inicijalizaciju 12:
ϑµi =dmax + dmin
2rand[0,1](), (4.3)
ϑσi =dmax − dmin
2+
dmax − dmin4
rand[0,1]() (4.4)
gdje su dmax i dmin vrijednost najveće i najmanje vrijednosti domene optimizacijskog
problema, a a rand[0,1]() generator pseudoslučajnih brojeva u [0, 1].
Zatim se ulazi u petlju koja se ponavlja do zadovoljenja uvjeta završetka. U svakoj
iteraciji odabire se skup zadovoljavajućih jedinki, više od jedne jedinke, koristeći neku
od selekcija. Taj skup predstavlja skup uzoraka D za učenje parametara Gaussoverazdiobe te se ti parametri,ϑµi i ϑ
σi , čuvaju u ~vµ i ~vσ.
Ažuriranje parametara izvodi se po sljedećem pravilu:
ϑµi (t+ 1) = (1− α)ϑµi (t) + αφ
µi , (4.5)
ϑσi (t+ 1) = (1− β)ϑσi (t) + βφσi (4.6)
gdje su α i β stope učenja parametra sredine i varijance, a φµi i φσi parametri Gaussove
razdiobe na temelju skupa uzoraka D i gena i.Iz formula 4.5 i 4.6 vidljivo je da se takod̄er kombinira znanje trenutne i prethodne
iteracije kako bi se naučili konačni parametri Gaussove razdiobe iz koje će biti uzor-
kovane nove jedinke. Stope učenja α i β ∈ [0, 1] i njima se, kao što je prethodnorečeno, upravlja memorijom. Parametri φµi i φ
σi pripadaju vektorima parametra sredine
i varijance i računaju se prema formulama 3.15 i 3.16 13.
Modifikacija vektora ~vµ i ~vσ radi se prema sljedećim pravilima:
ϑµi (t) = (1− �)ϑµi (t) + rand{0,ϑµi (t)}()�, (4.7)
ϑσi (t) = (1− β)ϑσi (t) + rand{0,ϑσi (t)}()� (4.8)
gdje je � stopa modifikacije i � ∈ [0, 1], a rand{0,ϑχi (t)}() generator pseudoslučajnihbrojeva 0 ili ϑχi (t), gdje t označava generaciju, a χ skup {µ, σ}. Stopa modifikacijenajčešće je malen broj (µ ≈ 0.01) i njezina promjena značajnije utječe na razdiobu.
Postoje razne inačice PBIL algoritama u ovisnosti o implementaciji operatora ažu-
riranja i modifikacije, nekorištenju operatora modifikacije i načina odabira jedinki [15].
Algoritam univarijantne marginalne razdiobe, UMDA i UMDAc
Algoritam univarijantne marginalne razdiobe predložio je Heinz Mühlenbein [15].
UMDA je vrlo sličan PBIL, a razlikuje se isključivo po tome što nema memoriju, od-12Ovakve formule izabrane su jer najbolje disipiraju Gaussove razdiobe duž domene.13U diplomskom radu radi nepristranosti estimatora korištena je formula 3.17.
32
nosno u svakoj iteraciji iznova se računaju parametri distribucije. Algoritam se može
koristiti za binaran genotip ili genotip s brojem s pomičnom točkom.
Algoritam s binarnim genotipom identičan je algoritmu 4.2. Vjerojatnosni vektor
~v ažurira se koristeći Hebbovo pravilo učenja:
vi(t+ 1) = φi (4.9)
gdje je vi(t + 1) novi parametar Bernoullijeve distribucije, vi(t) trenutni parametar
Bernoullijeve razdiobe i φi parametar Bernoullijeve razdiobe na temelju skupa uzoraka
D i gena i.Iz formule 4.9 vidljivo je da vjerojatnosni vektor čuva parametar Bernoullijeve
distribucije direktno naučen na temelju skupa uzoraka D trenutne iteracije. Znanjetrenutne iteracije predstavljeno je oznakom φ. Vektor znanja φ računa se temelju skupa
gena mjesta i, skupa D, koristeći formule 3.14 ili 3.18.Algoritam s genotipom brojeva s pomičnom točkom, UMDAGc identičan je algo-
ritmu 4.3. Koriste se dva vektora za čuvanje parametara Gaussove razdiobe: vektor
parametra sredine, ~vµ i vektor varijance, ~vσ. Ova dva vektora koriste se prilikom uzor-
kovanja novih jedinki iz Gaussove distribucije opisane u poglavlju 3.2.2.
Inicijalizacija je jednaka inicijalizaciji kod PBIL. Parametri ϑµi i ϑσi čuvaju se u ~vµ
i ~vσ. Ažuriranje parametara izvodi se po sljedećem pravilu:
ϑµi (t+ 1) = φµi , (4.10)
ϑσi (t+ 1) = φσi (4.11)
gdje su φµi i φσi parametri Gaussove razdiobe na temelju skupa uzoraka D i gena i.
Iz formula 4.10 i 4.11 vidljivo je da se u svakoj iteraciji iznova uče parametri Ga-
ussove distribucije. Parametri φµi i φσi pripadaju vektorima parametra sredine i vari-
jance i računaju se prema formulama 3.15 i 3.16 14.
Za razliku od PBIL, UMDA nema modifikaciju parametara. Budući da UMDA iz
generacije u generaciju iznova uči parametre distribucije, zbog osiguranja konvergen-
cije parametara, moguće je nakon svake iteracije na vektore ~vµ i ~vσ primijeniti formule:
~vµ(t+ 1) = γ~vµ, (4.12)
~vσ(t+ 1) = δ~vσ (4.13)
gdje su γ, δ ∈ [0, 1] i poprimaju vrijednosti u [0.95, 1]. Formule 4.12 i 4.13 drastičnomogu ubrzati konvergenciju u lokalni optimum pa se pažljivo moraju postaviti vrijed-
nosti γ i δ. U ovom diplomskom radu su zbog brze konvergencije parametara ϑµi i ϑσi i
zapinjanja u lokalnom optimumu vrijednosti γ i δ postavljene na 1.14U diplomskom radu radi nepristranosti estimatora korištena je formula 3.17.
33
Postoje različite implementacije UMDA: neke implementacije koriste mutaciju
radi veće diverzifikacije, a neke koriste memoriju radi efikasnije intenzifikacije i ko-
nvergencije [15].
Cjeloviti genetski algoritam, cGA
Cjeloviti genetski algoritam predložili su Georges Harik, Fernando Lobo i David Gol-
dberg [15][11]. Cjeloviti genetski algoritam razvijen je na temelju modela nasumične
šetnje (engl. Random Walk Model) predloženog u [11]. Modelom nasumične šetnje
analiziran je skup problema sa svojstvom da su grad̄eni od nezavisnih grad̄evnih blo-
kova (opisano u poglavlju 2.3). Na temelju tog uvjeta, autori pretpostavljaju da se svaki
dio rješenja može riješiti nezavisno. Koristeći model nasumične šetnje, autori uspje-
vaju predvidjeti konvergenciju genetskog algoritma. Dobiveni rezultati ukazuju da je
moguće oponašati njegovo ponašanje za probleme s nezavisnim grad̄evnim blokovima
na temelju čega je razvijen cGA.
Ideja iza cGA je bilježenje populacije kao vjerojatnosnog vektora čime se sma-
njuje memorijska potrošnja te manipuliranje tim vjerojatnosnim vektorom na način
da se imitira rad jednostavnog genetskog algoritma (algoritam 2.1). Naravno, zbog
pretpostavke da se svaki dio rješenja može riješiti nezavisno, cGA imitira samo rad
algoritma nad nezavisnim grad̄evnim blokovima. Križanje je imitirano uzorkovanjem
jedinki na temelju vjerojatnosne distribucije. Naime, višestrukim korištenjem opera-
tora križanja smanjuje se korelacija izmed̄u gena jedinke, samim time uzorkovanje iz
vjerojatnosnog vektora može se vidjeti kao prečac k učinku križanja.
U [11] opisane su osnovna i složenija inačica cGA. Algoritam pretpostavlja binarni
genotip jednike. Pseudokod cGA prikazan je algoritmom 4.4.
Algoritam 4.4 Pseudokod osnovne inačice cjelovitog genetskog algoritmainicijaliziraj vjerojatnosni vektor ~v na 0.5 za svaki gen jedinke
while ¬ zadovljen uvjet zaustavljanja douzorkuj dvije jedinke, D1 i D2odredi bolju jedinku i proglasi je pobjednikom
ažuriraj vektor ~v uspored̄ujući pobjedničku i gubitničku jedinku
end while
Osnovna inačica cGA radi samo s dvije jedinke. Na temelju vjerojatnosnog vektora
~v, u svakoj iteraciji uzorkuju se dvije jedinke. Jedinke se uspored̄uju prema dobroti i
odred̄uje se bolja ili pobjednička jedinka,Dw, i lošija ili gubitnička jedinka,Dl. Vektor
34
~v ažurira se prema sljedećoj formuli:
vi(t+ 1) =
{vi(t) +
1n
ako Diw 6= Dil ∧Diw = 1vi(t)− 1n ako D
iw 6= Dil ∧Diw = 0
(4.14)
gdje je 1n
stopa učenja. Općenito, formula 4.14 može se zapisati kao:
vi(t+ 1) = vi(t) + η(Diw −Dil) (4.15)
gdje je η stopa učenja. Autori u [11] za η predlažu vrijednost 1n
, gdje je n jednak broju
jedinki jednostavnog genetskog algoritma kojeg cGA želi simulirati. Vrijednost stope
učenja utječe na konvergenciju vrijednosti vektora ~v: što je η veća, vi više osciliraju na
[0, 1], a suprotno monotono konvergiraju.
Osim prethodno navedenih uvjeta zaustavljanja, dodatni uvjet je konvergencija vri-
jednosti u vjerojatnosnom vektoru. Vrijednosti konvergiraju 1 ili 0. Radi pogreške
prilikom rada s brojevima s pomičnom točkom, definira se konstanta � koja odred̄uje
granicu prihvatljivosti konvergencije: � > vi ∨ vi > 1− �. Vrijednost � je ≈ 0.001.Osnovna inačica cGA, zbog jednostavnosti, prerano može konvergirati ili se pre-
traga u prostoru rješenja može svesti na slučajnu pretragu 15. Autori u [11] predlažu
složeniju inačicu cGA koja može koristiti proizvoljan broj jedinki N , N ≥ 2. Pseudo-kod je prikazan algoritmom 4.5.
Algoritam 4.5 Pseudokod složenije inačice cjelovitog genetskog algoritmainicijaliziraj vjerojatnosni vektor ~v na 0.5 za svaki gen jedinke
while ¬ zadovljen uvjet zaustavljanja douzorkuj s jedinki i pohrani ih u skup D
odredi najbolju jedinku Dw iz D
ažuriraj vektor ~v uspored̄ujući Dw s D \Dwend while
Ažuriranje vektora ~v identičan je formuli 4.14, samo što se ažuriranje provodi za
sve jedinke skupa D \ Dw. Složenija inačica korištena je u diplomskom radu radiostvarivanja boljih rezultata.
Najveća prednost cGA jest jednostavnost implementacije, smanjena potrošnja me-
morije i brzina rada. Algoritam postiže zadovoljavajuće rezultate s 15% od veličine
populacije GA.
15Slučajna pretraga uočava se ukoliko se nacrta krivulja dobrote Dw. Najčešće je ta krivulja izrazito
nazubljena i jako oscilira, odnosno nema konvergencije.
35
Slika 4.3: Bayesova mreža za MIMIC
4.3.2. Bivarijantni algoritmi
U ovom poglavlju bit će opisani bivarijantni algoritmi MIMIC i BMDA. Bivarijantni
koriste Bayesovu mrežu za prikaz vjerojatnosnog modela i takvi modeli su stabla jer
svaki čvor ima najviše jednog roditelja (opisano u poglavlju 3.5). Cijena izgradnje
složenijih vjerojatnosnih modela u odnosu na univarijantne modele je vremenska i
prostorna složenost16.
Algoritam maksimizacije zajedničke informacije za grupiranje ulaznih podataka,MIMIC i MIMICc
U [5] predložen je algoritam maksimizacije zajedničke informacije za grupiranje ulaz-
nih podataka. MIMIC ima tri pretpostavke:
1. svaki gen jedinke ovisi o jednom genu, osim jednog gena koji je nezavisan,
2. nepoznata razdioba pθ(x) može uspješno biti naučena na temelju ograničenog
skupa podataka za učenje D,
3. D(pθ−�(x) ‖ pθ(x))17 dovoljno je mala da su uzorci uzorkovani iz pθ−�(x) sličniuzorcima iz pθ(x).
Prva pretpostavka implicira da je Bayesova mreža usmjeren lanac (slika 4.3), druga
pretpostavka implicira da u populaciji ima dovoljno jedinki na temelju kojih se mogu
dovoljno dobro naučiti parametri nepoznate distribucije, a treća pretpostavka povezuje
prve dvije pretpostavke nadajući se da će parametri naučene distribucije biti dovoljno
slični parametrima distribucije iz koje bi bili uzorkovani primjeri iz skupa D.16Vremenska složenost je minimalno za jednu potenciju veća u odnosu na univarijantne algoritme:
O(nx+1) > O(nx).17KL-udaljenost definirana u poglavlju 3.6.2.
36
Neka je π = i1i2 . . . in permutacijski vektor, gdje je n jednak veličini genotipa
jedinke. Vjerojatnosna razdioba koja zadovoljava prvu pretpostavku je:
p̂π(X) = p(Xi1|X i2)p(X i2|X i3) . . . p(X in−1|X in)p(X in). (4.16)
Razdioba p̂π(X) koristi permutacijski vektor π za stvaranje parova uvjetnih zavisnosti.
Glavni zadatak MIMIC jest pronaći takav permutacijski vektor π koji minimizira KL-
udaljenost izmed̄u p̂π(X) i prave nepoznate razdiobe p(X).
Ukoliko se raspiše D(p ‖ p̂π) prema formuli 3.22 dobiva se izraz:
D(p ‖ p̂π) = −H(p)+H(X i1|X i2)+H(X i2|X i3)+. . .+H(X in−1|X in)+H(X in) (4.17)
gdje je H(a) informacijska entropija opisana u poglavlju 3.6.1. U izrazu 4.17 prvi član
ne ovisi o X i on je nepoznata konstanta koja se ne može optimirati. Od ostatka izraza
4.17 definira se funkcija pogreške, Jπ(X), koja se želi minimizirati:
Jπ(X) = H(Xi1|X i2) +H(X i2|X i3) + . . .+H(X in−1|X in) +H(X in). (4.18)
Optimalni vektor π jest onaj koji minimizira Jπ(X). Pretragom svih n! permutacija,
moguće je pronaći optimalni vektor π, ali vremenska složenost postupka je O(n!). U
[5] pokazano je da je moguće pronaći aproksimaciju π, π∗, pohlepnim algoritmom koji
će dovoljno dobro minimizirati funkciju pogreške 4.18 u vremenskoj složenosti O(n).
Pohlepni algoritam prikazan je pseudokodom 4.6.
Algoritam 4.6 Pohlepni algoritam za pronalazak aproksimacijskog vektora π∗
pronad̄i gen u genotipu X s najmanjom entropijom: in := arg minj H(Xj)
for ∀ neodabrani gen Xj iz X dok := n− 1ik := arg minj H(Xj|X ik+1) gdje je X ik+1 gen iz X s indeksom π∗k+1
end for
Pohlepni algoritam u prvom koraku odabire indeks gena koji ima najmanju en-
tropiju i njegov indeks zapisuje na posljednje mjesto u vektoru π∗. Zatim iterativno
odabire indeks gena iz X čija je uvjetna entropija s genom odabranim u prethodnoj
iteraciji minimalna i zapisuje njegov indeks ispred posljednje dodanog indeksa u vek-
tor π∗. Na ovakav način izgrad̄uje se permutacijski vektor koji minimizira izraz 4.18.
Konačno, pseudokod 4.7 prikazuje MIMIC algoritam.
Uzorkovanje jedinki iz modela radi se koristeći formulu 3.2 i vektor π∗, gdje in-
deksi u vektoru služe za točan odabir gena zajedničke vjerojatnosti. Ovakav algoritam
primjeren je za binaran genotip i implementiran je u diplomskom radu.
37
Algoritam 4.7 Pseudokod MIMIC algoritmanasumično stvori početnu populaciju
while ¬ zadovljen uvjet zaustavljanja doodaberi n jedinki za učenje parametara razdiobe
algoritmom 4.6 stvori vjerojatnosni model
uzorkuj nove jedinke iz naučenog modela
zamijeni loše jedinke boljim uzorkovanim jedinkama
end while
U [2] navodi se algoritam za genotip brojevima s pomičnom točkom. MIMICc
pretpostavlja normalnu razdiobu, a entropiju i uvjetnu entropiju računa prema formu-
lama:
H(X) =1
2(1 + log 2π) + log σX , (4.19)
H(X|Y ) = 12
[(1 + log 2π) + log
(σ2Xσ
2Y − σ2XYσ2Y
)](4.20)
gdje je σξ varijanca gena ξ u skupu za učenje D, σξν kovarijanca18 gena ξ i ν. Idejastvaranja aproksimacijskog vektora π∗ ista je kao i kod binarnog genotipa, samo što se
u algoritmu 4.6 umjesto diskretne entropije i uvjetne entropije, koriste formule 4.19 i
4.20.
Postoje mnoge nadogradnje općeg MIMIC algoritma, na primjer, odabiru se je-
dinke koje imaju dobrotu veću od dobrote medijana populacije te se u svakoj iteraciji
granica dobrote za odabir postrožuje. Na taj način se može ubrzati konvergencija.
Algoritam bivarijantne marginalne razdiobe, BMDA
Algoritam bivarijantne marginalne razdiobe predložili su Heinz Mühlenbein i Mar-
tin Pelikan [13]. MIMIC algoritam ima dosta konzervativne pretpostavke zbog kojih
rezultati ne moraju biti zadovoljavajući. BMDA računa zavisnost dva gena pomoću
Pearsonovog ili χ2 testa 19 s jednim stupnjem slobode (ako je genotip binaran). U
nastavku je opisan postupak za binaran genotip koji je i korišten u implementaciji u
diplomskom radu.
Vjerojatnosni model koji BMDA izgrad̄uje je skup stabala, kod kojih u svakom
stablu, svaki čvor ima najviše jednog roditelja, ali jedan čvor može biti roditelj više
18Pogledati definiciju u [8].19Pogledati definiciju i izvod testa u [6], str. 66 i 73.
38
Slika 4.4: Bayesova mreža za BMDA
Tablica 4.1: Kvantili χ2 razdiobe s jednim stupnjem slobode
p 0.70 0.75 0.80 0.90 0.95 0.975
κ 1.074 1.323 1.642 2.706 3.841 5.024
djece. Oni geni koji nisu roditeljski čvorovi niti ovise o drugim genima, predstavljaju
stablo s jednim čvorom. Slika 4.4 prikazuje Bayesovu mrežu za BMDA.
Da bi se izračunao χ2 test, potrebno je odrediti zajedničke vjerojatnosti svih parova
gena, p(xi, xj), i samostalne vjerojatnosti p(xi) da geni poprimaju vrijednost 1. χ2 test
u BMDA provodi se prema formuli:
χ2i,j =n(p(xi, xj)− p(xi)p(xj))2
p(xi)p(xj)(4.21)
gdje je n broj odabranih jedinki u skupu za učenje D. Da bi dva gena, xi i xj bilanezavisna s p-postotnom sigurnošću, treba vrijediti:
χ2 < κ (4.22)
gdje je κ kvantil χ2 razdiobe. U tablici 4.1 nalazi se nekoliko najčešće korištenih vri-jednosti kvantila, a u implementaciji je korištena 90% sigurnost nezavisnosti varijabli.
Bayesova mreža stvara se prema algoritmu 4.8.
Ovisnost gena računa se formulama 4.21 i 4.22. U diplomskom radu je lista čvo-
rova indeksa,V , svaki puta bila permutirana da bi se izbjegla prenaučenost, ali permu-tiranje nije obavezno.
Algoritam BMDA identičan je algoritmu 4.7, samo što se za računanje vjerojatnos-
nog modela koristi χ2 test i algoritam 4.8. U svakoj iteraciji algoritma 4.7 nanovo se
računaju p(xi) i p(xi, xj).
Prednost BMDA nad MIMIC je što se na jednostavniji način, uporabom statistike,
računa zavisnost gena, nije potrebna dodatna optimizacija niti uporaba dodatnih funk-
cija poput entropije ili funkcije pogreške.
39
Algoritam 4.8 Stvaranje vjerojatnosnog modela u BMDAu listu čvorova stavi sve indekse gena, V := {1, 2, . . . , n}stvori prazan skup zavisnih čvorova, C := ∅stvori prazan skup nezavisnih čvorova, I := ∅stvori prazan skup roditeljskih čvorova, P := ∅for ∀% ∈ V do
for ∀ς ∈ V doif % = ς ∨ ς ∈ C ∨ ς roditelj od % then
preskoči iteraciju
end ifif ς ovisan o % thenP := P ∪ %C := C ∪ ς
end ifend for
end forfor ∀υ ∈ V do
if υ 6∈ C thenI := I ∪ υ
end ifend for
40
4.4. Hibridizacija algoritama
David Wolpert i William G. Macready objavili su u [26] No free lunch teorem.
Definicija 14. (No Free Lunch teorem.)Svi algoritmi koji traže ekstrem funkcije ciljaponašaju se upravo jednako obzirom na bilo koju mjeru performansi, kada se pogleda
njihovo prosječno ponašanje nad svim mogućim funkcijama cilja. Formalno,∑f
δ(hym, F (f,m, a1)) =∑f
δ(hym, F (f,m, a2)) (4.23)
gdje su a1 i a2 različiti algoritmi, f funkcija cilja definirana kao f : X → Y , m priro-dan broj domene i m < |X|,F (α, βγ) funkcija koja algoritmom γ evaluira funkciju αza korak β, hym prava vrijednost funkcije f za korakm, a δ Kroneckerova delta funkcija
koja je 1 ukoliko su oba argumenta identična, a 0 inače.
Teorem drugim riječima kaže da ako algoritam a1 nadmašuje algoritam a2 na nekim
funkcijama cilja, tada, grubo govoreći, mora postojati upravo toliko drugačijih funkcija
cilja nad kojima a2 nadmašuje a1. Dokaz teorema dan je u [26].
No free lunch teorem opravdava i motivira hibridizaciju algoritama. Ideja je obje-
diniti više algoritama u jedan algoritam i nad nekim problemom dati veću prednost
onom algoritmu, iz skupa algoritama, koji postiže bolje rezultate za taj problem.
U okviru ovog diplomskog rada hibridizirani su svi navedeni algoritmi u skupine
po dva algoritma, koristeći algoritam 4.9.
Algoritam 4.9 Hibridni evolucijski algoritamodaberi prvi algoritam za hibridizaciju, α1odaberi drugi algoritam za hibridizaciju, α2nasumično stvori početnu populaciju P
while ¬ zadovljen uvjet zaustavljanja dokopiraj P u P1 i P2napravi jednu iteraciju algoritma α1(P1) i α2(P2)
P := Pbest ∪ Fparticipation(P1, P2)end while
Najprije se odabiru dva algoritma za hibridizaciju, α1 i α2, i stvara se početna po-
pulacija. U svakoj iteraciji populacija se klonira i stvore se dvije identične populacije
P1 i P2. Zatim se napravi jedna iteracija20 oba algoritma. Nova populacija nastaje
20Jedna iteracija podrazumijeva jezgreni dio algoritma, npr. ne stvara se populacija i sl.
41
Slika 4.5: Prikaz hibridnog evolucijskog algoritma [19]
unijom najboljih jedinki iz stare populacije 21 i jedinki koje je vratila funkcija partici-
pacije, a koja mjeri dobrotu generacija P1 i P2 te na temelju definiranog udjela vraća
proporcionalan broj jedinki iz P1 i P2. Slika 4.5 prikazuje hibridni evolucijski algori-
tam. Udio se može računati na više načina i u ovom radu prema [19] implementirana
su četiri načina računanja udjela:
1. konstantan udio,
2. inkrementirajući udio,
3. alternirajući udio,
4. dinamičan udio.
Konstantan udio definira koliki postotak najboljih jedinki će biti iz populacije P1,
a koliki iz P2. Ovakav način računanja je najjednostavniji, ali i najlošiji jer ne dopušta
algoritmu da se prilagodi probl