UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE NAVDIHNJENO RAČUNANJE

Size: px
Start display at page:

Download "UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE NAVDIHNJENO RAČUNANJE"

Transcription

1 UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Andrej Barovič Karpov UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE NAVDIHNJENO RAČUNANJE Magistrsko delo Maribor, junij 2016

2 Smetanova ulica Maribor, Slovenija UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE NAVDIHNJENO RAČUNANJE Magistrsko delo Študent: Študijski program: Smer: Mentor: Somentor(ica): Lektor(ica): Andrej Barovič Karpov Računalništvo in informatika, podiplomski študij red. prof. dr. Marjan MERNIK I

3 ZAHVALA Zahvaljujem se mentorju red. prof. dr. Marjanu Merniku in doc. dr. Mateju Črepinšku za pomoč in vodenje pri opravljanju magistrske naloge. II

4 UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE NAVDIHNJENO RAČUNANJE Ključne besede: inteligentni sistemi, evolucijsko računanje, evolucijski algoritmi, evolucijske strategije, genetsko programiranje, genetski algoritmi, umetni imunski sistem UDK: :615.37(043.2) Povzetek Cilj magistrskega dela je opis (njihova sestava in princip, po katerem delujejo), implementacija algoritmov umetnega imunskega sistema (AIS) in njihova integracija v obstoječo EARS okolje. V AIS skupino algoritmov spadajo CLONALG, NSA, ainet in drugi. Te algoritme smo primerjali z ostalimi optimizacijskimi algoritmi, kot so: PSO, DE, ABC, in TLBO. Primerjavo med algoritmi smo izvedli na CEC skupini problemov in pri tem uporabili statistične teste (NHST) ter novejši pristop CRS4EAs. Rezultati vsake generacije so bili podvrženi dodatnim testom za ugotavljanje eksploracijskih (raziskovalnih) in eksploatacijskih (izkoriščevalnih) lastnosti algoritma AIS. III

5 BIOLOGY INSPIRED COMPUTING ARTIFICIAL IMMUNE SYSTEM Keywords: Intelligent systems, evolutionary computation, evolutionary algorithms, evolutionary strategy, genetic programming, genetic algorithms, artificial immune system UDK: :615.37(043.2) Abstract The aim of the master thesis is the description and implementation of artificial immune system algorithms and their integration into existing EARS environment. The AIS group of algorithms consists of CLONALG, NSA, ainet and others. These algorithms were compared with other optimization algorithms such as PSO, DE, ABC, and TLBO. The comparison between algorithms was performed on the CEC group of problems while using statistical tests (NHST) and the newer approach CRS4EAs. The results of each generation have been subjected to additional tests to determine the exploratory and exploitative characteristics of the AIS algorithm. IV

6 KAZALO 1 UVOD 10 2 IMUNSKI SISTEM IN NJEGOVE BIOLOŠKE OSNOVE 11 3 ALGORITMI UMETNEGA IMUNSKEGA SISTEMA Teorija klonske selekcije (CST) Algoritem negativne selekcije Imunske mreže 25 4 ZGODOVINA RAZISKAV ALGORITMOV UMETNEGA IMUNSKEGA SISTEMA Začetki AIS (raziskave pred 1990) Obdobje pionirjev AIS (raziskave med 1990 in 2000) AIS kot uveljavljena skupina algoritmov (raziskave med 2000 in 2010) Najnovejše raziskave (od 2010 do danes) 28 5 PRIMERI UPORABE ALGORITMOV UMETNEGA IMUNSKEGA SISTEMA AIS aplikacije pred AIS aplikacije od 2000 in primeri uporabe AIS algoritmov v obdobju najnovejših raziskav 31 6 DRUGI MODERNI METAHEVRISTIČNI ALGORITMI PSO (optimizacija z roji delcev) DE (diferencialna evolucija) ABC (algoritem kolonije čebel) 36 V

7 6.4 TLBO (optimizacijski algoritem na osnovi učitelj učenec) 36 7 IMPLEMENTACIJA AIS ALGORITMOV Algoritem negativne selekcije (NSA) Umetno imunsko omrežje (ainet) Algoritem klonske selekcije (CLONALG) B celičen algoritem (BCA) 44 8 PRIMERJAVA REZULTATOV ALGORITMOV Primerjava z NHST in CRS4EAs Preliminarna analiza glede na začetno populacijo Primerjava glede na eksploracijo in eksploatacijo Diskusija 67 9 ZAKLJUČEK Cilji Spoznanja in razprave LITERATURA 69 VI

8 KAZALO SLIK SLIKA 1: INTERAKCIJA MED B IN T CELICO SLIKA 2: PRIMER OPERACIJ KLONIRANJA IN MUTACIJ PROTITELES SLIKA 3: PRIMER HAMMINGOVEGA KODIRANJA SLIKA 4: PRIMER PRINCIPA NEGATIVNE SELEKCIJE SLIKA 5: GRAFIČNI PRIKAZ RAZVRSTITVE (OB DRUGEM ZAGONU) SLIKA 6: GRAFIČNI PRIKAZ RAZVRSTITVE ALGORITMOV (PRVA TEKMA) SLIKA 7: GRAFIČNI PRIKAZ RAZVRSTITVE ALGORITMOV (DRUGA TEKMA, CEC2010 PROBLEMI) SLIKA 8: GRAFIČNI PRIKAZ Z CRS4EAS DOBLJENIH OBČUTNIH RAZLIK SLIKA 9: GRAFIČNI PRIKAZ ŠTEVILA POTREBNIH KORAKOV POSAMEZNEGA ALGORITMA KAZALO TABEL TABELA 1: REZULTAT CLONALG GLEDE NA ZADAN PROBLEM (OB DRUGEM ZAGONU) TABELA 2: REZULTAT CLONALG GLEDE NA OSTALE ALGORITME (OB DRUGEM ZAGONU) TABELA 3: RAZVRSTITEV ALGORITMOV PO DOSEŽENIH TOČKAH (PRVA TEKMA) TABELA 4: RAZVRSTITEV ALGORITMOV PO DOSEŽENIH TOČKAH (DRUGA TEKMA, CEC2010 PROBLEMI) TABELA 5: ŠTEVILO POTREBNIH KORAKOV PRI PREISKOVANJU Z ROBA TABELA 6: ŠTEVILO POTREBNIH KORAKOV PRI PREISKOVANJU SPHERE IN GRIEWANK Z BLIŽINE TABELA 7: ŠTEVILO POTREBNIH KORAKOV PRI PREISKOVANJU ROSENBROCK Z BLIŽINE TABELA 8: MERITEV EVKLIDSKE RAZDALJE VSI IN USPEŠNI (CLONALG, SPHERE, PRAG 0.1) TABELA 9: MERITEV EVKLIDSKE RAZDALJE CLONALG IN DE (USPEŠNI, SPHERE, PRAG 0.1) TABELA 10: MERITEV EVKLIDSKE RAZDALJE ZA PRAG IN 0.01 (CLONALG, VSI, SPHERE) TABELA 11: MERITEV EVKLIDSKE IN MANHATTAN RAZDALJE (CLONALG, PRAG 0.001, USPEŠNI, SPHERE) TABELA 12: MERITEV EVKLIDSKE RAZDALJE CLONALG IN DE (USPEŠNI, GRIEWANK, PRAG 0.001) TABELA 13: MERITEV MANHATTAN RAZDALJE CLONALG IN DE (USPEŠNI, GRIEWANK, PRAG 0.001) TABELA 14: PRIKAZ POVPREČJA IN STANDARDNEGA ODKLONA PRI MERJENJU EVKLIDSKE RAZDALJE MED STARŠEM IN POTOMCEM TABELA 15: PRIKAZ POVPREČJA IN STANDARDNEGA ODKLONA PRI MERJENJU MANHATTAN RAZDALJE MED STARŠEM IN POTOMCEM VII

9 SEZNAM UPORABLJENIH KRATIC ABC - Artificial Bee Colony ainet, AINE - Artificial Immune Network AIRS - Artificial Immune Recognition System AIS - Artificial Immune System ALC - Artificial Lymphocytes APC - Antigen-Presenting Cells BCA - B-Cell Algorithm CLONALG - Clonal Selection Algorithm CNF - Conjunctive Normal Form CRHO - Contiguous Region Hypermutation Operator CRS4EAs - Chess Rating System for Evolutionary Algorithms CST - Clonal Selection Theory DARS - Distributed Autonomous Robotic Systems DCA - Dentritic Cell Algorithm DE - Differential Evolution DNA - Deoxyribonucleic Acid EA - Evolution Algorithm ENSA - Evolutionary Negative Selection Algorithm EP - Evolution Programming ES - Evolution Strategies GA - Genetic Algorithm GAIS - Genetic Algorithm with Iterative Shrinking GP - Genetic Programming HLA - Human Leukocyte Antigen ICARIS - International Conference on Artificial Immune Systems IgG, IgA, IgM, IgE, IgD - Immunoglobulin G, A, M, E, D JSON - JavaScript Object Notation MHC - Major Histocompatibility Complex MISA - Multi-Objective Immune System Algorithm MOM-AiNet - Multi-Objective Optimised ainet NHST - Null Hypothesis Significance Testing NSA - Negative Selection Algorithm omni-ainet - Omni Optimised ainet VIII

10 opt-ainet opt-ainet-aa-clust opt-ia PDP PSO RWA SAT SVM TEA TFH TLBO TSP - Optimised ainet - opt-ainet for Amino Acid Clustering - Optimization Immune Algorithm - Parallel Distributed Processing - Particle Swarm Optimization - Random Walk Algorithm - Satisfiability - Support Vector Machine - Trend Evaluation Algorithm - Follicular Helper T Cells - Teaching-Learning-Based Optimization - Travelling Salesman Problem IX

11 Uvod 1 UVOD S strani biologije navdihnjeno računanje je področje strojnega učenja, umetne inteligence, ki se v veliki meri opira na področje biologije, računalništva in matematike. Je izdelava algoritmov, kateri se zgledujejo po bioloških sistemih in vključujejo evolucijske algoritme, inteligenco roja (npr. kolonije mravelj, čebel), nevronske mreže in algoritme na osnovi celičnih struktur. Znanstveniki s področja računalništva že od nekdaj poskušajo posnemati čudežno funkcionalnost človeškega telesa in ob zgoraj naštetih že uveljavljenih algoritmih se pojavljajo tudi novi algoritmi, ki temeljijo na umetnem imunskem sistemu (AIS). Cilj naloge je bil raziskati in implementirati na umetnem imunskem sistemu zgrajene algoritme. Zanimalo nas je tudi, kakšna je njihova uspešnost v primerjavi s podobnimi algoritmi ter kakšne so njihove eksploracijske in eksploatacijske lastnosti. Naloga je sestavljena iz predstavitve teorije imunskega sistema in teorije do sedaj najbolj uporabljanih AIS algoritmov. Prikazali smo zgodovino raziskav in primere uporabe AIS algoritmov. Ker smo AIS algoritme primerjali z drugimi, na bioloških sistemih zgrajenimi algoritmi, smo tudi te, ki so sodelovali v tekmi, na kratko opisali. V sedmem in osmem poglavju smo predstavili jedro našega dela, implementacijo AIS algoritmov in primerjavo rezultatov med algoritmi. 10

12 Imunski sistem in njegove biološke osnove 2 IMUNSKI SISTEM IN NJEGOVE BIOLOŠKE OSNOVE Imunski sistem [5] je zapleten mehanizem, ki dnevno ščiti človeško telo pred milijoni bakterij, mikrobov, virusov, strupov in parazitov. Deluje v vsakem trenutku na tisoče različnih načinov in njegovo delovanje ostane neopaženo, dokler ne pride do odpovedi delovanja. Par primerov odpovedi oz. napačnega delovanja: - pri vreznini se imunski sistem odzove protiinfekcijsko in omogoči tkivu, da se zaceli. V kolikor pride od izpada imunskega sistema, rana zateče in se zagnoji, - prehlad je posledica izpada imunskega sistema pri uničenju virusov ali bakterij, ki se prenašajo po zraku, - do reakcije z neprimerno hrano pride v primeru, kadar želodčna kislina ne uspe uničiti patogenov, ki jih v telo vnašamo s hrano, - alergije so primer pretiranega delovanja imunskega sistema z neustreznim odzivom. Imunski sistem človeka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatični organi (priželjc, vranica, bezgavke in limfne kapilare ter žile), - limfociti (zaradi svojih sposobnosti uničevanja tujih zajedalcev predstavljajo glavni del obrambnih mehanizmov oz % vseh levkocitov), - imunoglobulini (topne glikoproteinske molekule, ki so se sposobne vezati na tujke in jim s tem preprečijo, da bi škodovali organizmu), - citokini (delujejo kot posredniki med elementi imunskega sistema), - sistem komplementa (sestavlja okrog 30 majhnih beljakovin, proencimov, ki nastanejo v jetrih in se nahajajo v krvi). Levkociti oz. bela krvna telesa se razvijejo iz osnovne matične celice (hemocitoblast-a) in se delijo na: limfoblast, prolimfocit, veliki limfocit, mali limfocit, limfoplazmocitoidno celico, imunoblast, imunocit, centroblast, centrocit, plazmoblast, proplazmocit in plazmatko. Po funkcionalnosti delimo limfocite na T celice, ki so nosilci celične imunosti in imajo tri različne vloge: neposredno uničujejo antigene, zavirajo delovanje antigenov, v obrambi sodelujejo z B celicami ter B celice, ki predstavljajo specifično imunost in za svojo aktivacijo potrebujejo aktivatorje. Aktivirane B celice se razvijejo v plazmatske celice in z kloniranjem proizvajajo nova protitelesa. 11

13 Imunski sistem in njegove biološke osnove Slika 1: Interakcija med B in T celico Interakcija med B in T celicami [25] je precej kompleksna in pomembna. Znano je, da B celice za izdelavo specifičnih protiteles zahtevajo pomoč T celic. Klasični poskusi kažejo, da antigensko specifične T celice pomagalke reagirajo z antigensko specifičnimi B celicami preko antigenskega "mostu". B celice se vežejo na antigenske molekule ("tujke"), medtem ko se T celice pomagalke vežejo na njihovo predstavitev oz. APC. APC dobimo z reakcijo antigena in T celic, te predstavitve pa se v kodirani obliki shranjujejo v predstavitvi MHC, ki deluje kot leksikon telesu do sedaj poznanih tujkov. V vsaki celici telesa je shranjen tudi zapis HLA, ki markira to celico kot lastno celico in ne kot tujek. Take celice imunski sistem ignorira. Pri novorojencih se mamin MHC prenese na otroka, vendar ta ni trajen. Vsak osebek si mora leksikon zgraditi sam. V pomoč nam pridejo cepiva (oslabljeni primerki bolezni), ki dopolnijo leksikon z nam do sedaj pozabljenimi boleznimi, kakor tudi v primerih, kjer se bolezen lahko tako hitro razširi, da imunski sistem sam ni sposoben pravočasno zagotoviti ustreznega obrambnega mehanizma. Zanimiv pa je tudi HLA in z njim povezani defekti. V primeru transplantacij ni nujno, da se HLA dveh osebkov ujema, zato se vedno preverja ujemanje donatorja in prejemnika. V nasprotnem primeru telo transplant smatra kot tujek. V primeru, kadar se v telesu dogajajo okvare pri zapisu HLA ali pri razumevanju HLA s strani imunskega sistema, prihaja do avtoimunskih bolezni. Takrat imunski sistem ne ločuje lastnega telesa in tujkov ter napada vse celice po vrsti. 12

14 Imunski sistem in njegove biološke osnove Slika 2: Primer operacij kloniranja in mutacij protiteles [40] Normalno delovanje imunskega sistema spremlja nizka stopnja spontanih mutacij (ena mutacija na 106 celičnih delitev). V primeru bolezenskega stanja pa se imunski sistem odzove s primarnim in sekundarnim odzivom. Primarni odziv v začetku bolezenskega stanja se odraža v proizvodnji za antigen specifičnih protiteles, ki se dogaja v limfnih organih (vranica in bezgavke). Proizvodnja B celic sestoji iz mutacij (ena na 1600 delitev) in kloniranja. Ko se zgodi dovolj veliko število mutacij, se nad klonirano populacijo B celic izvaja selekcija z njimi sorodnimi TFH (T celice pomagalke) celicami, kjer se glede na rezultat (afiniteto oz. ujemanje) celice delijo na tri skupine: večina klonov direktno sodeluje v obrambi, delež celic sodeluje kot spominske celice s podaljšano življenjsko dobo in tiste z najmanjšo afiniteto do antigena doleti apoptoza (oz. celična smrt). Sekundarni odziv se nanaša na spominske celice, kjer se odziv klonov na enak antigen odraža v akumulaciji sorodnih celic. Do sedaj ni znano, kdaj tak model doseže optimum delovanja oz. kdaj rezultat gravitira k točno določeni rešitvi t.j. populaciji klonov, ki se med seboj ne razlikujejo. 13

15 Imunski sistem in njegove biološke osnove Protitelesa se razlikujejo po velikosti, obliki molekul (vsa so sestavljena iz štirih polipeptidnih verig: dveh težkih in dveh lahkih) in po vlogi, ki jo imajo v imunskem sistemu. Verige so razporejene v obliki črke Y. So med seboj povezane z disulfidnimi mostički. Protitelesa z obema vrhovoma krakov Y (aminokislinskih ostankih) vežejo različne tujke (antigene) in jih razvrščamo v več razredov: IgG, IgA, IgM, IgE in IgD. V telesu je največ imunoglobulinov iz razreda IgG, zato so te molekule nekakšni prototipi za vsa protitelesa. Aminokislina je v kemiji na splošno vsaka molekula, ki vsebuje tako aminsko ( NH2) kot karboksilno ( COOH) funkcionalno skupino. Variacije različnih aminokislin tako določajo število kombinacij različnih antigenov. 14

16 Algoritmi umetnega imunskega sistema 3 ALGORITMI UMETNEGA IMUNSKEGA SISTEMA Algoritmi umetnega imunskega sistema (AIS) so definirani kot: "Adaptivni sistemi, ki temeljijo na teoriji imunologije in opaženih imunskih funkcij, načel in modelov, kateri se uporabljajo za reševanje problemov." [10] So eden od številne vrste algoritmov, ki se zgledujejo po bioloških sistemih, kot so: evolucijski algoritmi, inteligenca množic, nevronske mreže in računanje celičnih membran. Evolucijski algoritmi spreminjajo dedni zapis s tremi osnovnimi operatorji: mutacija, selekcija in rekombinacija. Pri inteligenci množic posamezne entitete sledijo preprostim pravilom, kako se obnašajo kot posamezniki, med seboj in s svojim okoljem. Poznamo algoritme po vzoru kolonij mravelj, čebel, ptic, rast bakterij, mikrobov in druge. Nevronske mreže so sestavljene iz množice umetnih nevronov (pragovnih funkcij), ki imajo več različno uteženih vhodov in en izhod ter so med seboj povezani. Uteži vhodov posameznih nevronov, povezave med nevroni ter prag, pri katerem nevron na izhodu odda signal, se oblikujejo z učenjem, dokler nevronska mreža ni zmožna optimalno rešiti nekega problema. Koncept računanja celičnih membran v splošnem predstavlja membrano kot ločilo dveh regij in zagotavlja selektivno komuniciranje med obema regijama. Regije povezujejo pravila, ki določajo, kako so objekti proizvedeni, porabljeni, preneseni na druge regije, in kako vplivajo drug na drugega. Navdih AIS algoritmov prihaja iz človeškega imunskega sistema. Obstaja veliko različnih podvrst algoritma, med katerimi so najpomembnejši: teorija klonske selekcije, negativna selekcija in teorija imunskih omrežij. Teorija klonske selekcije (CST) [64] je teorija, ki zajema osnovne odzive imunskega sistema na tujke (antigene). Tiste celice, ki imajo sposobnost prepoznavanja antigena, se razmnožujejo, medtem ko se tiste, ki antigena ne prepoznajo, uničijo. Celice delimo na T in B celice. B celica postane aktivirana, ko se na njene receptorje veže antigen, kar omogoči nastanek spominskih celic. Pri tem procesu se proizvajajo tudi kloni B celic, ki gredo skozi mutacijo, kar zagotavlja raznolikost populacije B celic. Za spominske celice na splošno velja, da imajo dolgo življenjsko dobo in zagotavljajo hiter odziv ob poznejšem srečanju z isto (ali podobno) obliko antigena, kar predstavlja fenomen pridobljene imunosti. Kakor na zunanje vsiljivce, lahko limfociti reagirajo tudi na material, ki prihaja iz celic gostitelja. Če to vodi do polnega imunskega odziva, lahko povzroči škodo na gostiteljevem organizmu (avtoimunost). Samoreaktivni limfociti se lahko pojavijo, ker so gradniki protiteles (B celic) različni genski segmenti, ki so naključno sestavljeni in gredo skozi 15

17 Algoritmi umetnega imunskega sistema proces mutacije. Negativna selekcija je mehanizem pomoči pri zaščiti telesa kot proizvodnja limfocitov, ki so sposobni prepoznati samopodobne antigene. Negativna selekcija T celic se dogaja v priželjcu ali timusu (žlezi, ki je nameščena znotraj prsnega koša, neposredno izza prsne kosti). Ta skrbi za dozorevanje T celic tako, da tvori visoko nepropustne ovire makromolekulam, kjer gredo nedozorele T celice skozi postopek izbire, preden so izpostavljene antigenom. Imunska omrežja [64] predstavlja mreža B celic. Ta mreža se gradi preko ujemanja paratopov in idiotopov, ki se nahajajo na vsaki B celici. Vez, ki se zgradi med paratopom ene B celice in idiotopom druge, ima učinek spodbujanja B celic in preko tega je imunski sistem sposoben doseči stabilno pomnilniško strukturo (imunološki spomin). Za preprečevanje kreiranja neželenih vezi obstaja določena količina zatiranja med celicami B, ki deluje kot regulatorni mehanizem. Obstaja veliko razlogov, zakaj je bil imunski sistem obravnavan kot vir navdiha za načrtovanje novih algoritmov in sistemov. Ima veliko lastnosti: samoorganizacijo, učenje in spomin, prilagajanje, prepoznavanje, robustnost in razširljivost; ki so v inteligentnih sistemih zaželene. Umetni imunski sistem je področje raziskav, ki povezuje discipline imunologije, računalništva in inženiringa. Raziskovalno delo o AIS lahko razdelimo na imunsko modeliranje, teoretičen AIS in aplikativen AIS. Imunsko modeliranje vključuje delo, ki opisuje modele in simulacije naravnih in umetnih imunskih sistemov. Teoretičen AIS opisuje teoretične vidike AIS in vključuje matematično modeliranje algoritmov, konvergenčno analizo, analizo zmogljivosti in zapletenosti teh algoritmov. Aplikativen AIS se nanaša na razvoj algoritmov umetnega imunskega sistema, gradnjo imunološko navdihnjenih računalniških sistemov, uporabo AIS v raznih aplikacijah v realnem svetu. Osnove umetnega imunskega sistema Ogrodje biološko navdihnjenega algoritma, zlasti kadar gre za AIS, morajo sestavljati naslednji osnovni elementi [64]: - predstavitev osnovnih gradnikov sistema, - nabor mehanizmov za oceno interakcije posameznika z okoljem in med seboj (okolje je običajno simulirano z eno ali več ocenitvenimi funkcijami), - postopki prilagajanja, ki urejajo dinamiko sistema (to je, kako se vedenje algoritma spreminja skozi čas). 16

18 Algoritmi umetnega imunskega sistema Osnovni gradniki Posledica kreiranja tega preprostega ogrodja je večslojni pristop k razvoju AIS. Mnogi avtorji so trdili, da je aplikacija predpogoj h gradnji AIS, saj gradniki in sama predstavitev temelji na danem problemu (npr. reševanje neke funkcije potrebuje čisto drugačne gradnike kot optimizacija problema trgovskega potnika). Osnovni gradniki v AIS [64] so zastopani v različnih oblikah kot npr. realna števila, Hammingov zapis števil ali katero koli drugo kodiranje, od katerih vsaka oblika nosi svojo posebnost in mora biti izbrana primerno problemu. Nabor mehanizmov za oceno interakcije Ko je predstavitev osnovnih gradnikov izbrana, se uporablja ena ali več oblik meritev afinitete oz. načinov za merjenje interakcije med elementi sistema. To je npr. lahko Hammingova ali evklidska metrika razdalje, ki ponovno ima svojo posebnost. Funkcija afinitete mora prav tako biti izbrana z veliko pozornostjo, saj lahko vpliva na splošno učinkovitost sistema. Postopki prilagajanja Perelson in Oster sta uvedla pojem oblike prostora [55] kot kvantitativen način za opis afinitete med celicami in antigeni. Osnovna ideja oblike prostora je, da stopnja ujemanja med receptorji na površini imunske celice in epitopi (molekularni strukturi, ki se ujema z receptorji) določa trdnost vezave (afiniteto) [64] oz. v kolikšni meri se molekule fizično ujemajo, kar je odvisno od njihove oblike. Količina afinitete določa, kateri tip celic bo stimuliran ter se bo s klonsko selekcijo množil, in kateri tip bo nazadoval. Analogijo ujemanja receptorjev in antigenov lahko na enostaven način predstavimo z ujemanjem ključa in ključavnice. Vrata odpira ključ, ki se poda v ključavnico, medtem ko ujemanje epitopov in receptorjev daleč od perfektnega in vendar lahko pride do stimulacije, ker je stopnja ujemanja ustrezna. Ko modeliramo stopnjo ujemanja, lahko receptor predstavimo s točko (ali obširneje z regijo) v obliki prostora določene dimenzije. Epitop je prav tako predstavljen s točko (ali regijo), afiniteto med njima pa definiramo z razdaljo med točkami. V biološkem okolju dimenzija oblike prostora ni nujno enako fizičnem prostoru, v katerem merimo, ampak število različnih koordinat, ki so potrebne za določitev posplošene oblike vpletenih osebkov (epitopov in receptorjev). 17

19 Algoritmi umetnega imunskega sistema Za enostaven primer vzemimo enodimenzionalni prostor, kjer vsak celični receptor vsebuje nabor dolžin l, in epitopi, ki se povezujejo, morajo imeti dolžino manjšo ali enako dolžini l iz nabora. Afiniteto v tem primeru predstavlja ujemanje dolžin. V tem enodimenzionalnem prostoru imajo receptorji in epitopi gradnike iz realnih števil, afiniteto iz pozitivnih realnih števil pa zapišemo s x [0, l] in l predstavlja maksimalno afiniteto. Za receptor s koordinatami x = (x 1, x 2,... x n ) in epitop z y=(y 1, y 2,... y n ), nam standardna evklidska metrika med njima da afiniteto D(x, y) = n j=1 (x j y j ) 2. Kot poenostavitev sta Perelson in Oster predlagala "prepoznavno žogo" [59] radija B(x) = {y D(x, y) < r} in v tej poenostavitvi odziv lahko zapišemo kot t. Epitopi znotraj radija izzivajo imunski odziv, tisti zunaj pa glede na receptor nimajo nobenega odziva. Velikost žoge (radij r) je v splošnem odvisna od receptorja. Žoga pa ni zmeraj okrogla. Večina modelov AIS algoritmov kljub pomanjkljivostim uporablja diskretno aproksimacijo zveznega prostora, kjer realna števila prinašajo veliko razdrobljenost številk za decimalno vejico in relativno grobo zrnatost ob pogledu večjih vrednosti. Bolj primerna bi bila Hammingova predstavitev v diskretnem prostoru [64], ki uporablja štiri simbole, temelječe na DNA kodiranju (Adenin, Citozin, Gvanin in Timin). Sama predstavitev vsebuje pravila kodiranja receptorjev in epitopov, kot tudi abstrakcijo funkcije prileganja. Večinoma se je s tem ukvarjal Percus v delu»predvidevanje velikosti receptorja T celice in protiteles s kombiniranjem regij z upoštevanjem učinkovitosti razlikovanja sebe in tujka«[54] in naj iz njegovega dela povzamemo definicijo:»element e L, z e=(e 1, e 2,... e L ) se ujema po r-ponovitvenem pravilu, če obstaja pozicija p kjer e i =d i za i=p,, p+r-1, p Lr+1. Torej dva elementa se ujemata, če se ujema r znakov. Slika 3: Primer Hammingovega kodiranja Glavnina raziskav v AIS se osredotoča na tri imunološke teorije: klonsko selekcijo, negativno selekcijo in imunska omrežja. 18

20 Algoritmi umetnega imunskega sistema 3.1 Teorija klonske selekcije (CST) Obstaja kar nekaj algoritmov, ki temeljijo na klonski selekciji in večina se uporablja za reševanje optimizacijskih problemov (npr. CLONALG [13], opt-ia [52], B celičen algoritem BCA [42] in mnogo točkovna optimizacija [16],[19]. Iz računske perspektive ideja klonske selekcije sestoji v algoritmih, ki iterativno izboljšujejo nabor osebkov. Ti rešujejo problem skozi proces kloniranja, mutacije in selekcije, kar je precej podobno genetskim algoritmom. Če se osredotočimo na enostaven primer, kjer za osebke (B celice) lahko rečemo, da je vsaka celica neodvisna entiteta (brez interakcije do ostalih celic), predstavljena kot L-dimenzionalen vektor v, v binarnem Hammingovem zapisu. Ocenitvena funkcija g v populaciji P, se izračuna za vsak g(v), nakar se B celice klonirajo v populacijo C. V populaciji C se dogajajo spremembe (mutacije), za dosego raznolikosti v iskanju rešitev pa se dodajajo tudi naključni osebki. Velikost populacije C je ponavadi enaka velikosti populacije P, vendar to ni nujno zmeraj tako. Mutacije se dogajajo po iterativnem mehanizmu hipermutacijskega operatorja somatskih regij (CRHO), kjer ρ določa verjetnost spremembe vsakega bita v nizu. Za uspešno računanje je vrednost ρ veliko večja kot mutacije v naravi in je bila določena empirično [42]. Za razliko od genetskih algoritmov, BCA in ostalih, algoritmi CST ne uporabljajo operacij križanja. Na poti B celic k globalnem optimumu je za ustavitveni kriterij uporabljena funkcija, ki meri razdaljo do znanega lokalnega optimuma. V kolikor se vrednosti v nekem času ne izboljšajo, se algoritem prisilno ustavi. Algoritem BCA vhod: g(v) = funkcija, ki jo moramo optimizirati izhod: P = populacija osebkov begin 1. Izberi osebke prvotne populacije P v prostoru Σ L, 2. Ponavljaj do ustavitvenega kriterija 2.1. Za vsak v P, preračunaj g(v) in ustvari klonirano populacijo C, 2.2. Izberi naključen v C in izvajaj CRHO, 2.3. Preračunaj g(v ); če g(v ) > g(v) potem zamenjaj v z klonom v, 3. Izpiši populacijo P kot rešitev end. 19

21 Algoritmi umetnega imunskega sistema CST algoritmi [64] so stohastične narave, zato je evolucija populacije v diskretnem prostoru odvisna le od trenutnega stanja sistema (in ne od preteklosti). To pravilo, kot tudi način, kako se izračuna naslednja generacija populacije, velja tudi za Markove verige in lahko to vrsto AIS algoritmov obravnavamo po teh znanih pravilih. Splošen CST algoritem ima populacijo N p osebkov, kjer je vsak osebek x L. je končna množica določene abecede (ponavadi = {0, 1}). Stanje, v katerem se nahaja sistem, lahko zapišemo kot X=(x 1, x 2, x Np ) in prostor kot LNp. Ker je prostor končen, lahko določimo vrednost za katerikoli X, če preštejemo elemente iz LNp ter tako identificiramo vsa stanja od 1 do M, kjer je M = LNp število vseh možnih stanj. Ker je algoritem stohastičen, za vsak korak (ali generacijo) t obstaja naključna spremenljivka X t vrednosti od 1 do M, ki odgovarja stanju sistema. Obnašanje algoritma lahko zakodiramo kot neskončno zaporedje naključnih spremenljivk X 0, X 1, X 2,..., ob tem pa nas zanima verjetnost prehoda v X t in obnašanje sistema kadar t. Naj v t označujejo vrstice enodimenzionalnega vektorja za verjetnostno porazdelitev X t, tako da je j-ta komponenta vektorja v t, j = P (X t = j), kar predstavlja verjetnost, da je sistem v stanju j v času t. Za generičen algoritem klonske selekcije verjetnost, da se sistem premakne iz j v k, v času t + 1, ni odvisna od t. Verjetnostna porazdelitev v času t+1, ob pravilih o pogojeni verjetnosti, se glasi [64]: M P(X (t+1) = k) = j=1 P(X (t+1) = k X t = j)p(x t = j); oz. bolj podrobno M v (t+1,k) = v (t,j) P jk j=1 kjer je P jk = P(X t+1 = k X t = j) verjetnost prehoda iz stanja j v k oziroma P jk = P(X 1 =k X 0 =j), torej zaporedje spremenljivk X t predstavlja homogeno Markovo verigo. Zgornjo enačbo lahko povzamemo v matrični obliki, kot v t+1 = v t P, kjer je P = (P jk ) matrika prehoda, M M prehodnih verjetnosti. Sledi v t = v 0 P t, tako da je asimptotska porazdelitev verige odvisna od mejnega obnašanja P t kadar t. Za posamezno stanje verige j rečemo, da se absorbira, če P jk = 0 za vsak k j oz. ko sistem doseže to stanje, ki ga ne bo nikoli zapustil. Markova veriga se absorbira, če ima vsaj eno absorbno stanje, ki ga je možno doseči iz katerekoli točke. Da bi razumeli konvergenčni dokaz je koristno, da predstavimo še eno teorijo. Stanje j verige, če P(X t =j za nek t 1 X 0 =j) = 1, imenujemo končno. V nasprotnem primeru ga imenujemo prehodno. Če se sistem prične v končnem stanju, je verjetnost, da tam konča, 1. Za prehodno pa ni nujno, da se sistem v njega vrne. 20

22 Algoritmi umetnega imunskega sistema Analiza BCA Algoritmi klonske selekcije se običajno uporabljajo pri optimizaciji funkcij in iskanju rešitev določenih problemov. Zlasti BCA predstavlja tipičen primer imunskega algoritma, ki se uporablja za optimizacijo, medtem ko je za bolj splošen problem večkriterijske optimizacije uporabljan MISA [19], kot večkriterijski algoritem umetnega imunskega sistema. Preden se osredotočimo na podrobnosti B celičnega algoritma [64], je vredno poudariti podobnosti med AIS algoritmi klonske selekcije in genetskimi algoritmi (GA). Z nastavitvijo matrike prehoda vidimo bolj pregledno analizo, kako se značilnosti Markove verige ujemajo z operatorji algoritma. Evolucijski algoritmi so že kar nekaj časa modelirani po principu Markovih verig. Nix in Vose [53] sta npr. predstavila natančen model Markove verige preprostega genetskega algoritma, ki je bil analiziran v številnih študijah. Model ne prikazuje konvergentnosti GA, čeprav se izkaže, da je z dodatnim pogojem elitizmom, algoritem konvergenten. Pravzaprav novejše raziskave s strani G. Rudolpha [58] govorijo o splošnih zadostnih pogojih za konvergenco. Torej je dovolj, da so ti pogoji izpolnjeni in ni potrebe po podrobnem modeliranju. V tem smislu obstaja splošno ogrodje za razumevanje konvergence GA, kar vleče vzporednico splošnemu matematičnemu ogrodju, ki bi omogočil prikaz konvergence kompletni AIS družini algoritmov, namesto iskanja specifičnega dokaza za vsak algoritem posebej. V. Cutello, G. Nicosia, P. Oliveto, M. Romeo [20] govorijo prav o takem modelu v študiji "O konvergenci imunskih algoritmov", ki vključuje izbiro različnih shem hipermutacije, staranja in drugih zadostnih pogojev za konvergenco. Ena izmed najbolj zanimivih značilnosti BCA je operator predstavljen s strani E. Clark, A. Hone, J. Timmis, v študiji "Model Markove verige za BCA" [15] kot uvod v dokaz konvergence. Iz strukture operatorja mutacije je mogoče razumeti najpomembnejše značilnosti prehoda matrike P, povezane z algoritmom. Kot je bilo že omenjeno, BCA vzdržuje dve populaciji rešitev: nabor v spominskih celicah in bazen klonov. V primeru, ko ima bazen klonov C samo enega člana, je možno dobiti formulo verjetnosti vseh možnih mutacij (dokaz je mogoče razširiti za primer poljubne velikosti klonskega bazena). Seštevek teh verjetnosti dobimo s preštevanjem vseh možnih načinov pojavljanja enake mutacije. Naj bo f T verjetnost prehoda iz nič do nekega števila T (Tstanje niza dolžine L), torej velja [64]: a L 1 A f T = 1 [ (1 ρ)(m+1 n k) ρ k + n(1 ρ) (L+1 n k) ρ k ], L2 n=1 m=b n=1 21

23 Algoritmi umetnega imunskega sistema kjer je: a položaj prvega zamenjanega bita in b položaj zadnjega zamenjanega bita (oba merjena z razdaljo od najbolj pomembnega bita), k je skupno število bitov, ki jih je treba obrniti pri mutaciji od 0 do T in ρ je verjetnost, da je bit mutiran v sosedno regijo. V tem okolju imamo 0 T 2 L 1, a b L in 0 ρ 1. Enačbo lahko uporabimo za računanje verjetnosti vseh mutacij, ki niso enake nič in ta formula je dovolj splošna, da se lahko uporablja tudi za Gray-evo ali katerokoli drugo binarno kodiranje sistema. Naj bodo ne-optimalna stanja prehodna za 0<ρ<1 in matrika elementov naj vsebuje le bite, ki niso enaki 0. Jasno je, da bo f T >0, če je (1-ρ)>0 in ρ>0. Možno je doseči lokalni optimum v enem koraku iz kateregakoli začetnega stanja, ne glede na podrobnosti primerjalne funkcije. Torej za ne-optimalno stanje j je verjetnost, da ostane v tem stanju za en časovni korak p=p jj <1. Potem ko lokalni optimum preide v stanje večje afinitete, se v lokalni optimum ne vrne nikoli več, saj verjetnost prehodne matrice prepoveduje prehode v enako ali nižjo afiniteto. Tako sledi, da če P jk (n) je j, k nivo P n potem [64]: P jj (n) = p n n=0 kjer sledi, da je stanje j prehodno. n=0 = 1 1 p < 3.2 Algoritem negativne selekcije Osnovna ideja algoritma negativne selekcije je ustvariti več detektorjev v komplementarni nabor N in nato uporabiti te detektorje za razvrstitev novih podatkov kot lastnih vrednosti ali tujkov. Algoritmi negativne selekcije se v veliki meri uporabljajo v raziskavah AIS in so bili med razvojem podvrženi številnim spremembam. Kot osnovo vzemimo študijo S. Forrest, A.S. Perelson, L. Allen in R. Cherukuri iz leta 1994 s simpozija o razvoju in varnosti o "Ločevanje lastnih vrednosti tujkov v računalniku" [27]. Tam opisan algoritem lahko povzamemo v naslednjih korakih: vhod: S = nabor lastnih vrednosti izhod: D = nabor generiranih detektorjev begin 1. Določi lastne vrednosti kot nabor elementov S v prostoru Σ L, 2. Generiraj nabor detektorjev D, tako da se vsak element iz D ne ujema z elementi iz S. 3. Preglej δ Σ L z nenehnim ujemanjem detektorjev D proti δ. Vrednosti, ki se ujemajo označimo kot lastne, ostale kot tujke. end. 22

24 Algoritmi umetnega imunskega sistema Oblika prostora Σ L vsebuje nabor lastnih vrednosti S Σ L ter nabor tujkov N Σ L, ki je komplement N = Σ L \ S, tako da Σ L = S N in S N =. Slika 4: Primer principa negativne selekcije [64] Algoritem negativne selekcije je eden izmed najbolj pogosto uporabljenih algoritmov za reševanje problemov odkrivanja anomalij. V realnem svetu se izkaže, da je ugotovitev učinkovitih r-mestnih detektorjev računsko neizvedljiva, če dolžina ujemanja r prevelika (npr. r>32). Pri analizi naključnega generiranja detektorjev se osredotočimo na k-cnf zadostitveni problem ter ugotovitev, da je iskanje detektorjev ekvivalent iskanju dodelitvenih nizov k-cnf primerov. Verjetnost zaznave naključne generacije detektorjev Aproksimacija verjetnosti naključno najdenega detektorja iz prostora {0,1} L (pri uporabi pravila ujemanja r-dolžine) izhaja iz naključno sestavljenega antigena in rezultatov iz teorije verjetnosti, kjer je problem formuliran kot: "Zaporedje n znakov S in F, ki vsebuje 23

25 Algoritmi umetnega imunskega sistema toliko S nizov dolžine r, kot je neprekrivajočih neprekinjenih blokov, ki vsebujejo le zaporedja S dolžine r. je [64]: Verjetnost neuspeha L poskusov nizov dolžine r z rezultati S (uspeh), F (neuspeh) 1 px. 1 kjer p = q = 1 in x = 1 + (r+1 rx)q x L+1 2 qpr + (r + 1)(qp r ) Zgornji izraz lahko pretvorimo v verjetnost uspeha, da detektor prepozna naključni antigen: P WF = 1 ( 1 px. 1 (r+1 rx)q x L+1) Naj bo {0, 1} L prostor v Hammingovem zapisu, {D 0, D, S} {0, 1} L in D 0 = število začetnih detektorjev (pred negativno selekcijo) D = število detektorjev (po negativni selekciji) S = število lastnih elementov v S P WF = verjetnost iz enačbe zgoraj P S = verjetnost naključnega elementa iz {0, 1} L, ki se ne ujema z elementom iz S = (1 P WF ) S e P WF S P fail = verjetnost, da D detektorji ne odkrijejo tujega bitnega niza. P fail = (1 P WF ) D e P WF D Glede na vnaprej določeno število naključno pripravljenih začetnih detektorjev D 0, S in P WF, dobimo število primernih detektorjev D, ki se ne ujemajo z nobenim elementom iz S, kot sledi: D = D 0 P S. Število detektorjev D, ki ne zazna tujega bitnega niza z verjetnostjo P fail je D = ln (P fail). Iz obeh enačb za D pa dobimo število začetnih P WF detektorjev D 0 = ln (P fail), kar pomeni, da za detekcijo tujega bitnega niza ob P WF P S verjetnosti P fail, kjer D detektorjev ne zazna tujega bitnega niza, potrebujemo D 0 začetnih detektorjev. S preoblikovanjem zgornje enačbe v e PWF S ( ln(p fail) ) se zdi, da D 0, oz. število začetnih detektorjev raste eksponentno s S in da ta naključni pristop iskanja postane neizvedljiv za velik S. P WF Povezava med detektorji dolžine r in k-cnf zadostitvenim problemom Boolean zadostitveni problem lahko oblikujemo v smislu problema odločitve oziroma v jeziku SAT [18] in sicer kot formulo v normalni konjunktivni obliki (CNF). K-CNF Boolova formula je zadostna, če obstaja niz vrednosti (0 lažnih in 1 resničnih), ki povzroči, da je skupna vrednost formule 1, torej ima logično vrednost true. 24

26 Algoritmi umetnega imunskega sistema Kompleksnost L-k-CNF Iskanje vseh r-mestnih detektorjev zahteva najmanj Ω (2 k ) vrednotenj bitnih nizov, kar utemeljuje dejstvo, da je Ω (2 k ) ocen potrebnih, da najdemo vse zadovoljive nabore za prvi stavek vsakega od s S. Preostale (l-r) stavke od vseh s S je treba preveriti, in ugotoviti, za katerega od njih zadošča O( S 2 k ) izračunov. K-CNF zadostitveni problem je odločitveni problem, kjer je vhod boolean formula f in izhod logična vrednost "da", če je f zadovoljiva in "ne" v nasprotnem primeru. Trenutno najhitrejši znani determinističen algoritem, ki rešuje 3-CNF [34] problem, potrebuje O (1.473 n ), pri čemer je n število spremenljivk. Radi bi poudarili še, da k-cnf algoritmi odločajo, kdaj je boolean formula zadovoljiva, vendar ne vrača vseh možnih rešitev. 3.3 Imunske mreže ainet algoritem sta razvila avtorja de Castro in von Zuben [9]. Cilj je najti čim manjši niz točk, ki natančno predstavljajo nabor vhodnih točk, oz. zgoščen vhodni niz, sestavljen s čim manj redundance. Razvoj populacije k nizu učinkovitih detektorjev je zelo podoben CST pristopu, s to razliko, da je interakcija med člani populacije preko mehanizma zatiranja, kar pomeni, da člane, katerih rezultat medsebojne tekme pade pod določeno mejo, odstranimo. Poenostavljeno različico ainet lahko opišemo kot: vhod: G = vzorec za prepoznavo, množica N naključnih detektorjev, število najboljših protiteles n izhod: M = množica generiranih detektorjev, ki znajo prepoznati vhodni vzorec begin 1. Ustvari začetno naključno populacijo B. 2. Ponovi za vsak naučen vzorec: 2.1. Vsakemu članu iz N določi inverzno razdaljo za vzorec v B, 2.2. Izberi n članov iz B, ki se najbolje ujemajo z vzorcem 2.3. Kloniraj in mutiraj n članov v razmerju s tem, kako dobro se prilegajo vzorcu Ohrani člana z najvišjim ujemanjem n in ga shrani v niz M 2.5. S pomočjo omrežja izvedi tekmo v M in odstrani šibke člane iz M 2.6. Ustvari b naključnih elementov in jih shrani v B end. 25

27 Algoritmi umetnega imunskega sistema Teoretična podlaga algoritmov imunskega omrežja Navdih AIS algoritmov izhaja iz modelov teoretične imunologije, predstavljene že leta 1986 v članku J.D. Farmer, N.H. Packard, A.S. Perelson, z naslovom "Imunski sistem, prilagoditve in strojno učenje" [26]. Ti modeli so oblikovani v smislu avtomatov, diferencialnih enačb ter nelinearnih diferencialnih enačb za mreže celic in populacije antigenov. Ob tem, da teorija dinamičnih sistemov vsebuje široko paleto orodij za analizo nelinearnih modelov, se vprašamo, ali bi lahko ta orodja uporabili tudi za reševanje AIS. Glede na to, da je število imunskih celic v človeškem telesu reda 10 12, je smiselno uporabiti zvezni model populacije limfocitov (diferencialnih enačb), kjer je število celic, ki predstavljajo populacijo klonov, med deset in sto. Ne glede na to, ali je izbran zvezni ali diskretni dinamični model, je le-ta v celoti determinističen, medtem pa se AIS naslanja na algoritme CST, ki so po naravi stohastični. Algoritmi imunskega omrežja imajo dva glavna dela: sistem diferencialnih enačb, ki opisuje interakcije v omrežju in kako se populacija razvija s časom ter nabor pravil za spreminjanje in posodabljanje vezi medsebojnega delovanja, spreminjanje velikosti populacije in spreminjanje osebkov v omrežju. Kadar se populacija spreminja zelo hitro, se mreža obnaša kot zvezen Markov proces in ne kot determinističen. Tudi če nam je jasno, kako se sistem (kjer velikost omrežja ostaja nespremenjena) obnaša v zelo kratkem času, je težko napovedati njegovo obnašanje za daljše časovno obdobje, kar predstavlja velik izziv za dinamično modeliranje omrežnih algoritmov AIS. 26

28 Zgodovina raziskav algoritmov umetnega imunskega sistema 4 ZGODOVINA RAZISKAV ALGORITMOV UMETNEGA IMUNSKEGA SISTEMA Teorije umetnega imunskega sistema, kakor tudi sam pojem "AIS" so se začeli pojavljati po letu Osnutki idej so vidni že prej, kakor na primer v delu F. M. Burnet-a z naslovom "Teorija klonske selekcije pridobljene imunosti" [8], izdane leta 1959, s strani založbe Univerze v Cambridgeu in v delu N. K. Jerne z naslovom "K mrežni teoriji imunskega sistema, anali imunologije" [39] iz leta Začetki AIS (raziskave pred 1990) Prve teoretične osnove opisujejo šele J. D. Farmer, N. H. Packard in A. S. Perelson v "Imunski sistem, prilagoditev in strojno učenje" [26] iz leta 1986, ter ostala dela kot "Teorija imunskih mrež" [26] (A. S. Perelson, 1989) in "Kognitivna omrežja: imunska, nevronska in druga" [67] (F. Varela, A. Coutinho, B. Dupire, N. Vaz, 1988). Pomembnost teh del je dejstvo, da opisujejo teorijo klonske selekcije, negativno selekcijo in imunske mreže kot koncepte gradnje algoritmov. 4.2 Obdobje pionirjev AIS (raziskave med 1990 in 2000) Prvi aplikativni primeri segajo v leto 1990, kjer z uporabo imunskih mrež avtorja H. Bersini in F. S. Varela [7] opisujeta reševanje problema uravnoteženja vozička ter v leto 1994, kjer je algoritem na principu negativne selekcije uporabljen v primeru reševanja računalniške varnosti. Članek, ki so ga leta 1994 napisali S. Forrest, A. S. Perelson, L. Allen, R. Cherukuri [27] je imel velik vpliv na nastanek bodočih člankov na temo reševanja problemov z algoritmi umetnega imunskega sistema. Razen naštetih avtorjev so v tem obdobju svoja dela prispevali tudi R. R. Hightower [33], S. Hofmeyr in A. Somayaji [62]. Kar se drugih zgodnjih del tiče, je potrebno izpostaviti tudi delo o porazdeljenem diagnostičnem sistemu, ki temelji na interakciji znotraj imunskega sistema avtorja Y. Ishide [38], v letu Avtor je po seriji podobnih člankov napisal knjigo o sistemih, ki temeljijo na imunskem sistemu. V sredini 90-tih se je AIS iz množice biološko motiviranih algoritmov formiral v lastno skupino. Kephart [41] in Dasgupta [23] sta Forrestino [27] delo nadaljevala in izvedla obsežne študije o negativni selekciji algoritmov. Hunt in Cooke [17] sta začela delati na imunskem omrežnem modelu v letu 1995, ga v naslednjih letih razširila preko del: "Učenje 27

29 Zgodovina raziskav algoritmov umetnega imunskega sistema z uporabo umetnega imunskega sistema" [36], "Razvoj umetnega imunskega sistema za uporabo v vsakdanjih aplikacijah" [37] in svoje teorije v zbrani obliki prepisala, poenostavila in dala v prosto uporabo. 4.3 AIS kot uveljavljena skupina algoritmov (raziskave med 2000 in 2010) "Umetni imunski sistem: tehnike podatkovne obdelave navdihnjene s strani imunskega sistema" [63] kot doktorska disertacija avtorja J. Timmisa iz leta 2000 je na področju strojnega učenja pritegnila mnoge druge avtorje, kot na primer: S. Wierzchon, V. Kuzelewska [72], M. Neal [51]. Tudi delo "Izkoriščanje analogije med imunologijo in raztresenim porazdeljenim spominom: sistem za povezovanje premikajočih podatkov v množice." E. Harta in P. Rossa [31] iz leta 2002 je pripomoglo k nadaljnjim raziskavam s strani A. Watkinsa, J. Timmisa, L. Boggessa v delu "AIRS (Umetni imunski sistem prepoznave): imunsko navdihnjen nadzorovan algoritem strojnega učenja" [71]. Naslednje delo "Preiskava vira moči AIRS, kot umetnega imunskega sistema za razvrščanje." so napisali Goodman, Boggess, in Watkin [29], dodatne raziskave pa so A. Watkinsa privedle do pisanja doktorske disertacije iz "Izkoriščanje imunoloških metafor za razvoj vzporednih, zaporednih in porazdeljenih učečih se algoritmov" [70]. Ob bok drugim znanim avtorjem sta se leta 2001 zapisala tudi L. N. De Castro in F. J. Von Zuben tako na področju teorije klonske selekcije [13] kot tudi imunskih omrežij [11]. Razen strojnega učenja se je od leta 2000 umetni imunski sistem pričel uporabljati za reševanje problemov na mnogih področjih: računalniška varnost, optimizacija numeričnih funkcij, kombinatorična optimizacija (problem trgovskega potnika in porazdelitev dela v delovnem procesu), učenje, bio-informatika, obdelava slik, robotika, adaptivni sistemi kontrole, prepoznavanje virusov, podatkovno rudarjenje itd. Naraščajoče zanimanje za algoritme na principu umetnega imunskega sistema je združevalo številne raziskovalce, kar je posledično privedlo do nastanka internacionalne konference ICARIS (International Conference on Artificial Immune Systems), ki se prireja od leta 2002 naprej. Gradivo, predstavljeno na tej konferenci, služi kot referenca na mnogih področjih AIS tako na teoretičnem kot tudi aplikativnem nivoju. 4.4 Najnovejše raziskave (od 2010 do danes) Obdobje najnovejših raziskav vsebuje glavnino neraziskanih in medijsko neprepoznanih del, ki slonijo na temeljih, postavljenih s strani prej naštetih avtorjev. S 28

30 Zgodovina raziskav algoritmov umetnega imunskega sistema pomočjo Web Of Science in Science Direct je možno iskanje po ključnih besedah in kot rezultat dobimo članke, objavljene v priznanih revijah (kot npr. Elsevier). Naštejemo nekaj takih prispevkov: - Monitoring applications: An immune inspired algorithm for software-fault detection. [46] - A novel fuzzy hybrid quantum artificial immune clustering algorithm based on cloud model. [73] - MAIS-IDS: A distributed intrusion detection system using multi-agent AIS approach. [60] - Immune clonal coevolutionary algorithm for dynamic multiobjective optimization. [61] - Integration of artificial immune network and K-means for cluster analysis. [44] - An artificial immune network for multiobjective optimization problems. [45] - Heterogeneous computing and grid scheduling with parallel biologically inspired hybrid heuristics. [69] - Reference direction based immune clone algorithm for many-objective optimization. [47] - An AIS-based hybrid algorithm for static job shop scheduling problem. [56] - An Intelligent Artificial System : Artificial Immune based Hybrid Genetic Algorithm for the Vehicle Routing Problem. [35] - Constrained Optimization via Artificial Immune System. [74] - Implementation of Immunological Algorithms in Solving Optimization Problems. [14] - A Survey on Biologically Inspired Algorithms for Computer Networking. [75] 29

31 Primeri uporabe algoritmov umetnega imunskega sistema 5 PRIMERI UPORABE ALGORITMOV UMETNEGA IMUNSKEGA SISTEMA Po vseh teoretičnih obravnavah je še zmeraj ostalo vprašanje, kje se ti algoritmi največ uporabljajo, kako se odrežejo ob zadanih nalogah in kako so primerljivi z drugimi algoritmi. Kot je nakazano že v 4. poglavju, je spekter uporabe AIS zelo širok. Prva sta seznam uporabe razdelala Leandro Nunes de Castro in Fernando José Von Zuben [12] v letu Drug seznam, ki so se ga lotili Dipankar Dasgupta, Senhua Yu in Fernando Nino [24], je bil objavljen 2011 in se nanaša na modele uporabe, ki so se skozi čas razvijali. Prva klasifikacija je razdelana pod "AIS aplikacije pred 2000" in druga kot "AIS aplikacije od 2000 in primeri uporabe AIS algoritmov v obdobju najnovejših raziskav". Seznam različnih prilagoditev oz. modifikacij algoritmov iz drugega dela je zanimiv v primeru dodatnega proučevanja obstoječih algoritmov. 5.1 AIS aplikacije pred 2000 Robotika Pri pobiranju smeti robot imunoid na vsakem koraku porablja energijo in ne sme ostati brez nje. Antigeni so zadolženi za informacijo o smeteh, ovirah, bazi in količini energije. Množica protiteles zgrajenih na danih antigenih skrbi za pravilno obnašanje robota. Model sta razvila Ishiguro in Watanabe [12]. V porazdeljenem avtonomnem robotskem sistemu roboti individualno razumejo smisel sistema, okolje in obnašanje drugih robotov. Pri tem se pri dosegu cilja sami odločajo o sodelovanju z drugimi roboti. Strategije se med roboti izmenjujejo s pomočjo kloniranja, imunski sistem pa kontrolira obnašanje in prilagajanje med roboti. Model sta razvila Jun in Lee [12]. Optimizacija Avtorja Endo in Toma [12] sta se reševanja problema n-trgovskih potnikov (N-TSP) lotila s prilagojevalnim optimizacijskim algoritmom, ki temelji na modelu imunske mreže in predstavitvi MHC peptidov. V modelu principi imunske mreže predstavljajo obnašanje potnikov, MHC pa predstavlja tekmovalnost med potniki. Potniki vsebujejo senzor, ki posnema predstavitev MHC peptidov z makrofagi, T celice kontrolirajo obnašanje in B celice predstavljajo obnašanje potnikov. 30

32 Primeri uporabe algoritmov umetnega imunskega sistema Odkrivanje nepravilnosti: Forrest [27] je raziskovala varnost računalnikov. Teorija je bila predstavljena kot razumevanje razlike med lastnimi podatki in podtaknjenimi podatki. Iz lastnih podatkov se najprej tvorijo osebki imunskega sistema. Po določenem času ti preverjajo, ali so bili prvotni podatki spremenjeni. Deaton [12] je predstavil negativno selekcijo na osnovi DNA. Postopek je enak kot pri prejšnjem primeru, le da ta izkorišča načelo spajanja A-T in C-G elementov iz DNA teorije. Lastni podatki se lahko spojijo z generiranimi, spremenjeni pa ne. Kephart [41] je predstavil prepoznavanje in uničevanje virusov, kjer je množica protiteles po principu imunskega sistema prepoznavala in odstranjevala viruse. Poseben poudarek je avtor posvetil avtoimunem odzivu (zamenjavi legitimne programske opreme z virusom). Učenje Avtorja Forrest in Perelson [27] sta pri razpoznavanju vzorcev uporabila model binarnega imunskega sistema in z njim raziskovala ohranjevanje raznolikosti in možnost detektiranja običajnih shem, ki se izmenjujejo med antigeni. Zanimivost pristopa je v uporabi poljubnega (*) simbola, tako da so nizi sestavljeni iz {0,1,*} množice znakov. Rezultat je razvoj protitelesa, ki skozi detekcijo običajnih shem ustreza raznim antigenom. Potter in De Jong [12] sta raziskovala konceptualno učenje, tako da sta zgradila model imunskega sistema, ki za dan koncept najde razliko med vzorcem in proti-vzorcem. Model je omejen na sodelovanje med B celicami in protitelesi. Pri konceptualnem učenju se uporablja tako, da pozitivne in negativne vzorce enači z lastnimi in tujimi molekulami. V primeru vzorcev brez šuma algoritem prepozna vse tuje in nobenega lastnega vzorca. 5.2 AIS aplikacije od 2000 in primeri uporabe AIS algoritmov v obdobju najnovejših raziskav Teorija klonske selekcije se je razvijala skozi CLONALG algoritem s strani L. N. D. Castra in F. J. V. Zubena [13] med letoma 2000 in Ciccazzo [24] je 2008 predstavil nov algoritem EIP (elitistično imunsko programiranje). Halavati [24] je 2007 CLONALG razširil za delo po pod-problemih, kjer manjkajoča protitelesa dobimo z naključnimi. May [24] je 2007 predstavil variacijo CLONALG za testiranje mutacij, kjer vsako protitelo predstavlja samostojni test in rezultat mutacij ovrednoti afinitito (oz. ocenitveno funkcijo). 31

33 Primeri uporabe algoritmov umetnega imunskega sistema Cuttelo [24] je 2007 v algoritem dodal inverzno hipermutacijo in hipermakromutacijo. Wilson [24] je 2006 CLONALG nadomestil s TEA (algoritem evalvacije trenda). Negativno selekcijo (NSA) je 1994 začela razvijati Forrest [27] in leta 2007 je Dasgupta [24] naredil revizijo. Gao je 2006 predstavil genetski algoritem na osnovi optimizacijske sheme negativne selekcije in v vzporednem članku metodo klonske optimizacije NSA za iskanje anomalij. Shapiro [24] je 2006 hiper kroglo zamenjal s hiper elipsoidnimi detektorji ter nad temi detektorji izvajal optimizacijo s pomočjo evolucijskih algoritmov (EA). Ostaszewski [24] je tekom 2006 in 2007 z genetskimi algoritmi in koevolucijskimi algoritmi preiskoval detektorje hiper kvadra. Luo [24] je 2006 prispeval več člankov. V enem je predlagal r[]-nsa algoritem bitnih nizov, v drugem pa hevristično metodo kreiranja detektorjev iz elementov {0, 1, *}. V naslednjem članku iz leta 2007 predstavi hiter algoritem negativne selekcije z raziskovanjem ujemanja vzorcev, medtem ko v članku iz leta 2005 dvo-evolucijski negativno selekcijski algoritem (ENSA). Ma [24] je 2008 predlagal mehanizem povratnih informacij antigenov za kreiranje efektivnih detektorjev. Chmielewski [24] je 2006 uporabil drevesno strukturo za pohitritev zmogljivosti V detektorjev. Stibor [24] je 2005 detekcijo lastnih vrednosti opredelil v območju znotraj radija r s ter metodo na istem vzorcu primerjal z V-detektorsko in SVM. V 2006 je za iskanje lukenj v anomalijah [24] ugotavljal, da je nujno potreben negativni bitni niz, luknje pa predstavljajo neznane lastne vrednosti. Še v enem članku [24] iz istega leta je raziskoval nepravilno posploševanje in semantično predstavitev z uporabo Hammingove negativne selekcije. V letu 2007 je s pristopom naključnega iskanja v k-cnf problemu [24] ugotavljal, da je v prehodni regiji iskanje detektorjev najtežje in da lahko razdaljo merimo s pomočjo modeliranja verjetnosti. V istem letu je Caldas [24] predstavil nov algoritem selekcije, temelječ na algoritmu negativne selekcije in teoriji odločanja. Odločitve se shranjujejo v podatkovno bazo, vsaka celica pa predstavlja odločitveni problem, ki je razrešitev evalvacije n-receptorjev. Graaff [24] je v 2006 predstavil genetski umetni imunski sistem (GAIS), kjer dobimo dinamični nabor umetnih limfocitov (ALC) s pomočjo genetskih algoritmov. Imunske mreže so se začele pojavljati že 1974, ko je Jerne [39] predstavil teorijo, kjer mreža B celic lahko doseže imunološki spomin. Farmer [24] je 1986 predstavil model simulirana imunska mreža, 1990 pa je Ishida [38] na tem modelu zgradil prvi algoritem. Hunt in Cooke [24] sta v 1996 prvotna dela razširila z mrežo B celic iz kostnega mozga in populacijo antigenov, ki mrežo naključno dopolnjujejo. V 1999 je Hunt [24] prepisal prvotni model in njegovo implementacijo v Javi poimenoval Jisys [37]. Uporablja relacijsko podatkovno bazo, populacija B celic pa se deli na dva dela prvotno, ki se zgradi iz 32

34 Primeri uporabe algoritmov umetnega imunskega sistema naključnih antigenov in klonirano. Klonirana uporablja funkcije genetskih algoritmov in teorijo omrežij. Implementacijo je ponovno definiral in popravil Timmis [24] v letu Razširil jo je naslednje leto in algoritme razdelil na AINE, razširjen AINE, zabrisan AINE in dinamično obtežen AINE. V splošnem si AINE izposoja osnovne ideje iz CST, saj se B celice klonirajo, mutirajo in so podvržene postopku izbire, preden se pojavijo v mreži. Castro je v 2001 predstavil ainet [9] kot učeči se algoritem. Čeprav spada v podvrsto AINE, popolnoma temelji na CST (saj vsebuje razmnoževanje, mutacijo in selekcijo) je Castro [10] za reševanje optimizacijskih problemov multi-modalnih funkcij definiral optainet, ki lahko dinamično prilagaja velikost populacije, ima možnost preiskovanja okolice z eksploracijo in eksploatacijo [22] ter za dosego boljših rezultatov uporablja lokalne in globalne metode iskanja. V 2007 je Pacheco [24] predstavil algoritem abstraktnega imunskega sistema, ki temelji na Farmerjevem modelu iz leta V 2006 sta Schmidtchen in Behn [24] preiskovala minimalističen model idiotopskega omrežja B limfocitov, kjer bitni nizi predstavljajo vozlišča omrežja ter da naključna evolucija lahko zgradi omrežje visoko organizirane arhitekture. Večina prispevka temelji na razlagi teh kompleksnih mrežnih struktur in podrobnem analitičnem razumevanju postopkov gradnje ter na preračunavanju velikosti in povezljivosti idiotopskih skupin. V 2006 sta Coelho in Zuben [24] objavila članek o omni-ainet algoritmu za preračunavanje enojnih in večtočkovnih optimizacijskih problemov z eno ali več rešitvami, ki je poenotil koncepte omni-optimizacije. Eksploracija se avtomatsko prilagaja preiskovanemu prostoru, velikost vzorca se spreminja glede na prenastavljeno velikost, razpršenost iskanja se po posebnem mrežnem mehanizmu porazdeli po preiskovanem prostoru sta Coelho in Zuben [24] objavila študijo o MOM-AiNet kot večtočkovni večpopulacijski umetni imunski omrežni algoritem, ki se od drugih razlikuje po tem, da vrača več nedominantnih rešitev v primerjavi z ostalimi algoritmi, ki vračajo eno dominantno rešitev. Kot zadnjega izmed naštetih omrežnih imunskih algoritmov naj omenimo še opt-ainet-aa-clust, podvrsto optainet, ki so ga Secker, Timmis in drugi [24] implementirali v Ta se razlikuje po novi predstavitvi proteinov, ki omogočajo večjo natančnost predvidevanja v hierarhičnih klasifikacijskih algoritmih z napovedovanjem funkcije proteinov. 33

35 Drugi moderni metahevristični algoritmi 6 DRUGI MODERNI METAHEVRISTIČNI ALGORITMI Metahevristike so strategije, ki usmerjajo proces iskanja po poljubno velikem prostoru, kjer imamo o samem problemu zelo malo ali nič predpostavk. Tehnike iskanja vključujejo enostavna iskanja kakor tudi zapletene procese učenja. Mnogi metahevristični algoritmi se zgledujejo po naravnih sistemih, njihovo računanje pa temelji na strategijah lokalnega in globalnega preiskovanja. Med algoritme spadajo: optimizacija s kolonijami mravelj, optimizacija z roji delcev, evolucijski računanje, algoritem kolonije čebel itd. Algoritmi, ki so opisani v nadaljevanju, sodelujejo v osmem poglavju, kjer primeramo njihove rezultate z rezultati AIS algoritmov. 6.1 PSO (optimizacija z roji delcev) Optimizacija z roji delcev (PSO) je računska metoda, ki optimizira rešitev problema z iterativno uporabo kriterijske funkcije za evalvacijo kandidatov. Optimizacija populacije (rešitev) poteka s premikanjem delcev po preiskovanem prostoru po principu preprostih matematičnih formul, ki upoštevajo položaj delca in hitrost. Na gibanje vsakega delca vpliva lokalni optimum ter ostale pozicije rešitev, pridobljene s premikanjem v iskalnem prostoru, kjer je samoumevno, da se roj premakne proti najboljši rešitvi. Začetke PSO so osnovali Kennedy, Eberhart in Shi [6] kot simulacijo socialnega vedenja. Z določenimi poenostavitvami so opazili, da je algoritem možno uporabljati za optimizacijo. PSO je metahevrističen, saj ne pozna podrobnosti problema in lahko preišče zelo velik prostor rešitev, kar pa samo po sebi ne zagotavlja najdbe optimalne rešitve. PSO ne zahteva, da mora biti problem optimizacije odvedljiv, kot to zahtevajo klasične optimizacijske metode in se lahko uporablja tudi na optimizacijskih problemih, katerih krivulje so nepravilnih oblik, vsebujejo šum, ali pa se spreminjajo s časom. Osnovna različica PSO algoritma ima populacijo kandidatov rešitev, imenovano roj delcev. Z S označimo število vseh delcev v roju. Vsak delec naj ima položaj x i R n in hitrost v i R n. Naj bo p i najboljši položaj delca i in g najboljši položaj celotnega roja. Ocenitvena funkcija je predstavljena kot vektor realnih števil (f: R n R), katere rešitev prav tako predstavlja realno število. Cilj je najti tak a, v f(a) f(b) za vse b v preiskovanem prostoru, kjer a predstavlja globalni minimum, oz. njegovo nasprotje, ki predstavlja globalni maksimum. Na sam rezultat pa zelo vpliva tudi izbira parametrov algoritma in obravnavanje podmnožic v primeru konvergence. begin 1. Za vsak delec i=1,, S: 34

36 Drugi moderni metahevristični algoritmi 1.1. vzpostavi položaj naključnih vektorjev x i ~ U(b lo, b up ), kjer sta b lo spodnja in b up zgornja meja preiskovanega prostora 1.2. vzpostavi najboljši položaj delca p i x i glede na začetni položaj 1.3. če (f(p i ) < f(g)) shrani najboljši položaj roja: g p i 1.4. vzpostavi hitrost delca v i ~ U(- b up -b lo, b up -b lo ) 2. Dokler ustavitveni kriterij (npr. število iteracij) ni dosežen ponavljaj za vsak delec i=1,, S: 2.1. izberi naključne vrednosti r p, r g ~ U(0,1) 2.2. osveži hitrost delca v i,d ω v i,d + φ p r p (p i,d -x i,d ) + φ g r g (g d -x i,d ) 2.3. osveži položaj delca x i x i + v i 2.4. če (f(x i ) < f(p i )) shrani najboljši položaj delca p i x i 2.5. če (f(p i ) < f(g)) shrani najboljši položaj roja: g p i 3. Ko je ustavitveni kriterij dosežen, g predstavlja rešitev. end. Velikokrat se osnoven PSO ujame v lokalni maksimum. Mnogi to rešujejo ne le s pravilno izbiro parametrov, ampak tudi s topologijo (povezavo delca s sosedi in kreiranjem komunikacijske mreže med njimi). Poznamo različne topologije: obroč (najbolj poznana), polno povezan (kot obroč, vendar so vsi delci med seboj povezani), mreža, stohastična zvezda, drevo itd. Kadar PSO uporabljamo za večtočkovno optimizacijo, se možica delcev združi v pareto fronto in se primerjava vrši med različnimi frontami. Zraven PSO algoritma z realnimi števili poznamo še: binarne, diskretne in kombinatorične PSO. 6.2 DE (diferencialna evolucija) Diferencialna evolucija (DE) je metoda, ki optimizira rešitve kandidatov (agentov) s premikanjem le-teh po preiskovanem prostoru. Kakor PSO je tudi DE metahevristična in se prav tako uporablja na optimizacijskih problemih, katerih krivulje so nepravilnih oblik, vsebujejo šum, ali pa se spreminjajo s časom. Njene začetke sta zasnovala Storn in Price [4]. Tudi na rešitve DE precej vpliva izbira parametrov F (diferencialna utež), CR (verjetnost križanja) in NP (velikost populacije). begin 1. Izberi naključne položaje za vse agente 2. Ponavljaj za vsakega agenta x v populaciji dokler ustavitveni kriterij (npr. število iteracij) ni dosežen: 2.1. izberi 3 naključne od x različne agente a, b, c 2.2. izberi naključni indeks R {1,, n}, kjer je n dimenzija problema 2.3. izračunaj agentov naslednji položaj y = [y 1,, y n ] kjer za vsak i izberemo enakomerno porazdeljeno številko r i U(0,1) 35

37 Drugi moderni metahevristični algoritmi 2.4. če r i < CR ali i = R je y i = a i + F x(b i -c i ) drugače y i = x i 2.5. če (f(y) < f(x)) zamenjaj agenta x z agentom y 3. Ko je ustavitveni kriterij dosežen, agent z najboljšo ocenitveno funkcijo predstavlja rešitev. end. 6.3 ABC (algoritem kolonije čebel) ABC je optimizacijski algoritem, ki temelji na inteligentnem obnašanju roja čebel ter ga je leta 2005 predstavil Karaboga [3]. Kolonijo v modelu ABC sestavljajo nabiralke, izvidniki in nadzorne čebele. Za nabiralke se predpostavlja, da je njihovo število odvisno od virov hrane v okolici (ena čebela za vsak vir). Če vir usahne, se nabiralka spremeni v izvidnika in začne iskati druge alternativne vire. Nadzorne čebele glede na obnašanje nabiralk izbirajo, kateri vir hrane se bo trenutno uporabljal. Glavni koraki algoritma: begin 1. Izberi naključne hrano za nabiralke 2. Ponavljaj za vse čebele v koloniji dokler ustavitveni kriterij (npr. število iteracij) ni dosežen: 2.1. nabiralka iz spomina sledi viru hrane, preuči sosednji vir in glede na količino izbere določeno obnašanje - ples 2.2. nadzorna čebela prepozna ples nabiralke, se odpravi na preiskano lokacijo in iz okolice izbere nove lokacije - pašnike 2.3. izčrpane vire nadomestijo novi pašniki, katere najdejo izvidniki 2.4. najboljši vir (pašnik) - S se shrani 3. Ko je ustavitveni kriterij dosežen, S predstavlja rešitev. end. Torej v ABC položaj vira hrane predstavlja možno rešitev problema optimizacije in količina hrane ustreza rešitvi ocenitvene funkcije. Število nabiralk je enako številu rešitev v populaciji. Pod pogojem, da je količina novega vira višja od prejšnjega vira, si čebela zapomni nov položaj, v nasprotnem primeru se ohranja položaj starega vira. Kadar nabiralke končajo cikel, nadzorne čebele na osnovi evalvacije nabiralk izbirajo nove vire iz okolice. 6.4 TLBO (optimizacijski algoritem na osnovi učitelj učenec) Poučevanje učenje je proces, kjer se vsak posameznik poskuša naučiti nekaj od drugih posameznikov. Rao in Patel sta predlagala algoritem, znan kot Teaching-Learning- Based Optimization (TLBO) [57], ki simulira tradicionalno poučevanje učenje in vsebuje dva temeljna načina učenja: 36

38 Drugi moderni metahevristični algoritmi - z učiteljem (znan kot fazo učitelja) in - v stiku z drugimi učenci (znan kot fazo učenca). V TLBO [21] je populacija skupina študentov in različni predmeti predstavljajo analogijo z različnimi spremenljivkami optimizacijskega problema. Rezultat učenec predstavlja rešitev ocenitvene funkcije problema optimizacije. Najboljša rešitev v celotni populaciji predstavlja učitelja. Faza učitelj Denimo, da obstaja m predmetov, ki so na voljo n učencem (velikosti populacije k = 1,2,..., n). Ob koncu vsakega cikla poučevanja i, predstavlja M j,i rezultat učencev za določen predmet j = 1,2,..., m. Razlika med rezultatom učitelja od učencev v vsakem predmetu se izrazi kot: Difference_Mean j, i = r i (X j, kbest, i - T F M j, i ), kjer je X j, kbest, i rezultat učitelja (tj. najboljši učenec) za predmet j. Naj bo T F faktor poučevanja in določen z enačbo T F = round[1 + rand(0, 1){2 1}]. Vrednost T F ni parameter algoritma, ampak je njegova vrednost naključna. Vrednost nove generacije učencev je definirana kot: X' j,k,i = X j,k,i +Difference_Mean j, i in nadomesti trenutno, le če se vrednost poveča. Faza učenec Ta faza algoritma simulira učenje študentov skozi medsebojno interakcijo. Učenec se bo naučil novih znanj, če imajo drugi učenci več znanja od njega. Naključno izberemo dva učenca, P in Q, kjer X' total-p,i X' total-q,i. Vrednosti teh učencev po ciklu učenja dobimo z: X" j, P, i = X' j, p, i + r i (X' j, P, i X' J, Q, i ), če X' total-p, i > X' total-q, i, X" j, P, i = X' j, p, i + r i (X' j, Q, i X' J, P, i ), če X' total-q, i > X' total-p, i kadar iščemo maksimum. Faza izločanja podvojitev Ta faza vključuje zamenjavo najslabšega rezultata vsake skupine z elitnim rezultatom in zamenjavo podvojenih rezultatov z naključnimi. Tako pridemo do skupnega števila izračunov v TLBO algoritmu, ki znaša {(2 velikost populacije število generacij) + (število izračunov potrebnih ob eliminaciji podvojenih rezultatov)}. 37

39 Implementacija AIS algoritmov 7 IMPLEMENTACIJA AIS ALGORITMOV Teoretična podlaga AIS algoritmov je bila predstavljena v okviru 3. poglavja. Preden začnemo opisovati implementacijo različnih AIS algoritmov, na kratko predstavimo eksploracijo in eksploatacijo [22], ki same algoritme dopolnjuje. Za eksploracijo lahko rečemo, da predstavlja iskanje novih regij v iskanem prostoru, medtem ko eksploatacija preiskuje okolico že obiskanih točk. Pojma se uporabljata vsaj od leta Do sedaj sta se eksploracija in eksploatacija pojavljala predvsem v EA, EP, ES, GA, GP. V EA je težko razlikovati med njima, saj je meja precej zabrisana. Dejavniki, ki vplivajo na oboje, so ne le izbira, mutacija in križanje (v primeru EA); izbira, celična delitev, kloniranje, mutacija, apoptoza (v primeru AIS); ampak tudi velikost populacije in predstavitev posameznikov. Pri tem je zelo pomembno, kako dosežemo ravnovesje med eksploracijo in eksploatacijo. Kadar sta faktorja križanja in mutacije visoka, se algoritem nagiba k eksploraciji in naključnemu iskanju. Kadar sta faktorja križanja in mutacije nizka, se algoritem nagiba k eksploataciji in algoritmom vzpenjanja na hrib, tehniki iz družine lokalnih iskanj. Iz raziskav o parametriziranju EA ugotovimo, da so določeni parametri uspešni na enem tipu problemov in povsem odpovejo na drugem tipu. Za doseganje boljših rezultatov je pametno dinamično spreminjati parametre, kar posledično pomeni, da se razmerje med eksploracijo in eksploatacijo skozi različne faze evolucijskega procesa spreminja zdaj v korist enega in nato v korist drugega. Tak način predstavlja skupino samoadaptivnih parametrov za razliko od determinističnih (na začetku nastavljenih) in adaptivnih skupin. V okviru ocen doseganja rezultatov lahko proces parametriziranja razčlenimo na pristop ene spremenljivke in pristop več spremenljivk. Prav tako želimo proces prilagajanja parametrov oceniti. Da to lahko storimo, je potrebno znati ovrednotiti raznolikost genotipa, fenotipa (v primeru EA), oziroma imunoglobulinov (v primeru AIS). Raznolikost delimo glede na: - razlike med osebki v populaciji, - medsebojno oddaljenost osebkov, - entropijo oz. nered znotraj populacije, - verjetnost pripadanja istemu rodu (EA) oz. vrsti imunoglobulinov (AIS), kar predstavlja oceno biološke raznolikosti habitata, - prednike t.j. ali osebek trenutne populacije pripada določenemu osebku prejšnje generacije. Več o nastavljanju parametrov, vrednotenju raznolikosti, oceni prilagajanja v korist eksploracije ali eksploatacije v nadaljevanju. 38

40 Implementacija AIS algoritmov 7.1 Algoritem negativne selekcije (NSA) Ideja negativne selekcije pri umetnem imunskem sistemu kot tudi sam algoritem sta opisana v poglavju 3.2. Algoritmi NSA, kot tudi drugi algoritmi na osnovi negativne selekcije, v splošnem služijo razpoznavi vzorcev, tujkov in anomalij. Poskusimo si minimum ali maksimum predstavljati kot anomalijo, ki jo iščemo. V kolikor rešitev poznamo, je algoritem izvedljiv, saj ga natančno povzamemo v korakih, prikazanih na straneh 22 in 23. Kaj storiti, kadar nam rešitev ni znana? Sam algoritem ne vsebuje kriterija ovrednotenja, kdaj in kako se bližamo rešitvi. Odpade ujemanje detektorjev D proti δ, ki je bistvo NSA, sam algoritem pa v najboljšem primeru lahko postane le RWA (algoritem naključnih korakov). Enak primer je tudi DCA (algoritem dendritskih celic), ki v primeru iskanja vzorcev uporablja kontekst zrelosti vrednosti antigenov MCAV in teorijo nevarnosti. Tudi za ta algoritem velja enako kot pri NSA, da se ne uporablja kot optimizacijski algoritem. Povzetek algoritma zgleda takole [30]: begin 1. inicializiraj: št. vh. signalov na kategorijo (I), št. kategorij vh. signala (J), št. antigenov v vektorju tkiva (K), št. DC ciklov (L), velikost DC populacije (M), št. DC vektorjev (N), št. izh. signalov na DC (P), št. na cikel vzorčenih antigenov (Q), max. št. na DC vzorčenih antigenov v ciklu (R), T max = velikost vektorja tkiva antigenov 2. Ponavljaj dokler (l<l) 2.1. ponastavi A in S 2.2. za vsak m od 0 do M ponavljaj za vsak q od 0 do Q DC m vzorči Q antigen iz A za vsak i od 0 do I in j od 0 do J s DC ij = s ij za vsak n od 0 do N DC m obdela a DC nm za vsak p od 0 do P preračunaj o p, o p (m) = o p (m) + o p, če je o 0 (m) > t m : DC m odstranimo iz populacije DC m selimo, izpišemo antigen in vsebino DC m ponastavimo vektor antigenov in vse signale 2.3. povečaj l, analiziraj antigen in izračunaj MCAV end 39

41 Implementacija AIS algoritmov 7.2 Umetno imunsko omrežje (ainet) Algoritem, ki predstavlja umetno imunsko omrežje, temelji na teoriji, opisani v poglavju 3.3, njegova implementacija pa izhaja iz članka "An Artificial Immune Network for Multimodal Function Optimisation" [11]. Inicializacija vhodnih parametrov vsebuje: - numinitcells (N=20) predstavlja začetno populacijo mrežnih celic, - numclones (N c =10) populacijo klonov, ki nastanejo iz vsake mrežne celice, - maxiterations (N gen =500) maksimalno število iteracij algoritma, - suppresionthreshold (σ s = 0.2) prag zatiranja celičnega omrežja, - errorthreshold povprečen prag napake ob klonski selekciji, - divratio (d=40%) del populacije, ki bo uporabljen, kadar želimo dodati raznolikost populacije, - mutationparam (β=100) parameter mutacije proporcionalen afiniteti, - numdimension dimenzija optimizacijskega problema, - lowerbounds {-1.0,-1.0} spodnja omejitev polja dimenzije, - upperbounds {1.0,1.0} zgornja omejitev polja dimenzije. Nastavitev parametrov ustreza parametrom N gen =200, n=n=100, d=10, β=0.1 v kolikor bi problem reševali z algoritmom ClonAlg. Za razliko od ClonAlg, opt-ainet uporablja mutacijo po Gauss-u, ki je obratno sorazmerna normalizirani ocenitveni funkciji staršev (t.j. osebkov prejšnje generacije). Opt-aiNet ima podobnosti z evolucijskimi strategijami (ES), saj je mehanizem selekcije enak kot pri (μ+λ)-es, kjer μ staršev naredi λ potomcev, ki so zmanjšani na število μ novih staršev, selekcija pa vsebuje tako starše kot potomce, kjer starši preživijo, dokler jih ne izrine eden od potomcev. V opt-ainet je μ=n (celotna populacija) in λ=n c. Tudi ES uporablja mutacijo po Gauss-u, ki pa ni odvisna od ocenitvene funkcije. Glavna razlika med naštetima strategijama je, da opt-ainet dinamično nastavlja velikost populacije z uporabo naključnih novih osebkov in s pomočjo vpliva mreže, medtem ko ima ES konstantno število osebkov populacije. Zaradi lažjega spremljanja napredka pri eksploraciji in eksploataciji smo se držali poenostavitve in namesto iskanja medsebojnih povezav med parametri izbrali raje strnjeno populacijo blizu rešitve, ter tako, ki je od rešitve precej oddaljena. Več o rezultatu v naslednjem poglavju. V kolikor želimo prikazati le delovanje samega algoritma oz. v primeru tekme opt-ainet z drugimi algoritmi, se prva generacija prične z naključnimi osebki. Ta generacija gre skozi klonsko selekcijo, kjer se ovrednoti in klonira ter izračuna ocenitvena funkcija celotne mreže. Ob ovrednotenju afinitete mrežnih celic se tisti osebki, ki se znajdejo pod pragom zatiranja, odstranijo. Kloni, ki dosežejo boljši rezultat ocenitvene funkcije, zamenjajo osebke, iz katerih so nastali, ti, ki pa dosežejo slabši rezultat, se zavržejo. 40

42 Implementacija AIS algoritmov Izvorna koda klonske selekcije: private void clonalselection(task taskproblem) { boolean proceed; // Loop stopping condition variable double preavgfitness = 0.0; // Average population fitness before clonal selection double postavgfitness; // Average population fitness after clonal selection double fitnesssum; // Sum of fitnesses of all network cells // Iterate until stopping condition is met do { fitnesssum = clonecells(taskproblem); postavgfitness = fitnesssum/celllist.size(); if ((postavgfitness-preavgfitness) < errorthres) proceed = false; else { proceed = true; preavgfitness = postavgfitness; } } while (proceed); } private double clonecells(task taskproblem) { NetworkCell currentcell; NetworkCell clones[] = new NetworkCell[numClones]; int best; // Array index of the current best clone in the clonal pool // All cells in the network undergo cloning, mutation and selection double lowestfitness = celllist.get(0).geteval(); double highestfitness = celllist.get(0).geteval(); double totalfitness = 0.0; for(int i=0; i<celllist.size(); i++) { double currentfitness = celllist.get(i).geteval(); if (lowestfitness > currentfitness) lowestfitness = currentfitness; if (highestfitness < currentfitness) highestfitness = currentfitness; } for (int i=0; i<celllist.size(); i++) if (!taskproblem.isstopcriteria()) { currentcell = celllist.get(i); bestindex = 0; double fitnessnorm = (currentcell.geteval() - lowestfitness) / (highestfitness - lowestfitness); if (taskproblem.ismaximize()) fitnessnorm = 1. - fitnessnorm; double alpha = (1.0/mutnParam) * Math.exp(-1 * fitnessnorm); for (int j=0; j<numclones; j++) if (!taskproblem.isstopcriteria()) { clones[j] = new NetworkCell(currentCell); // clone double[] cellvalues = clones[j].x; mutate(cellvalues, alpha, taskproblem); clones[j] = new NetworkCell(cellValues); if (taskproblem.isfirstbetter(clones[j].individual, clones[bestindex].individual)) bestindex = j; } 41

43 Implementacija AIS algoritmov if (!taskproblem.isstopcriteria() && (taskproblem.isfirstbetter(clones[bestindex].individual, currentcell.individual))) { celllist.set(i, clones[bestindex]); if (taskproblem.isfirstbetter(celllist.get(i).individual, best.individual)) { best = new NetworkCell(cellList.get(i)); } totalfitness += celllist.get(i).eval; } } private void mutate(double[] cellvalues, double alpha, Task taskproblem) { for (int i = 0; i < cellvalues.length; i++) { double gauss = Util.rnd.nextGaussian(); // double gauss = getgaussian(0, taskproblem.getintervallength()[i]); cellvalues[i] = taskproblem.feasible(cellvalues[i] + alpha*gauss, i); } } private double getgaussian(double amean, double avariance) { return amean + Util.rnd.nextGaussian() * avariance; } Izvorna koda interakcije omrežja: private void networkinteractions(task taskproblem) { double affinities[][] = new double [celllist.size()][celllist.size // Calculate affinities between all network cells, only the upper diagonal // of the affinities array needs to be filled out for (int i=0; i<celllist.size(); i++) for (int j=0; j<celllist.size(); j++) { if (i > j) affinities[i][j] = 0; else affinities[i][j] = celllist.get(i).getaffinity(celllist.get(j)); } NetworkCell[] cellarray = celllist.toarray(new NetworkCell[0]); // For each pair of cells in the network (the upper diagonal of the // affinities array), if their affinity is below a threshold determined by // the suppthres parameter, then the cell with the lowest fitness is removed // from the network for (int i=0; i<cellarray.length; i++) for (int j=0; j<cellarray.length; j++) if ((i < j) && (affinities[i][j] < suppthres)) { if (taskproblem.isfirstbetter(cellarray[j], cellarray[i])) celllist.remove(cellarray[i]); else celllist.remove(cellarray[j]); } } 42

44 Implementacija AIS algoritmov Izvorna koda izračuna afinitete: public double getaffinity(networkcell cell) { double affinity = 0; double[] dims = getx(); double[] celldims = cell.getx(); // Calculate the Euclidean distance between the network cells for (int i=0; i<dims.length; i++) affinity = affinity + Math.pow((dims[i]-cellDims[i]),2); return Math.sqrt(affinity); } 7.3 Algoritem klonske selekcije (CLONALG) Teoretična podlaga za ClonAlg kakor tudi BCA je opisana v poglavju 3.1. Sam ClonAlg ima dve možni različici. Splošni model izhaja iz članka»learning and optimization using the clonal selection principle.«[13] in ga lahko strnemo v: Antibody.task = taskproblem; init(taskproblem); Arrays.sort(memCells); Antibody best = new Antibody(memCells[0]); while (!taskproblem.isstopcriteria()) { for (int generation=0; generation<generations; generation++) { double totalaffinity=0; for(int i=0; i<pop_size; i++) totalaffinity += memcells[i].getaffinity(); Antibody[] clones = new Antibody[clones_size]; for(int i=0;i<pop_size;i++) { int Nc=pop_size-i; double pm=(double)memcells[i].getaffinity()/totalaffinity; for(int j=0;j<nc;j++) { clones[nc]=new Antibody(memCells[i]); if (!taskproblem.isstopcriteria()) { double xx[] = clones[nc].getnewx(); for(int k=0;k<taskproblem.getdimensions();k++) { xx[k]=taskproblem.feasible(xx[k]+change,k); } clones[nc]=new Antibody(taskProblem.eval(xx)); } nc++; } } Arrays.sort(clones); } for(int i=2;i<pop_size;i++) { if (taskproblem.isstopcriteria()) break; memcells[i] = Antibody.getRandom(); } 43

45 Implementacija AIS algoritmov } Arrays.sort(memCells); if (taskproblem.isfirstbetter(memcells[0], best)) return best; best = new Antibody(memCells[0]); Bolj zanimiv pristop pa izhaja iz članka»a Micro Artificial Immune System«[32], ki govori o populaciji 3 do 5 osebkov. Ti ustvarijo 15 klonov, algoritem je časovno manj potraten in hitreje konvergira k optimalni rešitvi. Micro AIS pa ni edini algoritem z majhnim številom osebkov. Krishnakumar [43], Toscano, Coello [66], Ming, Cheng [50], Mendoza, Morales in López [49] so razvijali različne mikro GA, Fuentes in Coello [28] pa tudi mikro PSO. Iz naštetega se poraja ideja, da bi tudi opt-ainet lahko preračunavali z bistveno manjšo populacijo. Zaradi lažjega spremljanja napredka pri eksploraciji in eksploataciji smo se tudi tu držali poenostavitve in namesto iskanja medsebojnih povezav med parametri izbrali raje strnjeno populacijo blizu rešitve, ter tako, ki je od rešitve precej oddaljena. Več o rezultatu v naslednjem poglavju. 7.4 B celičen algoritem (BCA) BCA kot tudi ClonAlg poskušata implementirati teorijo klonske selekcije in sta v osnovi precej podobna. Oba vsebujeta operacije kloniranja, selekcije, mutacije in apoptozo. Posebnost BCA je, da se vse operacije izvajajo nad bitnimi nizi. Primer razlike implementacije operatorja mutacije med BCA: public static boolean[][] mutate(int pop_dimension, boolean[][] population) { for (int i=0; i<pop_size; i++) for (int j=0; j<pop_dimension; j++) if (Math.random() < mutation_probability) population[i][j] =!population[i][j]; return population; } in ClonAlg: for(int k=0; k<taskproblem.getdimensions(); k++) { alpha = Util.rnd.nextDouble(); if (Util.rnd.nextDouble() < 0.5) change=(double)((double)alpha*range*(generation+1))/nc; else change=(double)((double)(alpha*range)/((double)(generation+1)*nc)); xx[k]=taskproblem.feasible(xx[k]+change,k); } Implementacija BCA je povzeta po članku:»assessing the Performance of Two Immune Inspired Algorithms and a Hybrid Genetic Algorithm for Function Optimisation«[65]. Članek je zanimiv iz razloga, ker izmed vseh algoritmov umetnega imunskega sistema v primeru reševanj optimizacijskih problemov na koncu izbiramo med ainet in BCA/ClonAlg algoritmi. 44

46 Primerjava rezultatov algoritmov 8 PRIMERJAVA REZULTATOV ALGORITMOV Preden se lotimo primerjave algoritmov, povejmo nekaj besed o okolju EARS [1], kjer so vsi algoritmi podvrženi enakim pogojem in v katerem smo izvajali primerjavo algoritmov. Okolje vsebuje: - razred tipa opravilo, kjer lahko določimo zaustavitveni kriterij, maksimalno št. izračunov, natančnost in definiramo, kateri problem rešujemo; - razred tipa problem, kjer so definirani testni problemi (Ackley, B2, Beale, Booth, Branin, DeJong, Easom, GoldSteinAndPrice, Griewank, MartinAndGaddy, PowellBadlyScaledFunction, Rastrigin, Rosenbrock, Schwefel in Sphere); kot tudi tekmovalni problemi (t.j. skupina CEC2010 in CEC2014 problemov); - razred tipa algoritem, kateremu smo prilagodili strukturo, v tem in v naslednjem poglavju naštetih algoritmov; - razred tipa individual, ki predstavlja elementarni delec algoritma (t.j. osebek oz. član populacije). Algoritme v okolju lahko zaganjamo posamično ali v tekmi z drugimi algoritmi. Posamične zagone smo uporabljali v preliminarni analizi in pri raziskovanju eksploracije in eksploatacije, tekmo pa v medsebojni primerjavi algoritmov. Algoritme lahko primerjamo po NHST (Null Hypothesis Significance Testing) [32], kar je izrednega pomena, saj lahko znanstveno dokažemo boljšo zmogljivost enega algoritma v primerjavi z drugim. Izhajamo iz trditve ničelne hipoteze (Null Hypothesis oz. H 0 ), da sta dva algoritma po rezultatih izenačena. Alternativna hipoteza H a predpostavlja, da je H 0 napačna, torej da je en algoritem boljši. Test je postopek, kjer poskušamo H 0 ovreči, kar počnemo na večjem številu algoritmov, z večimi podatkovnimi nizi in zagoni algoritmov. Test po tipu delimo na parametričen in neparametričen, razlika med tipoma pa je v lastnostih podatkovnih nizov. Drug novejši pristop primerjanja algoritmov se imenuje CRS4EAs (Chess Rating System for Evolutionary Algorithms) [32], [68]. Pri tem so uporabljene naslednje analogije: - igralec šaha = poljuben algoritem, - partija šaha = iskanje najboljšega rezultata za podan problem, z uporabo zgornje omejitve izračunov ocenitvene funkcije, - šahovski turnir = primerjava algoritmov na določeni množici problemov, ki poteka tako, da poljubna dva algoritma med seboj tekmujeta, turnir pa se konča, kadar s tekmo zaključijo vsi tekmovalci, - razvrščanje = tako kot stopnja oz. naziv, ki ga lahko doseže šahist, se po doseženih točkah razvščajo tudi algoritmi. 45

47 Primerjava rezultatov algoritmov CRS4EAs ima veliko podobnosti s NHST, po drugi strani tudi nekaj dodatnih ugodnosti, kot so: robustnost ob odstopanjih, nadzorni mehanizem, je preprost za uporabo, je brez nevarnosti namernih zlorab ali takih iz nerazumevanja (pri statističnih metodah je taka zloraba možna), točno ocenitev zmogljivosti algoritma dosežemo že ob majhnem številu zagonov (do 25). Ima tudi nekaj omejitev, kot so: - število zagonov (iger) je odvisno od števila primerjanih algoritmov, - seznam razvrščanja se spreminja z vsakim novo dodanim algoritmom, - ponovna uporaba dobljenih podatkov v drugih statističnih testih ni možna, - rezultat razvrstitve različnih zagonov med seboj ni primerljiv, - rezultat posamičnega algoritma za določen problem ni izpostavljen, saj gre zmeraj za primerjavo dveh algoritmov. 8.1 Primerjava z NHST in CRS4EAs Kot smo ugotovili v sedmem poglavju, vsi algoritmi ne ustrezajo reševanju zastavljenih problemov. V primerjavi so sodelovali iz šestega poglavja opisani algoritmi: ABC, TLBO, PSO (ponekod zapisan tudi kot PSO_Wiki), DE (ponekod zapisan tudi kot DE_Wiki). V prvem zagonu testa sta sodelovala tudi 2 AIS algoritma: ClonAlg in opt-ainet. Priprava programa za prvi zagon testa: Util.rnd.setSeed(System.currentTimeMillis()); ArrayList<Algorithm> players = new ArrayList<Algorithm>(); players.add(new PSO()); players.add(new MojDE(1, 20)); players.add(new BeeColonyAlgorithm()); players.add(new TLBOAlgorithm()); players.add(new RandomWalkAlgorithm()); players.add(new MicroClonAlg()); players.add(new OptAinet()); ResultArena ra = new ResultArena(100); RatingRPUOed2 suopm = new RatingRPUOed2(); //Create banchmark for (Algorithm al:players) { ra.addplayer(al.getid(), 1500, 350, 0.06,0,0,0); //init rating 1500 suopm.registeralgorithm(al); } Parametri programov (dimenzija problema = 5, število ocenitvenih funkcij Max_Fes=10 5 ): opt-ainet NP=20, Clones=10, suppthres=0.2, errorthres=0.001, divratio=0.4, mutnparam=100.0 ClonAlg NP=5, Clones=15 ABC NP=20, limit = 100 TLBO NP=20, elitism=false, removeduplicates=true PSO NP=10, omega=0.7, phig=2, phip=2 DE NP=20, Cr=1, F=20 RWS - 46

48 Primerjava rezultatov algoritmov Pri tem je RWS brez parametrov, NP velikost populacije, Cr faktor križanja, F diferencialna utež, parametri opt-ainet in ClonAlg pa razloženi v sedmem poglavju. Rezultat prvega testa (poseben poudarek na opt-ainet): Rezultat prve (Booth) funkcije prikaže, da opt-ainet izgublja proti skoraj vsem algoritmom. Pri v poglavju 7.2 omenjenem članku je bilo govora o počasnejši konvergenci opt-ainet v primerjavi z ClonAlg. Tudi znotraj implementacije opt-ainet smo to opazili in nismo našli načina, kako bi to izboljšali, da pri tem ne bi spreminjali: operatorja mutacije: c' = c + αn(0,1), α = (1/β) exp ( f*), multimodalnosti, ali naraščanja populacije σ s = 0.2; d = 40% in pri tem spremenili algoritem do te mere, da ne bi več ustrezal opisu iz članka. Problem je, da multimodalnost poveča preiskovalni prostor, vendar ni učinkovitega mehanizma medsebojnega vpliva mrežnih celic. Afiniteta (razdalja med celicami) enostavno ni dovolj. Drug problem je naraščanje populacije ob omejenem številu računskih operacij. Rezultat druge (Branin) funkcije prikaže, da opt-ainet pade iz intervala sprejemljivih rešitev, kar privede do zaustavitve testa. Posledica tega je, da je opt-ainet nesprejemljiv kandidat tekme. Priprava programa za drug zagon testa: Ni bistvene razlike od priprave za prvi zagon (zakomentirana je le vrstica za zaganjanje opt-ainet). Parametri programov (dimenzija problema = 5, število ocenitvenih funkcij Max_Fes=10 5 ): ClonAlg NP=5, Clones=15 ABC NP=20, limit = 100 TLBO NP=20, elitism=false, removeduplicates=true PSO NP=10, omega=0.7, phig=2, phip=2 DE NP=20, Cr=1, F=20 RWS - Rezultati drugega testa (tokrat brez opt-ainet): Rezultate, ki jih dobimo iz EARS, vsebujejo razvrstitev, št. zmag, št. zgub, št. neodločenih rezultatov, seznam problemov, v katerih so algoritmi znotraj tekme sodelovali in 47

49 Primerjava rezultatov algoritmov medsebojne rezultate tekme. Iz dobljenega lahko prikažemo tabelo rezultatov ClonAlg algoritma glede na zadan problem: Problem Zmaga Poraz Neodločeno Beale B Griewank Martin&Gaddy Ackley Goldstein&Price Schwefel Rigle Easom Powell badly scaled Sphere Rastrigin Schwefel Rosenbrock Booth De Jong Branin Skupaj Tabela 1: Rezultat ClonAlg glede na zadan problem (ob drugem zagonu) Iz dobljenih rezultatov lahko sestavimo tudi tabelo rezultatov ClonAlg algoritma glede na ostale algoritme: Algoritem Zmaga Poraz Neodločeno ClonAlg vs ABC ClonAlg vs TLBO ClonAlg vs PSO ClonAlg vs DE ClonAlg vs RWS Skupaj Tabela 2: Rezultat ClonAlg glede na ostale algoritme (ob drugem zagonu) Iz dobljenih rezultatov drugega testa smo ugotovili, da privzeti parametri DE niso sprejemljivi in smo jih kasneje v tekmi zamenjali s klasičnimi nastavitvami (NP=20, Cr=0.9, F=0.5), ki prinesejo mnogo boljše rezultate. Iz drugega testa, razen rezultatov podanih v tabeli 1 in tabeli 2, dobimo tudi rezultat razvrstitve udeleženih algoritmov po doseženih točkah, ki je prikazan v naslednjem grafu: 48

50 Primerjava rezultatov algoritmov 2.000, , , , , ,00 800,00 600,00 400,00 200,00 0,00 TLBO PSO_Wiki ABC ClonAlg RWSi DE_Wiki Razvrstitev po točkah Slika 5: Grafični prikaz razvrstitve (ob drugem zagonu) Po zagnanem prvem in drugem testu smo v EARS naredili tekmo (t.j. 25 ponovnih zagonov), pri kateri smo za vsak zagon beležili razvrstitev algoritmov. Parametri programov (dimenzija problema = 5, število ocenitvenih funkcij Max_Fes=10 5 ): ClonAlg NP=5, Clones=15 ABC NP=20, limit = 100 TLBO NP=20, elitism=false, removeduplicates=true PSO NP=10, omega=0.7, phig=2, phip=2 DE NP=20, Cr=0.9, F=0.5 RWS - Grafični prikaz tabelaričnih vrednosti razvrstitve (tabele 3), kjer je za vsak algoritem prikazana razvrstitev od minimalne do maksimalne vrednosti ter povprečna vrednost: Slika 6: Grafični prikaz razvrstitve algoritmov (prva tekma) 49

51 Primerjava rezultatov algoritmov Rezultat prve tekme, razvrstitev po doseženih točkah: Zagon št. DE_Wiki TLBO PSO_Wiki ABC ES(1+1) ClonAlg RWSi , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,50 Povprečje 1764, , , , , , ,07 Min 1753, , , , , , ,70 Max 1773, , , , , , ,00 Tabela 3: Razvrstitev algoritmov po doseženih točkah (prva tekma) Po zagnani prvi tekmi smo tekmo (t.j. 25 ponovnih zagonov) ponovili še na CEC2010 problemih. Parametri programov (dimenzija problema = 5, število ocenitvenih funkcij Max_Fes=10 5 ): ClonAlg NP=5, Clones=15 ABC NP=20, limit = 100 TLBO NP=20, elitism=false, removeduplicates=true PSO NP=10, omega=0.7, phig=2, phip=2 DE NP=20, Cr=0.9, F=0.5 RWS - 50

52 Primerjava rezultatov algoritmov Rezultat druge tekme, razvrstitev po doseženih točkah: Zagon št. DE_Wiki TLBO PSO_Wiki ABC ES(1+1) ClonAlg RWSi , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,70 Povprečje 1725, , , , , , ,08 Min 1691, , , , , , ,50 Max 1751, , , , , , ,40 Tabela 4: Razvrstitev algoritmov po doseženih točkah (druga tekma, CEC2010 problemi) Grafični prikaz tabelaričnih vrednosti razvrstitve: Slika 7: Grafični prikaz razvrstitve algoritmov (druga tekma, CEC2010 problemi) 51

53 Primerjava rezultatov algoritmov Za vsak algoritem je prikazana razvrstitev od minimalne do maksimalne vrednosti ter povprečna vrednost. Iz dobljenih rezultatov lahko dobimo tudi grafični prikaz z CRS4EAs dobljenih občutnih razlik. Dva algoritma sta občutno različna, kadar se z 99.7% gotovostjo, intervala razvrstitve ne prekrivata. Slika 8: Grafični prikaz z CRS4EAs dobljenih občutnih razlik Iz obeh tekem ugotovimo, da je s pravimi parametri DE nesporni zmagovalec tekme. V prvem primeru tekme algoritmi rešujejo naslednje probleme: Beale, B2, Griewank, Martin and Gaddy, Ackley, Goldstein and Price, Schwefel Rigle, Easom, Powell badly scaled, Sphere, Rastrigin, Schwefel, Rosenbrock, Booth, De Jong in Branin. Ta tekma vsebuje zelo majhno divergenco med rezultati razvrstitve algoritmov in je lažje razvidno, kako so se algoritmi uvrščali. V primeru tekme po CEC2010 problemih se rezultati razvrstitve za ABC, PSO in TLBO prekrivajo, o čem govori tudi grafični prikaz z CRS4EAs dobljenih občutnih razlik. Glede na prvo tekmo PSO implementacija prehiti TLBO, prav tako pa se tudi s TLBO izenači ABC. Razvrstitev ClonAlg na žalost v drugi tekmi ni toliko napredovala kot razvrstitev nekaterih drugih algoritmov. 52

Reševanje problemov in algoritmi

Reševanje problemov in algoritmi Reševanje problemov in algoritmi Vhod Algoritem Izhod Kaj bomo spoznali Zgodovina algoritmov. Primeri algoritmov. Algoritmi in programi. Kaj je algoritem? Algoritem je postopek, kako korak za korakom rešimo

More information

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA UDK621.3:(53+54+621 +66), ISSN0352-9045 Informaclje MIDEM 3~(~UU8)4, Ljubljana ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA Marijan Macek 1,2* Miha Cekada 2 1 University of Ljubljana,

More information

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič Kaj je sistemska biologija? > Razumevanje delovanja organizmov sistemska biologija =

More information

Iskanje najcenejše poti v grafih preko polkolobarjev

Iskanje najcenejše poti v grafih preko polkolobarjev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Veronika Horvat Iskanje najcenejše poti v grafih preko polkolobarjev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R Multipla koelacia in egesia Multipla egesia, multipla koelacia, statistično zaklučevane o multiplem Multipla egesia osnovni model in ačunane paametov Z multiplo egesio napoveduemo vednost kiteia (odvisne

More information

OPTIMIRANJE IZDELOVALNIH PROCESOV

OPTIMIRANJE IZDELOVALNIH PROCESOV OPTIMIRANJE IZDELOVALNIH PROCESOV asist. Damir GRGURAŠ, mag. inž. str izr. prof. dr. Davorin KRAMAR damir.grguras@fs.uni-lj.si Namen vaje: Ugotoviti/določiti optimalne parametre pri struženju za dosego

More information

Theoretical advances in artificial immune systems

Theoretical advances in artificial immune systems Theoretical Computer Science 403 (2008) 11 32 www.elsevier.com/locate/tcs Theoretical advances in artificial immune systems J. Timmis a,b, A. Hone c,, T. Stibor d, E. Clark a a Department of Computer Science,

More information

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Seminar - 3. letnik, I. stopnja Kvantni računalniki Avtor: Tomaž Čegovnik Mentor: prof. dr. Anton Ramšak Ljubljana, marec 01 Povzetek

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

TOPLJENEC ASOCIIRA LE V VODNI FAZI

TOPLJENEC ASOCIIRA LE V VODNI FAZI TOPLJENEC ASOCIIRA LE V VODNI FAZI V primeru asociacij molekul topljenca v vodni ali organski fazi eksperimentalno določeni navidezni porazdelitveni koeficient (P n ) v odvisnosti od koncentracije ni konstanten.

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations Študijski program in stopnja Study programme and level Magistrski

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Teorija grafov Graph theory Študijski program in stopnja Study programme and level Magistrski študijski program Matematika Master's study

More information

OPTIMIZACIJA Z ROJEM DELCEV

OPTIMIZACIJA Z ROJEM DELCEV UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: organizacijska informatika OPTIMIZACIJA Z ROJEM DELCEV Mentor: doc. dr. Igor Bernik Kandidat: Matjaž Lipovšek Kranj, december 2005 Izjava: "Študent

More information

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA UDK 543.428.2:544.171.7 ISSN 1580-2949 Original scientific article/izvirni znanstveni ~lanek MTAEC9, 49(3)435(2015) B. PONIKU et al.: USING SIMULATED SPECTRA TO TEST THE EFFICIENCY... USING SIMULATED SPECTRA

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Kvantna mehanika Course title: Quantum mechanics Študijski program in stopnja Study programme and level Univerzitetni študijski program 1.stopnje Fizika First

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ.

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ. UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Finančna matematika First cycle

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi

Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi Elektrotehniški vestnik 69(3-4): 227 233, 2002 Electrotechnical Review, Ljubljana, Slovenija Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi Simon Vavpotič,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) O neeksaknotsti eksaktnega binomskega intervala zaupanja (On the inexactness

More information

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION Table of contents 1 TECHNICAL FIELDS... 2 2 PRESENTING THE SCOPE OF A CALIBRATION LABOORATORY... 2 3 CONSIDERING CHANGES TO SCOPES... 6 4 CHANGES WITH

More information

ZDRAVLJENJE BOLNICE S VON WILLEBRANDOVO BOLEZNIJO TIPA 3 IN INHIBITORJI

ZDRAVLJENJE BOLNICE S VON WILLEBRANDOVO BOLEZNIJO TIPA 3 IN INHIBITORJI ZDRAVLJENJE BOLNICE S VON WILLEBRANDOVO BOLEZNIJO TIPA 3 IN INHIBITORJI B. Faganel Kotnik, L. Kitanovski, J. Jazbec, K. Strandberg, M. Debeljak, Bakija, M. Benedik Dolničar A. Trampuš Laško, 9. april 2016

More information

Attempt to prepare seasonal weather outlook for Slovenia

Attempt to prepare seasonal weather outlook for Slovenia Attempt to prepare seasonal weather outlook for Slovenia Main available sources (ECMWF, EUROSIP, IRI, CPC.NCEP.NOAA,..) Two parameters (T and RR anomally) Textual information ( Met Office like ) Issued

More information

Zgoščevanje podatkov

Zgoščevanje podatkov Zgoščevanje podatkov Pojem zgoščevanje podatkov vključuje tehnike kodiranja, ki omogočajo skrajšan zapis neke datoteke. Poznan program za zgoščevanje datotek je WinZip. Podatke je smiselno zgostiti v primeru

More information

MATRIČNI POPULACIJSKI MODELI

MATRIČNI POPULACIJSKI MODELI TURK ZAKLJUČNA NALOGA 2014 UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE ZAKLJUČNA NALOGA MATRIČNI POPULACIJSKI MODELI LEV TURK UNIVERZA NA PRIMORSKEM FAKULTETA

More information

ENAČBA STANJA VODE IN VODNE PARE

ENAČBA STANJA VODE IN VODNE PARE ENAČBA STANJA VODE IN VODNE PARE SEMINARSKA NALOGA PRI PREDMETU JEDRSKA TEHNIKA IN ENERGETIKA TAMARA STOJANOV MENTOR: IZRED. PROF. DR. IZTOK TISELJ NOVEMBER 2011 Enačba stanja idealni plin: pv = RT p tlak,

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerična linearna algebra Numerical linear algebra Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK POVZETEK. Namen tega dela je prikazati osnove razlik, ki lahko nastanejo pri interpretaciji

More information

Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih

Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih Daniel Grošelj Mentor: Prof. Dr. Rudi Podgornik 2. marec 2011 Kazalo 1 Uvod 2 2 Nekaj osnovnih pojmov pri teoriji omrežij 3 2.1 Matrika sosednosti.......................................

More information

Minimizacija učne množice pri učenju odločitvenih dreves

Minimizacija učne množice pri učenju odločitvenih dreves Univerza v Ljubljani Fakulteta za računalništvo in informatiko Ivan Štajduhar Minimizacija učne množice pri učenju odločitvenih dreves Diplomska naloga Mentor: prof. dr. Ivan Bratko Ljubljana, 2001 Izjava

More information

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dejan Petelin Sprotno učenje modelov na podlagi Gaussovih procesov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Janez Demšar

More information

Hipohamiltonovi grafi

Hipohamiltonovi grafi Hipohamiltonovi grafi Marko Čmrlec, Bor Grošelj Simić Mentor(ica): Vesna Iršič Matematično raziskovalno srečanje 1. avgust 016 1 Uvod V marsovskem klubu je želel predsednik prirediti večerjo za svoje člane.

More information

METAHEVRISTIČNO REŠEVANJE

METAHEVRISTIČNO REŠEVANJE Univerza v Ljubljani Fakulteta za računalništvo in informatiko METAHEVRISTIČNO REŠEVANJE OPTIMIZACIJSKEGA PROBLEMA S KOLONIJAMI MRAVELJ MAGISTRSKA NALOGA Peter Korošec mentor: prof. dr. Borut Robič Ljubljana,

More information

Biološka ekvivalenca Statistične metode. Iztok Grabnar

Biološka ekvivalenca Statistične metode. Iztok Grabnar Biološka ekvivalenca Statistične metode Iztok Grabnar Definicije EMEA: Note for guidance on the investigation of bioavailability and bioequivalence Biološka uporabnost Biovailability means the rate and

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA Tina Lešnik Maribor, 2014 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Domen Perc Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

More information

The consequences of quantum computing

The consequences of quantum computing University of Ljubljana Faculty of Computer and Information Science Kokan Malenko The consequences of quantum computing BACHELOR S THESIS UNDERGRADUATE UNIVERSITY STUDY PROGRAM COMPUTER SCIENCE AND MATHEMATICS

More information

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

AKSIOMATSKA KONSTRUKCIJA NARAVNIH UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Poučevanje: Predmetno poučevanje ŠPELA ZOBAVNIK AKSIOMATSKA KONSTRUKCIJA NARAVNIH ŠTEVIL MAGISTRSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

Stiskanje slik z algoritmi po vzorih iz narave

Stiskanje slik z algoritmi po vzorih iz narave Stiskanje slik z algoritmi po vzorih iz narave Gregor Jurgec Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, Maribor gregor.jurgec@gmail.com Iztok Fister Univerza

More information

PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI

PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI 1 Janko Juršič PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI Diplomsko delo Maribor, september 2010 2 Diplomsko delo univerzitetnega študijskega programa PROBLEM SIMETRIČNEGA

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba logistične regresije za napovedovanje razreda, ko je število enot v preučevanih razredih

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Statistika Statistics Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika First cycle academic

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Verjetnostni algoritmi za testiranje praštevilskosti (Algorithms for testing primality) Ime in

More information

Particija grafa, odkrivanje skupnosti in maksimalen prerez

Particija grafa, odkrivanje skupnosti in maksimalen prerez Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Matemati ne znanosti - 2. stopnja Peter Mur²i Particija grafa, odkrivanje skupnosti in maksimalen prerez Magistrsko

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Primerjava modernih pristopov za identifikacijo pomembno izraženih genov za dve skupini (Comparison

More information

Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja

Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja Elektrotehniški vestnik 70(1-2): 22 26, 2003 Electrotechnical Review, Ljubljana, Slovenija Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja Marko Čepin

More information

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Troha Robotsko učenje in planiranje potiskanja predmetov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Ivan Bratko Ljubljana,

More information

2A skupina zemeljskoalkalijske kovine

2A skupina zemeljskoalkalijske kovine 1. NALOGA: V ČEM SE RAZLIKUJETA BeO IN MgO? 1. NALOGA: ODGOVOR Elementi 2. periode (od Li do F) se po fizikalnih in kemijskih lastnostih (diagonalne lastnosti) znatno razlikujejo od elementov, ki so v

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO Ljubljana, 2013 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ODDELEK ZA MATEMATIKO IN RAČUNALNIŠTVO SAŠO ZUPANEC Mentor:

More information

Usmerjene nevronske mreže: implementacija in uporaba

Usmerjene nevronske mreže: implementacija in uporaba Seminar - 4. letnik Usmerjene nevronske mreže: implementacija in uporaba Avtor: Miha Marolt Mentorja: Marko Žnidarič, Drago Kuzman Kranj, 24.4.2010 Povzetek Usmerjena večnivojska nevronska mreˇza(uvnm)

More information

Razpoznavanje govora GOVORNE IN SLIKOVNE TEHNOLOGIJE. prof. dr. France Mihelič

Razpoznavanje govora GOVORNE IN SLIKOVNE TEHNOLOGIJE. prof. dr. France Mihelič Razpoznavanje govora GOVORNE IN SLIKOVNE TEHNOLOGIJE prof. dr. France Mihelič PREGLED Razpoznavanje vzorcev Prileganje z ukrivljanjem časovne osi osnove predstavitev z grafom stanj cena primerjave omejitve

More information

MODELIRANJE IN SIMULACIJA TER NJUNA UPORABA V MEDICINI IN FARMACIJI

MODELIRANJE IN SIMULACIJA TER NJUNA UPORABA V MEDICINI IN FARMACIJI Zdrav Vestn 28; 77: 57 71 57 Pregledni prispevek/review article MODELIRANJE IN SIMULACIJA TER NJUNA UPORABA V MEDICINI IN FARMACIJI USAGE OF MODELLING AND SIMULATION IN MEDICINE AND PHARMACY Maja Atanasijević-Kunc

More information

IZPELJANKE ALGORITMA LZW

IZPELJANKE ALGORITMA LZW Jure Sreš IZPELJKE LGORITM LZW Diplomsko delo Maribor, september 2016 IZPELJKE LGORITM LZW Diplomsko delo Študent(ka): Jure Sreš Študijski program: Računalništvo in informacijske tehnologije (U) Smer:

More information

Problem umetnostne galerije

Problem umetnostne galerije Problem umetnostne galerije Marko Kandič 17. september 2006 Za začetek si oglejmo naslednji primer. Recimo, da imamo v galeriji polno vrednih slik in nočemo, da bi jih kdo ukradel. Seveda si želimo, da

More information

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo)

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Blaž Zupan 29. julij 2017 Kazalo 1 Odkrivanje skupin 7 1.1 Primer podatkov.................................. 7 1.2 Nekaj

More information

INTELLIGENTNI SISTEMI Mehka Logika

INTELLIGENTNI SISTEMI Mehka Logika INTELLIGENTNI SISTEMI Mehka Logika MEHKA LOGIKA (FUZZY LOGIC) 2011/12 Jurij F. Tasič Emil Plesnik 2011/12 1 Splošna definicija Mehka logika - Fuzzy Logic; 1965 Lotfi Zadeh, Berkely Nadgradnja konvencionalne

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Optimizacija Optimization Študijski program in stopnja Study programme and level Visokošolski strokovni študijski program Praktična matematika

More information

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani JEDRSKA URA JAN JURKOVIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani Natančnost časa postaja vse bolj uporabna in pomembna, zato se rojevajo novi načini merjenja časa. Do danes najbolj natančnih

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Numerične metode Numerical methods Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

More information

Ekstrakcija časovnega znanja iz dogodkov v spletnih novicah

Ekstrakcija časovnega znanja iz dogodkov v spletnih novicah Univerza v Ljubljani Fakulteta za računalništvo in informatiko Kristijan Mirčeta Ekstrakcija časovnega znanja iz dogodkov v spletnih novicah DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2). NALOGE ) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih ( in ). 0.8 0.6 0.4 0. 0.0 0.08 0.06 0.04 0.0 0.00 0 0 0 30

More information

TEORIJA GRAFOV IN LOGISTIKA

TEORIJA GRAFOV IN LOGISTIKA TEORIJA GRAFOV IN LOGISTIKA Maja Fošner in Tomaž Kramberger Univerza v Mariboru Fakulteta za logistiko Mariborska cesta 2 3000 Celje Slovenija maja.fosner@uni-mb.si tomaz.kramberger@uni-mb.si Povzetek

More information

Teorija verjetnosti uvod. prof. dr. Jurij Tasič Asistent Emil Plesnik Laboratorij za digitalno obdelavo signalov, slik in videa

Teorija verjetnosti uvod. prof. dr. Jurij Tasič Asistent Emil Plesnik Laboratorij za digitalno obdelavo signalov, slik in videa Teorija verjetnosti uvod prof. dr. Jurij Tasič Asistent Emil Plesnik Laboratorij za digitalno obdelavo signalov, slik in videa http://www.ldos.si/ 1 Teorija verjetnosti z več spremeljivkami Ključni koncept

More information

Vsebina Od problema do načrta programa 1. del

Vsebina Od problema do načrta programa 1. del Vsebina Od problema do načrta programa 1. del Osnovne strategije iskanja rešitev problema Načini opisovanja rešitev problema Osnovni gradniki rešitve problema Primeri Napišite postopek za kuhanje kave

More information

JERNEJ TONEJC. Fakulteta za matematiko in fiziko

JERNEJ TONEJC. Fakulteta za matematiko in fiziko . ARITMETIKA DVOJIŠKIH KONČNIH OBSEGOV JERNEJ TONEJC Fakulteta za matematiko in fiziko Math. Subj. Class. (2010): 11T{06, 22, 55, 71}, 12E{05, 20, 30}, 68R05 V članku predstavimo končne obsege in aritmetiko

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Gregor Ambrož Maribor, 2010 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija

Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija Elektrotehniški vestnik 69(2): 120 127, 2002 Electrotechnical Review, Ljubljana, Slovenija Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija Andrej Rakar, D- ani Juričić

More information

2 Zaznavanje registrske tablice

2 Zaznavanje registrske tablice Razpoznavanje avtomobilskih registrskih tablic z uporabo nevronskih mrež Matej Kseneman doc. dr. Peter Planinšič, mag. Tomaž Romih, doc. dr. Dušan Gleich (mentorji) Univerza v Mariboru, Laboratorij za

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Strojno učenje iz interakcije

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Strojno učenje iz interakcije UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Strojno učenje iz interakcije (Machine learning from interaction) Ime in priimek: Rok Breulj Študijski

More information

VAJE 2: Opisna statistika

VAJE 2: Opisna statistika VAJE : Opisna statistika Na računalniških vajah se za urejanje in prikazovanje statističnih podatkov uporabi statistični programski paket SPSS in podatkovna datoteka podatki.sav. NALOGE: 1. Analiza vzorčnih

More information

Metode rangiranja spletnih strani

Metode rangiranja spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE David Primc Metode rangiranja spletnih strani Diplomsko delo Ljubljana, 2015 UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE David Primc Mentor: doc. dr.

More information

Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm

Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm Elektrotehniški vestnik XX(Y): 6, YEAR Electrotechnical Review, Ljubljana, Slovenija Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm Borut Wagner, Árpád Bűrmen, Janez

More information

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ 1 OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ Opis problema. Danih je k vhodnih nizov, ki jih označimo s t 1,..., t k. Množico vseh znakov, ki se pojavijo v vsaj enem vhodnem nizu, imenujmo abeceda in jo označimo

More information

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL original scientific article UDC: 796.4 received: 2011-05-03 MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL Pietro Enrico DI PRAMPERO University of Udine, Department of Biomedical

More information

Verifikacija napovedi padavin

Verifikacija napovedi padavin Oddelek za Meteorologijo Seminar: 4. letnik - univerzitetni program Verifikacija napovedi padavin Avtor: Matic Šavli Mentor: doc. dr. Nedjeljka Žagar 26. februar 2012 Povzetek Pojem verifikacije je v meteorologiji

More information

POGLAVJE IV: Klasični in kvantni Monte-Carlo

POGLAVJE IV: Klasični in kvantni Monte-Carlo POGLAVJE IV: Klasični in kvantni Monte-Carlo V statistični fiziki nas često zanimajo povprečne vrednosti opazljivk v ravnovesnem, termalnem stanju, pri dobro znani vrednosti temperature in ostalih termodinamskih

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Diferencialne enačbe. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Diferencialne enačbe. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Diferencialne enačbe Differential equations Študijski program in stopnja Study programme and level Visokošolski strokovni

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Ekstremne porazdelitve za odvisne spremenljivke (Extremal Distributions for Dependent Variables)

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) Grafi struktur proteinov: Uporaba teorije grafov za analizo makromolekulskih

More information

NIKJER-NIČELNI PRETOKI

NIKJER-NIČELNI PRETOKI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ALJA ŠUBIC NIKJER-NIČELNI PRETOKI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika - računalništvo ALJA

More information

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida Univerza v Ljubljani Fakulteta za računalništvo in informatiko Grega Kres Razpoznavanje znakov prstne abecede na osnovi računalniškega vida diplomsko delo na visokošolskem strokovnem študiju doc. dr. Iztok

More information

Fakulteta za matematiko in fiziko Univerza v Ljubljani. Seminar. Kvantni računalniki. Avtor: Matjaž Gregorič. Mentor: prof. N.S.

Fakulteta za matematiko in fiziko Univerza v Ljubljani. Seminar. Kvantni računalniki. Avtor: Matjaž Gregorič. Mentor: prof. N.S. Fakulteta za matematiko in fiziko Univerza v Ljubljani Seminar Kvantni računalniki Avtor: Matjaž Gregorič Mentor: prof. N.S. Mankoč Borštnik Ljubljana, november 7 Povzetek V seminarju so predstavljene

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Sabina Skornšek Maribor, 2012 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

modeli regresijske analize nominalnih spremenljivk

modeli regresijske analize nominalnih spremenljivk modeli regresijske analize nominalnih spremenljivk Cveto Trampuž An Illustrative Comparison Logit Analysis with Dummy Variable Regression Analysis. Two different regression models in which the dependent

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Teorija števil Number theory Študijski program in stopnja Study programme and level Magistrski študijski program Matematika

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Izdelava in evalvacija različnih modelov za napovedovanje zvrsti turizma iz besedil (Development

More information

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani FRAKTALNA DIMENZIJA VESNA IRŠIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani PACS: 07.50.Hp, 01.65.+g V članku je predstavljen zgodovinski razvoj teorije fraktalov in natančen opis primerov,

More information

OPTIMIZACIJA ENODIMENZIONALNEGA RAZREZA PO SKUPINAH

OPTIMIZACIJA ENODIMENZIONALNEGA RAZREZA PO SKUPINAH UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA OPTIMIZACIJA ENODIMENZIONALNEGA RAZREZA PO SKUPINAH DOKTORSKA DISERTACIJA Ljubljana 2013 MIHAEL CESAR IZJAVA O AVTORSTVU Spodaj podpisani(-a) MIHAEL CESAR študent(-ka)

More information

arxiv: v1 [cs.dm] 21 Dec 2016

arxiv: v1 [cs.dm] 21 Dec 2016 UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE arxiv:1612.07113v1 [cs.dm] 21 Dec 2016 Zaključna naloga (Final project paper) Odčitljivost digrafov in dvodelnih

More information

Univerza na Primorskem FAMNIT, MFI STATISTIKA 2 Seminarska naloga

Univerza na Primorskem FAMNIT, MFI STATISTIKA 2 Seminarska naloga Univerza na Primorskem FAMNIT, MFI STATISTIKA 2 Seminarska naloga Naloge so edini način preverjanja znanja pri predmetu Statistika. Vsaka naloga je vredna 10 točk, natančna pravila ocenjevanja pa so navedena

More information

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Numerične metode Course title: Numerical methods Študijski program in stopnja Study programme and level Univerzitetni študijski program 1.stopnje Fizika First

More information

Simulation System Design

Simulation System Design Simulation System Design Hossein Arsham 1, Miroljub Kljajić 2 1 University of Baltimore, Baltimore, MD, 21201, USA, harsham@ubalt.edu 2 University of Maribor, Faculty of Organizational Sciences, Kidričeva

More information

SVM = Support Vector Machine = Metoda podpornih vektorjev

SVM = Support Vector Machine = Metoda podpornih vektorjev Uvod 2/60 SVM = Support Vector Machine = Metoda podpornih vektorjev Vapnik in Lerner 1963 (generalized portrait) jedra: Aronszajn 1950; Aizerman 1964; Wahba 1990, Poggio in Girosi 1990 Boser, Guyon in

More information

Topološka obdelava slik

Topološka obdelava slik Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Matjaž Cerar Topološka obdelava slik DIPLOMSKO DELO UNIVERZITETNI INTERDISCIPLINARNI ŠTUDIJ RAČUNALNIŠTVA

More information

Iterativne metode podprostorov 2010/2011 Domače naloge

Iterativne metode podprostorov 2010/2011 Domače naloge Iterativne metode podprostorov 2010/2011 Domače naloge Naloge so razdeljene v 6 skupin. Za pozitivno oceno morate rešiti toliko nalog, da bo končna vsota za pozitivno oceno vsaj 8 točk oz. vsaj 10 točk

More information

Hadamardove matrike in misija Mariner 9

Hadamardove matrike in misija Mariner 9 Hadamardove matrike in misija Mariner 9 Aleksandar Jurišić, 25. avgust, 2009 J. Hadamard (1865-1963) je bil eden izmed pomembnejših matematikov na prehodu iz 19. v 20. stoletje. Njegova najpomembnejša

More information

Increasing process safety using analytical redundancy

Increasing process safety using analytical redundancy Elektrotehniški vestnik 69(3-4): 240 246, 2002 Electrotechnical Review, Ljubljana, Slovenija Increasing process safety using analytical redundancy Stojan Peršin, Boris Tovornik, Nenad Muškinja, Drago Valh

More information

POLDIREKTNI PRODUKT GRUP

POLDIREKTNI PRODUKT GRUP UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUCIJA ŽNIDARIČ POLDIREKTNI PRODUKT GRUP DIPLOMSKO DELO LJUBLJANA 2014 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Univerzitetni študijski program 1. stopnje: Dvopredmetni

More information

SIMETRIČNE KOMPONENTE

SIMETRIČNE KOMPONENTE Univerza v Ljubljani Fakulteta za elektrotehniko SIMETRIČNE KOMPONENTE Seminarska naloga pri predmetu Razdelilna in industrijska omrežja Poročilo izdelala: ELIZABETA STOJCHEVA Mentor: prof. dr. Grega Bizjak,

More information

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe Sistem linearnih enačb Matrična algebra Oseba X X X3 B A.A. 3 B.B. 7 C.C. Doc. dr. Anja Podlesek Oddelek za psihologijo, Filozofska fakulteta, Univerza v Ljubljani Študijski program prve stopnje Psihologija

More information