87
SVEU ˇ CILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RA ˇ CUNARSTVA DIPLOMSKI RAD br. 540 Evolucijski algoritmi temeljeni na vjerojatnosnim razdiobama Karlo Kneževi´ c Zagreb, lipanj 2013.

Evolucijski algoritmi temeljeni na vjerojatnosnim razdiobama · Na kraju, najveca´ hvala mojoj mami i sestri na bezuvjetnoj ljubavi, odricanju i razu-mijevanju — bez vas ovaj rad

  • 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