umetni imunski sistem s strani biologije ...imunski sistem ôloveka spada med skupino imunskega...

76
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

Upload: others

Post on 20-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

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

Page 2: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

I

Smetanova ulica 17

2000 Maribor, Slovenija

UMETNI IMUNSKI SISTEM – S STRANI BIOLOGIJE

NAVDIHNJENO RAČUNANJE

Magistrsko delo

Študent: Andrej Barovič Karpov

Študijski program: Računalništvo in informatika, podiplomski študij

Smer:

Mentor: red. prof. dr. Marjan MERNIK

Somentor(ica):

Lektor(ica):

Page 3: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

II

ZAHVALA

Zahvaljujem se mentorju red. prof. dr. Marjanu

Merniku in doc. dr. Mateju Črepinšku za pomoč

in vodenje pri opravljanju magistrske naloge.

Page 4: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

III

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: 004.89: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.

Page 5: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

IV

BIOLOGY INSPIRED COMPUTING – ARTIFICIAL IMMUNE SYSTEM

Keywords: Intelligent systems, evolutionary computation, evolutionary

algorithms, evolutionary strategy, genetic programming, genetic

algorithms, artificial immune system

UDK: 004.89: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.

Page 6: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

V

KAZALO

1 UVOD 10

2 IMUNSKI SISTEM IN NJEGOVE BIOLOŠKE OSNOVE 11

3 ALGORITMI UMETNEGA IMUNSKEGA SISTEMA 15

3.1 Teorija klonske selekcije (CST) 19

3.2 Algoritem negativne selekcije 22

3.3 Imunske mreže 25

4 ZGODOVINA RAZISKAV ALGORITMOV UMETNEGA IMUNSKEGA

SISTEMA 27

4.1 Začetki AIS (raziskave pred 1990) 27

4.2 Obdobje pionirjev AIS (raziskave med 1990 in 2000) 27

4.3 AIS kot uveljavljena skupina algoritmov (raziskave med 2000 in 2010) 28

4.4 Najnovejše raziskave (od 2010 do danes) 28

5 PRIMERI UPORABE ALGORITMOV UMETNEGA IMUNSKEGA SISTEMA 30

5.1 AIS aplikacije pred 2000 30

5.2 AIS aplikacije od 2000 in primeri uporabe AIS algoritmov v obdobju najnovejših

raziskav 31

6 DRUGI MODERNI METAHEVRISTIČNI ALGORITMI 34

6.1 PSO (optimizacija z roji delcev) 34

6.2 DE (diferencialna evolucija) 35

6.3 ABC (algoritem kolonije čebel) 36

Page 7: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

VI

6.4 TLBO (optimizacijski algoritem na osnovi učitelj – učenec) 36

7 IMPLEMENTACIJA AIS ALGORITMOV 38

7.1 Algoritem negativne selekcije (NSA) 39

7.2 Umetno imunsko omrežje (aiNet) 40

7.3 Algoritem klonske selekcije (CLONALG) 43

7.4 B celičen algoritem (BCA) 44

8 PRIMERJAVA REZULTATOV ALGORITMOV 45

8.1 Primerjava z NHST in CRS4EAs 46

8.2 Preliminarna analiza glede na začetno populacijo 53

8.3 Primerjava glede na eksploracijo in eksploatacijo 58

8.4 Diskusija 67

9 ZAKLJUČEK 68

9.1 Cilji 68

9.2 Spoznanja in razprave 68

10 LITERATURA 69

Page 8: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

VII

KAZALO SLIK

SLIKA 1: INTERAKCIJA MED B IN T CELICO .................................................................................................. 12

SLIKA 2: PRIMER OPERACIJ KLONIRANJA IN MUTACIJ PROTITELES ................................................................... 13

SLIKA 3: PRIMER HAMMINGOVEGA KODIRANJA ......................................................................................... 18

SLIKA 4: PRIMER PRINCIPA NEGATIVNE SELEKCIJE ....................................................................................... 23

SLIKA 5: GRAFIČNI PRIKAZ RAZVRSTITVE (OB DRUGEM ZAGONU) ................................................................... 49

SLIKA 6: GRAFIČNI PRIKAZ RAZVRSTITVE ALGORITMOV (PRVA TEKMA) ............................................................ 49

SLIKA 7: GRAFIČNI PRIKAZ RAZVRSTITVE ALGORITMOV (DRUGA TEKMA, CEC2010 PROBLEMI) ........................... 51

SLIKA 8: GRAFIČNI PRIKAZ Z CRS4EAS DOBLJENIH OBČUTNIH RAZLIK ............................................................. 52

SLIKA 9: GRAFIČNI PRIKAZ ŠTEVILA POTREBNIH KORAKOV POSAMEZNEGA ALGORITMA ...................................... 55

KAZALO TABEL

TABELA 1: REZULTAT CLONALG GLEDE NA ZADAN PROBLEM (OB DRUGEM ZAGONU) ........................................ 48

TABELA 2: REZULTAT CLONALG GLEDE NA OSTALE ALGORITME (OB DRUGEM ZAGONU) .................................... 48

TABELA 3: RAZVRSTITEV ALGORITMOV PO DOSEŽENIH TOČKAH (PRVA TEKMA) ................................................ 50

TABELA 4: RAZVRSTITEV ALGORITMOV PO DOSEŽENIH TOČKAH (DRUGA TEKMA, CEC2010 PROBLEMI) ............... 51

TABELA 5: ŠTEVILO POTREBNIH KORAKOV PRI PREISKOVANJU Z ROBA ............................................................. 54

TABELA 6: ŠTEVILO POTREBNIH KORAKOV PRI PREISKOVANJU SPHERE IN GRIEWANK Z BLIŽINE ........................... 56

TABELA 7: ŠTEVILO POTREBNIH KORAKOV PRI PREISKOVANJU ROSENBROCK Z BLIŽINE ....................................... 57

TABELA 8: MERITEV EVKLIDSKE RAZDALJE VSI IN USPEŠNI (CLONALG, SPHERE, PRAG 0.1) ................................. 59

TABELA 9: MERITEV EVKLIDSKE RAZDALJE CLONALG IN DE (USPEŠNI, SPHERE, PRAG 0.1) ................................. 60

TABELA 10: MERITEV EVKLIDSKE RAZDALJE ZA PRAG 0.001 IN 0.01 (CLONALG, VSI, SPHERE) ........................... 61

TABELA 11: MERITEV EVKLIDSKE IN MANHATTAN RAZDALJE (CLONALG, PRAG 0.001, USPEŠNI, SPHERE) ............ 62

TABELA 12: MERITEV EVKLIDSKE RAZDALJE CLONALG IN DE (USPEŠNI, GRIEWANK, PRAG 0.001) ...................... 63

TABELA 13: MERITEV MANHATTAN RAZDALJE CLONALG IN DE (USPEŠNI, GRIEWANK, PRAG 0.001).................. 64

TABELA 14: PRIKAZ POVPREČJA IN STANDARDNEGA ODKLONA PRI MERJENJU EVKLIDSKE RAZDALJE MED STARŠEM IN

POTOMCEM ................................................................................................................................. 65

TABELA 15: PRIKAZ POVPREČJA IN STANDARDNEGA ODKLONA PRI MERJENJU MANHATTAN RAZDALJE MED STARŠEM

IN POTOMCEM .............................................................................................................................. 66

Page 9: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

VIII

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

Page 10: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

IX

opt-aiNet - Optimised aiNet

opt-aiNet-AA-Clust - opt-aiNet for Amino Acid Clustering

opt-IA - Optimization Immune Algorithm

PDP - Parallel Distributed Processing

PSO - Particle Swarm Optimization

RWA - Random Walk Algorithm

SAT - Satisfiability

SVM - Support Vector Machine

TEA - Trend Evaluation Algorithm

TFH - Follicular Helper T Cells

TLBO - Teaching-Learning-Based Optimization

TSP - Travelling Salesman Problem

Page 11: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Uvod MAGISTERIJ

10

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.

Page 12: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Imunski sistem in njegove biološke osnove MAGISTERIJ

11

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. 20–35 % 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.

Page 13: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Imunski sistem in njegove biološke osnove MAGISTERIJ

12

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.

Page 14: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Imunski sistem in njegove biološke osnove MAGISTERIJ

13

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.

Page 15: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Imunski sistem in njegove biološke osnove MAGISTERIJ

14

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.

Page 16: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

15

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

Page 17: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

16

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).

Page 18: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

17

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).

Page 19: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

18

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 𝑥 ∈ [0, 𝑙] in l predstavlja maksimalno afiniteto. Za

receptor s koordinatami x = (x1, x2, ... xn) in epitop z y=(y1, y2, ... yn), nam standardna

evklidska metrika med njima da afiniteto 𝐷(𝑥, 𝑦) = √∑ (𝑥𝑗 − 𝑦𝑗)2𝑛𝑗=1 . Kot poenostavitev sta

Perelson in Oster predlagala "prepoznavno žogo" [59] radija B(x) = y|D(x, y) < 𝑟 in v

tej poenostavitvi odziv lahko zapišemo kot 𝑡 → ∞. 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 𝑒 ∈ ∑ ,𝐿 z e=(e1, e2,... eL) se

ujema po r-ponovitvenem pravilu, če obstaja pozicija p kjer ei=di za i=p,… , p+r-1, p≤L-

r+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.

Page 20: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

19

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 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 𝑣 ∈ 𝑃, preračunaj 𝑔(𝑣) in ustvari klonirano populacijo C,

2.2. Izberi naključen 𝑣′ ∈ 𝐶 in izvajaj CRHO,

2.3. Preračunaj 𝑔(𝑣′); če 𝑔(𝑣′) > 𝑔(𝑣) potem zamenjaj 𝑣 z klonom 𝑣′,

3. Izpiši populacijo P kot rešitev

end.

Page 21: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

20

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 Np osebkov, kjer je vsak osebek 𝑥 ∈ ∑L. ∑ je

končna množica določene abecede (ponavadi ∑ = 0, 1). Stanje, v katerem se nahaja

sistem, lahko zapišemo kot X=(x1, x2, … xNp) 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 Xt

vrednosti od 1 do M, ki odgovarja stanju sistema. Obnašanje algoritma lahko zakodiramo

kot neskončno zaporedje naključnih spremenljivk X0, X1, X2, ..., ob tem pa nas zanima

verjetnost prehoda v Xt in obnašanje sistema kadar 𝑡 → ∞.

Naj vt označujejo vrstice enodimenzionalnega vektorja za verjetnostno porazdelitev Xt,

tako da je j-ta komponenta vektorja vt, j = P (Xt = 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]:

𝑃(𝑋(𝑡+1) = 𝑘) = ∑ 𝑃(𝑋(𝑡+1) = 𝑘|𝑋𝑡 = 𝑗)𝑃(𝑋𝑡 = 𝑗);𝑀𝑗=1 oz. bolj podrobno

𝑣(𝑡+1,𝑘) = ∑ 𝑣(𝑡,𝑗)𝑃𝑗𝑘

𝑀

𝑗=1

kjer je Pjk = P(Xt+1 = k|Xt = j) verjetnost prehoda iz stanja j v k oziroma Pjk = P(X1=k|X0=j),

torej zaporedje spremenljivk Xt predstavlja homogeno Markovo verigo. Zgornjo enačbo

lahko povzamemo v matrični obliki, kot vt+1 = vt P, kjer je P = (Pjk) matrika prehoda, M × M

prehodnih verjetnosti.

Sledi vt = v0 Pt, tako da je asimptotska porazdelitev verige odvisna od mejnega

obnašanja Pt kadar 𝑡 → ∞. Za posamezno stanje verige j rečemo, da se absorbira, če

Pjk = 0 za vsak 𝑘 ≠ 𝑗 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(Xt=j za nek t ≥ 1 | X0=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.

Page 22: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

21

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 fT verjetnost prehoda iz nič do nekega števila T (T-

stanje niza dolžine L), torej velja [64]:

𝑓𝑇 =1

𝐿2[∑ ∑ (1 − 𝜌)(𝑚+1−𝑛−𝑘)

𝐿−1

𝑚=𝑏

𝑎

𝑛=1

𝜌𝑘 + ∑ 𝑛(1 − 𝜌)(𝐿+1−𝑛−𝑘)

𝐴

𝑛=1

𝜌𝑘],

Page 23: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

22

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≤2L–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 fT>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=Pjj<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 Pjk(n) je j, k nivo Pn potem [64]:

∑ 𝑃𝑗𝑗(𝑛)

𝑛=0

= ∑ 𝑝𝑛

𝑛=0

=1

1 − 𝑝< ∞

kjer sledi, da je stanje j prehodno.

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.

Page 24: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

23

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,1L (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

Page 25: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

24

toliko S nizov dolžine r, kot je neprekrivajočih neprekinjenih blokov, ki vsebujejo le

zaporedja S dolžine r.

Verjetnost neuspeha L poskusov nizov dolžine r z rezultati S (uspeh), F (neuspeh)

je [64]: 1−𝑝𝑥

(𝑟+1−𝑟𝑥)𝑞.

1

𝑥𝐿+1 kjer 𝑝 = 𝑞 =1

2 in 𝑥 = 1 + 𝑞𝑝𝑟 + (𝑟 + 1)(𝑞𝑝𝑟)2+. ..

Zgornji izraz lahko pretvorimo v verjetnost uspeha, da detektor prepozna naključni

antigen: 𝑃𝑊𝐹 = 1 − (1−𝑝𝑥

(𝑟+1−𝑟𝑥)𝑞.

1

𝑥𝐿+1)

Naj bo 0, 1L prostor v Hammingovem zapisu, D0, D, S ⊆ 0, 1L in

|D0| = število začetnih detektorjev (pred negativno selekcijo)

|D| = število detektorjev (po negativni selekciji)

|S| = število lastnih elementov v S

PWF = verjetnost iz enačbe zgoraj

P¬S = verjetnost naključnega elementa iz 0, 1L, ki se ne ujema z elementom iz

𝑆 = (1 − 𝑃𝑊𝐹)|𝑆| ≈ 𝑒−𝑃𝑊𝐹·|𝑆|

Pfail = verjetnost, da |D| detektorji ne odkrijejo tujega bitnega niza.

𝑃𝑓𝑎𝑖𝑙 = (1 − 𝑃𝑊𝐹)|𝐷| ≈ 𝑒−𝑃𝑊𝐹·|𝐷|

Glede na vnaprej določeno število naključno pripravljenih začetnih detektorjev |D0|, |S| in

PWF, dobimo število primernih detektorjev |D|, ki se ne ujemajo z nobenim elementom iz S,

kot sledi: |D| = |D0|·P¬S. Število detektorjev |D|, ki ne zazna tujega bitnega niza z

verjetnostjo Pfail je |𝐷| = −ln(𝑃𝑓𝑎𝑖𝑙)

𝑃𝑊𝐹. Iz obeh enačb za |D| pa dobimo število začetnih

detektorjev |𝐷0| = −ln(𝑃𝑓𝑎𝑖𝑙)

𝑃𝑊𝐹⋅𝑃¬𝑆, kar pomeni, da za detekcijo tujega bitnega niza ob

verjetnosti Pfail, kjer |D| detektorjev ne zazna tujega bitnega niza, potrebujemo |D0|

začetnih detektorjev. S preoblikovanjem zgornje enačbe v 𝑒𝑃𝑊𝐹·|𝑆| ∙ (−ln(𝑃𝑓𝑎𝑖𝑙)

𝑃𝑊𝐹) se zdi, da

|D0|, oz. število začetnih detektorjev raste eksponentno s |S| in da ta naključni pristop

iskanja postane neizvedljiv za velik |S|.

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.

Page 26: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

25

Kompleksnost L-k-CNF

Iskanje vseh r-mestnih detektorjev zahteva najmanj Ω (2k) vrednotenj bitnih nizov, kar

utemeljuje dejstvo, da je Ω (2k) ocen potrebnih, da najdemo vse zadovoljive nabore za

prvi stavek vsakega od s ∈ 𝑆. Preostale (l-r) stavke od vseh s ∈ 𝑆 je treba preveriti, in

ugotoviti, za katerega od njih zadošča O(|S| · 2k) 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.473n), 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.

2.4. 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.

Page 27: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Algoritmi umetnega imunskega sistema MAGISTERIJ

26

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 1012, 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.

Page 28: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Zgodovina raziskav algoritmov umetnega imunskega sistema MAGISTERIJ

27

4 ZGODOVINA RAZISKAV ALGORITMOV UMETNEGA IMUNSKEGA SISTEMA

Teorije umetnega imunskega sistema, kakor tudi sam pojem "AIS" so se začeli

pojavljati po letu 1980. 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 1974.

4.1 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 1990. 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

Page 29: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Zgodovina raziskav algoritmov umetnega imunskega sistema MAGISTERIJ

28

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

Page 30: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Zgodovina raziskav algoritmov umetnega imunskega sistema MAGISTERIJ

29

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]

Page 31: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primeri uporabe algoritmov umetnega imunskega sistema MAGISTERIJ

30

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

2000. 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.

Page 32: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primeri uporabe algoritmov umetnega imunskega sistema MAGISTERIJ

31

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 2002. 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).

Page 33: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primeri uporabe algoritmov umetnega imunskega sistema MAGISTERIJ

32

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 rs 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

Page 34: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primeri uporabe algoritmov umetnega imunskega sistema MAGISTERIJ

33

naključnih antigenov in klonirano. Klonirana uporablja funkcije genetskih algoritmov in

teorijo omrežij. Implementacijo je ponovno definiral in popravil Timmis [24] v letu 2000.

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). 2002

je Castro [10] za reševanje optimizacijskih problemov multi-modalnih funkcij definiral opt-

aiNet, 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 1986. 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. 2008 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 opt-

aiNet, ki so ga Secker, Timmis in drugi [24] implementirali v 2008. Ta se razlikuje po novi

predstavitvi proteinov, ki omogočajo večjo natančnost predvidevanja v hierarhičnih

klasifikacijskih algoritmih z napovedovanjem funkcije proteinov.

Page 35: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Drugi moderni metahevristični algoritmi MAGISTERIJ

34

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 xi ∈ℝn in

hitrost vi ∈ℝn. Naj bo pi najboljši položaj delca i in g najboljši položaj celotnega roja.

Ocenitvena funkcija je predstavljena kot vektor realnih števil (𝑓: ℝn → ℝ), katere rešitev

prav tako predstavlja realno število. Cilj je najti tak a, v 𝑓(𝑎) ≤ 𝑓(𝑏) 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:

Page 36: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Drugi moderni metahevristični algoritmi MAGISTERIJ

35

1.1. vzpostavi položaj naključnih vektorjev xi ~ U(blo, bup), kjer sta blo

spodnja in bup zgornja meja preiskovanega prostora

1.2. vzpostavi najboljši položaj delca pi ← xi glede na začetni položaj

1.3. če (f(pi) < f(g)) shrani najboljši položaj roja: g ← pi

1.4. vzpostavi hitrost delca vi ~ U(-|bup-blo|, |bup-blo|)

2. Dokler ustavitveni kriterij (npr. število iteracij) ni dosežen

ponavljaj za vsak delec i=1,…, S:

2.1. izberi naključne vrednosti rp, rg ~ U(0,1)

2.2. osveži hitrost delca vi,d ← ω vi,d + φp rp (pi,d-xi,d) + φg rg (gd-xi,d)

2.3. osveži položaj delca xi ← xi + vi

2.4. če (f(xi) < f(pi)) shrani najboljši položaj delca pi ← xi

2.5. če (f(pi) < f(g)) shrani najboljši položaj roja: g ← pi

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 𝑅 ∈ 1, … , 𝑛, kjer je n dimenzija problema

2.3. izračunaj agentov naslednji položaj y = [y1, …, yn] kjer za vsak i

izberemo enakomerno porazdeljeno številko 𝑟𝑖 ≡ 𝑈(0,1)

Page 37: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Drugi moderni metahevristični algoritmi MAGISTERIJ

36

2.4. če ri< CR ali i = R je yi = ai + F x(bi-ci) drugače yi = xi

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:

Page 38: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Drugi moderni metahevristični algoritmi MAGISTERIJ

37

- 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 Mj,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_Meanj, i = ri (Xj, kbest, i - TFMj, i), kjer je Xj, kbest, i rezultat

učitelja (tj. najboljši učenec) za predmet j. Naj bo TF faktor poučevanja in določen z

enačbo TF = round[1 + rand(0, 1)2 − 1]. Vrednost TF ni parameter algoritma, ampak je

njegova vrednost naključna. Vrednost nove generacije učencev je definirana kot: X'j,k,i =

Xj,k,i+Difference_Meanj, 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 + ri (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 + ri (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).

Page 39: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

38

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 1992. 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.

Page 40: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

39

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), Tmax = 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

2.2.1. za vsak q od 0 do Q DCm vzorči Q antigen iz A

2.2.2. za vsak i od 0 do I in j od 0 do J sDCij = sij

2.2.3. za vsak n od 0 do N DCm obdela aDC

nm

2.2.4. za vsak p od 0 do P preračunaj op, op(m) = op(m) + op,

če je o0(m) > tm:

2.2.4.1. DCm odstranimo iz populacije

2.2.4.2. DCm selimo, izpišemo antigen in vsebino

2.2.4.3. DCm ponastavimo vektor antigenov in vse signale

2.3. povečaj l, analiziraj antigen in izračunaj MCAV

end

Page 41: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

40

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 (Nc=10) – populacijo klonov, ki nastanejo iz vsake mrežne celice,

- maxIterations (Ngen=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 Ngen=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 λ=Nc. 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.

Page 42: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

41

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;

Page 43: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

42

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]);

Page 44: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

43

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();

Page 45: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Implementacija AIS algoritmov MAGISTERIJ

44

Arrays.sort(memCells);

if (taskProblem.isFirstBetter(memCells[0], best))

best = new Antibody(memCells[0]);

return best;

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.

Page 46: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

45

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. H0), da sta

dva algoritma po rezultatih izenačena. Alternativna hipoteza Ha predpostavlja, da je H0

napačna, torej da je en algoritem boljši. Test je postopek, kjer poskušamo H0 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.

Page 47: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

46

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=105):

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 -

Page 48: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

47

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=105):

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

Page 49: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

48

medsebojne rezultate tekme. Iz dobljenega lahko prikažemo tabelo rezultatov ClonAlg

algoritma glede na zadan problem:

Problem Zmaga Poraz Neodločeno

Beale 123 127 0

B2 100 150 0

Griewank 193 57 0

Martin&Gaddy 73 177 0

Ackley 100 150 0

Goldstein&Price 78 172 0

Schwefel Rigle 147 103 0

Easom 143 107 0

Powell badly scaled 98 152 0

Sphere 100 150 0

Rastrigin 115 135 0

Schwefel 76 174 0

Rosenbrock 208 42 0

Booth 100 150 0

De Jong 157 93 0

Branin 81 169 0

Skupaj 1892 2108 0

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 251 549 0

ClonAlg vs TLBO 86 714 0

ClonAlg vs PSO 99 701 0

ClonAlg vs DE 768 32 0

ClonAlg vs RWS 688 112 0

Skupaj 1892 2108 0

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:

Page 50: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

49

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=105):

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)

0,00

200,00

400,00

600,00

800,00

1.000,00

1.200,00

1.400,00

1.600,00

1.800,00

2.000,00

TLBO PSO_Wiki ABC ClonAlg RWSi DE_Wiki

Razvrstitev po točkah

Page 51: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

50

Rezultat prve tekme, razvrstitev po doseženih točkah:

Zagon št. DE_Wiki TLBO PSO_Wiki ABC ES(1+1) ClonAlg RWSi

1 1768,00 1716,10 1677,20 1510,80 1425,40 1298,20 1104,30

2 1766,00 1707,30 1676,90 1505,70 1436,60 1307,30 1100,10

3 1767,10 1711,70 1689,90 1503,10 1421,20 1303,60 1103,40

4 1768,70 1712,90 1677,20 1506,70 1438,30 1299,50 1096,70

5 1762,70 1705,60 1688,30 1506,40 1434,70 1301,50 1101,00

6 1765,10 1708,30 1687,60 1506,30 1430,00 1298,20 1104,40

7 1772,20 1707,70 1678,10 1502,80 1435,20 1295,00 1109,00

8 1773,80 1714,40 1663,30 1503,50 1443,10 1294,30 1107,60

9 1763,30 1714,80 1675,20 1513,20 1430,60 1303,20 1099,80

10 1754,10 1704,90 1675,80 1512,40 1448,30 1303,00 1101,40

11 1753,80 1726,90 1684,40 1505,80 1425,70 1301,70 1101,70

12 1772,30 1709,20 1670,90 1499,70 1445,10 1300,80 1102,10

13 1763,30 1716,60 1684,40 1496,20 1441,00 1294,10 1104,40

14 1764,90 1706,00 1684,20 1501,90 1442,60 1299,00 1101,40

15 1766,40 1702,90 1681,20 1505,80 1441,50 1297,60 1104,60

16 1759,20 1707,20 1685,10 1506,30 1433,30 1301,90 1107,00

17 1761,80 1704,80 1674,50 1507,40 1449,70 1300,00 1101,80

18 1764,10 1721,70 1674,50 1497,90 1440,20 1300,20 1101,40

19 1761,00 1712,80 1677,90 1497,00 1439,00 1304,90 1107,40

20 1764,60 1713,20 1676,40 1507,00 1446,40 1294,50 1097,80

21 1770,40 1707,00 1677,00 1505,20 1433,80 1304,70 1101,80

22 1762,30 1713,90 1678,20 1511,50 1432,00 1296,70 1105,40

23 1769,10 1716,10 1665,70 1504,10 1445,50 1294,20 1105,30

24 1757,60 1712,90 1679,00 1501,50 1433,30 1308,40 1107,40

25 1771,60 1709,60 1678,40 1506,70 1433,40 1300,80 1099,50

Povprečje 1764,94 1711,38 1678,45 1505,00 1437,04 1300,13 1103,07

Min 1753,80 1702,90 1663,30 1496,20 1421,20 1294,10 1096,70

Max 1773,80 1726,90 1689,90 1513,20 1449,70 1308,40 1109,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=105):

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 -

Page 52: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

51

Rezultat druge tekme, razvrstitev po doseženih točkah:

Zagon št. DE_Wiki TLBO PSO_Wiki ABC ES(1+1) ClonAlg RWSi

1 1731,70 1614,40 1674,80 1575,50 1467,00 1306,30 1130,20

2 1711,00 1628,00 1680,60 1612,50 1483,60 1271,10 1113,30

3 1717,40 1595,30 1654,90 1608,70 1505,50 1306,90 1111,40

4 1707,70 1578,10 1648,00 1639,80 1502,30 1304,00 1120,00

5 1691,50 1597,80 1638,90 1618,80 1552,80 1291,20 1109,00

6 1730,10 1597,70 1673,10 1624,00 1497,10 1274,30 1103,70

7 1736,40 1601,20 1650,00 1646,80 1451,10 1290,90 1123,60

8 1714,40 1596,90 1652,30 1634,00 1491,30 1280,50 1130,60

9 1719,50 1613,80 1675,20 1604,00 1518,90 1260,40 1108,30

10 1716,90 1591,40 1643,40 1626,80 1527,20 1272,30 1122,10

11 1746,20 1606,30 1661,10 1607,10 1465,30 1283,00 1130,90

12 1723,60 1625,80 1682,50 1589,50 1515,70 1261,90 1101,00

13 1735,80 1586,90 1668,10 1631,30 1453,40 1292,50 1131,90

14 1737,00 1613,80 1653,00 1590,70 1484,90 1289,90 1130,80

15 1709,40 1596,40 1660,70 1624,10 1572,20 1243,80 1093,50

16 1740,00 1585,20 1663,30 1630,80 1460,30 1294,70 1125,60

17 1731,60 1605,40 1661,20 1621,20 1464,30 1285,50 1130,80

18 1734,50 1586,20 1644,10 1625,40 1477,40 1315,00 1117,30

19 1751,90 1589,50 1665,40 1636,20 1425,60 1299,00 1132,40

20 1722,70 1585,70 1645,80 1615,20 1517,80 1280,90 1131,90

21 1743,40 1592,90 1667,30 1613,80 1488,60 1283,10 1110,90

22 1725,70 1583,70 1678,40 1626,60 1469,50 1284,80 1131,40

23 1711,30 1620,30 1659,90 1598,00 1518,00 1280,10 1112,40

24 1735,30 1609,60 1663,90 1641,40 1449,60 1277,00 1123,30

25 1722,40 1605,00 1655,90 1615,90 1541,30 1258,70 1100,70

Povprečje 1725,90 1600,29 1659,41 1618,32 1492,03 1283,51 1119,08

Min 1691,50 1578,10 1638,90 1575,50 1425,60 1243,80 1093,50

Max 1751,90 1628,00 1682,50 1646,80 1572,20 1315,00 1132,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)

Page 53: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

52

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.

Page 54: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

53

8.2 Preliminarna analiza glede na začetno populacijo

Preliminarno analizo glede na začetno populacijo smo testirali na treh različnih

algoritmih: ClonAlg, PSO in DE. Testiranje je potekalo na funkcijah: Sphere, Griewank in

Rosenbrock.

Znotraj zagona posamičnega algoritma nas je namesto naključne začetne populacije

zanimal tudi primer, kadar je bil vsak osebek izbran z roba:

// tmp = taskProblem.getRandomIndividual();

tmp = taskProblem.getFarAwayIndividual();

kar je znotraj opravila definirano kot:

public Individual getFarAwayIndividual() throws StopCriteriaException

double[] individuals=new double[getDimensions()];

for (int j = 0; j < individuals.length; j++)

if (Math.random() > 0.5)

individuals[j] = getIntervalLeft()[j];

else

individuals[j] = getIntervalRight()[j];

Individual in = eval(individuals);

return in;

Prav tako nas je zanimalo tudi, kadar je osebek postavljen v bližino rešitve s:

// tmp = taskProblem.getRandomIndividual();

tmp = taskProblem.getNearIndividual();

Nastavitev osebka je odvisna od same funkcije in različna za Sphere, Griewank oz.

Rosenbrock.

Parametri programov (dimenzija problema = 5, število ocenitvenih funkcij Max_Fes=106):

opt-aiNet NP=20, Clones=10, suppThres=0.2, errorThres=0.001, divRatio=0.4,

mutnParam=100.0

ClonAlg NP=5, Clones=15

PSO NP=10, omega=0.7, phiG=2, phiP=2

DE NP=20, Cr=0.9, F=0.5

Iz spodnje tabele so razvidni rezultati konvergence za problem Sphere (dimenzije 5) in

problem Griewank (dimenzije 5). Pri problemu Griewank DE in PSO nista konvergirala, pri

problemu Rosenbrock (dimenzije 5) noben od algoritmov ni konvergiral pred 100.000

koraki (Max_Fes=106). Prav tako smo zagon z roba izvajali na opt-aiNet in rezultati pod

100.000 koraki se pojavljajo le redko. Zato smo se odločili prikazovanje le-teh izpustiti.

Page 55: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

54

Rezultati približevanja algoritmov, kjer je začetna populacija z roba:

Po vsakem zagonu z roba smo dobili število potrebnih korakov posameznega algoritma

za preiskovane probleme. Naredili smo 25 ponovitev in rezultate prikazali v spodnji tabeli:

Sphere ClonAlg DE_Wiki PSO_Wiki

Griewank ClonAlg DE_Wiki PSO_Wiki

1 1022 1479 971

1 927 100000 100000

2 970 2016 914

2 1001 100000 100000

3 21205 1649 100000

3 2309 100000 100000

4 28796 100000 1045

4 2109 100000 100000

5 2148 1356 902

5 1035 100000 100000

6 1560 1399 749

6 1329 100000 100000

7 8280 100000 719

7 855 100000 100000

8 519 1536 877

8 20924 100000 100000

9 1608 1442 1009

9 5513 100000 100000

10 2862 2397 1015

10 7793 100000 100000

11 569 1336 100000

11 1676 100000 100000

12 1699 1739 816

12 2586 100000 100000

13 2099 1152 897

13 1268 100000 100000

14 1013 1534 1038

14 1214 100000 100000

15 2007 1638 973

15 1196 100000 100000

16 2041 1447 1034

16 1498 100000 100000

17 1833 1268 856

17 1241 100000 100000

18 3507 1526 898

18 874 100000 100000

19 1698 1397 969

19 1314 100000 100000

20 2322 1464 934

20 18787 100000 100000

21 21900 1393 828

21 2221 100000 100000

22 16669 100000 748

22 946 100000 100000

23 967 1299 965

23 2225 100000 100000

24 2150 1443 921

24 886 100000 100000

25 7082 1443 920

25 13596 100000 100000

Povprečje 5461,04 13334,12 9526,65

Povprečje 3812,92 100000,00 100000,00

Min 519,00 1152,00 719,00

Min 855,00 100000,00 100000,00

Max 28796,00 100000,00 100000,00

Max 20924,00 100000,00 100000,00

Stdev.S 7841,86 32664,37 27436,11

Stdev.S 5591,43 0,00 0,00

Tabela 5: Število potrebnih korakov pri preiskovanju z roba

Za ClonAlg bi dejali, da so njegove preiskovalne lastnosti z roba kar dobre. V primeru

problema Sphere ni tako zanesljiv kot PSO kljub temu, da standardni odklon kaže

drugačno sliko. Oba DE kot tudi PSO imata nekaj zagonov brez da bi algoritem

konvergiral (število korakov je 100.000). Če bi to lahko ignorirali, bi standardni odklon

PSO znašal manj kot pri ClonAlg, res pa je tudi, da ClonAlg zmaga tudi z najnižjim

številom poskusov (519).

Page 56: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

55

Kar ClonAlg naredi zmagovalca, je predvsem reševanje Griewank problema. Če DE

ali PSO porinemo pri tem problemu na obrobje, se ne znata dovolj hitro vrniti k pravi

rešitvi (število korakov je bilo zmeraj 100.000). Pri reševanju Rosenbrock dimenzije 5

odpovejo vsi trije algoritmi.

Slika 9: Grafični prikaz števila potrebnih korakov posameznega algoritma

Rezultati približevanja algoritmov, kjer je začetna populacija blizu rešitve:

Nastavitve algoritmov v tem primeru zahtevajo premislek in poznavanje problemskega

področja, v našem primeru poznavanje funkcij: Sphere, Griewank in Rosenbrock. Tako

pridemo do nastavitev začetne populacije in dimenzije problema. Že pri zagonu z roba

smo ugotovili, da Rosenbrock dimenzije 5 predstavlja v danem okvirju računskih omejitev

nerešljiv problem za vse algoritme. Zaradi tega smo dimenzijo znižali s 5 na 2. Začetno

populacijo za algoritme smo nastavili:

individuals[j] = 1-Util.rnd.nextDouble()/10; // Rosenbrock

individuals[j] = Util.rnd.nextDouble()/10; // Sphere+Griewank

saj pri Rosenbrock predvidevamo rešitve okrog točke 1, pri Sphere in Griewank pa okrog

točke 0.

Parametri programov (dimenzija problema = 5, razen Rosenbrock = 2, število ocenitvenih

funkcij Max_Fes=106):

opt-aiNet NP=20, Clones=10, suppThres=0.2, errorThres=0.001, divRatio=0.4,

mutnParam=100.0

0

5000

10000

15000

20000

25000

30000

1 3 5 7 9 11 13 15 17 19 21 23 25

ClonAlg - Sphere

DE_Wiki - Sphere

PSO_Wiki - Sphere

ClonAlg - Griewank

Page 57: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

56

ClonAlg NP=5, Clones=15

PSO NP=10, omega=0.7, phiG=2, phiP=2

DE NP=20, Cr=0.9, F=0.5

Po vsakem zagonu z bližine rešitve smo dobili število potrebnih korakov posameznega

algoritma za preiskovane probleme. Naredili smo 25 ponovitev in rezultate prikazali v

spodnjih tabelah:

Sphere ClonAlg DE_Wiki PSO_Wiki

Griewank ClonAlg DE_Wiki opt-aiNet

1 19835 352 892

1 719 91 100000

2 2997 570 884

2 5848 242 100000

3 2047 331 754

3 12747 310 100000

4 29901 396 887

4 14140 266 75571

5 31009 261 841

5 2600 153 100000

6 10809 321 933

6 10880 332 100000

7 5283 314 1142

7 2119 171 90637

8 1058 327 902

8 369 199 100000

9 6149 427 1014

9 2584 341 100000

10 14249 221 1010

10 687 166 100000

11 4051 371 921

11 528 138 100000

12 11896 301 887

12 2091 127 100000

13 2524 647 880

13 1690 243 100000

14 5551 448 1096

14 747 136 98219

15 10892 280 894

15 4585 304 100000

16 695 369 867

16 553 176 87502

17 16452 437 100000

17 1231 257 100000

18 11601 270 963

18 5641 153 100000

19 16048 391 899

19 5118 447 100000

20 29948 287 843

20 2049 202 100000

21 4665 257 1087

21 4894 387 71140

22 65502 294 831

22 7088 100 100000

23 576 437 947

23 12643 147 100000

24 58700 264 845

24 3649 150 100000

25 2570 386 836

25 6219 346 40635

Povprečje 14600,32 358,36 5229,52

Povprečje 4456,76 223,36 94074,09

Min 576,00 221,00 754,00

Min 369,00 91,00 40635,00

Max 65502,00 647,00 100000,00

Max 14140,00 447,00 100000,00

Stdev.S 17027,56 99,14 19816,42

Stdev.S 4166,50 96,30 13628,79

Tabela 6: Število potrebnih korakov pri preiskovanju Sphere in Griewank z bližine

Pri preiskovanju Sphere smo prikazovanje opt-aiNet izpustili, v primeru Griewank pa ima

boljše rezultate od PSO in smo le-te prikazali. V primeru Rosenbrock je dimenzija

problema dovolj majhna, da konvergirajo vsi štirje algoritmi.

Page 58: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

57

Rosenbrock ClonAlg DE_Wiki PSOOmega opt-aiNet

1 5139 113 2588 10788

2 1114 270 100000 8044

3 47 197 1387 20136

4 2784 139 9318 4865

5 13726 196 100000 10476

6 2272 103 2841 8628

7 4709 147 2137 314

8 26104 164 100000 17122

9 43028 54 8624 10421

10 11620 64 1910 4955

11 28964 119 100000 4483

12 2060 74 1647 2836

13 1174 90 1119 4390

14 2253 108 891 6698

15 910 111 1742 5246

16 6350 140 9255 6696

17 45 153 10373 18242

18 1706 129 1066 12436

19 52034 100 7452 8795

20 3039 97 1634 8138

21 150 177 100000 7485

22 37271 176 1023 7985

23 2622 67 100000 16908

24 15441 146 2357 4823

25 1827 152 12038 15708

Povprečje 10655,56 131,44 25078,87 9034,17

Min 45,00 54,00 891,00 314,00

Max 52034,00 270,00 100000,00 20136,00

Stdev.S 14900,65 49,34 41899,94 5155,46

Tabela 7: Število potrebnih korakov pri preiskovanju Rosenbrock z bližine

Dobljeni rezultati nam pojasnijo šibko področje implementacije ClonAlg in opt-aiNet ter

razlog, zakaj je DE nesporni zmagovalec turnirja. Pri reševanju Sphere je ClonAlg v

povprečju trikrat slabši od PSOOmega. Pri Griewank funkciji oba ClonAlg kot tudi

opt-aiNet premagata PSOOmega, ampak vseeno precej zaostajata za DE. Zanimivi so

tudi rezultati Rosenbrock funkcije, kjer opt-aiNet prvič premaga ClonAlg.

Page 59: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

58

8.3 Primerjava glede na eksploracijo in eksploatacijo

Teorijo eksploracije in eksploatacije smo predstavili v sedmem poglavju. Znotraj

primerjave smo si zamislili merjenje medsebojne oddaljenosti med staršem in potomcem:

- evklidska razdalja 𝑑12 = √∑(𝑥1 − 𝑥2)2,

- Manhattan razdalja 𝑑12 = ∑|𝑥1 − 𝑥2|.

Primerjali smo dva algoritma: ClonAlg in DE. Primerjavo smo izvedli na dveh problemih:

Sphere in Griewank. Pri vsakem merjenju smo naredili 25 ponovitev, pri tem pa nas je

zanimala povprečna vrednost in standardni odklon, oz. za koliko vrednosti odstopajo od

povprečja.

Priprava programa za prvo primerjavo:

public class Explore

double[] problemIntervals;

String problemName;

ArrayList<double[]> parent;

ArrayList<double[]> child;

ArrayList<Double> fitness_parent;

ArrayList<Double> fitness_child;

ArrayList<Double> euclidian;

ArrayList<Double> manhattan;

public Explore()

super();

parent = new ArrayList<>();

child = new ArrayList<>();

fitness_parent = new ArrayList<>();

fitness_child = new ArrayList<>();

euclidian = new ArrayList<>();

manhattan = new ArrayList<>();

Prikazana je struktura hranjenja vrednosti za starša, otroka, njune evklidske in Manhattan

razdalje. Ta struktura je bila uporabljena v vseh primerjavah eksploracije in eksploatacije.

Starš in otrok sta shranjena kot polje spremenjivk znotraj preiskovanega intervala.

Vrednosti ocenitvene funkcije za starša in otroka hranimo, ker nas v določenem primeru

zanimajo le uspešni prehodi, t.j. kadar je ocenitvena funkcija otroka boljša od starševe.

Razliko med staršem in potomcem ter medsebojno oddaljenost računamo po:

for (int z=0; z<taskProblem.getDimensions(); z++)

euclidian = euclidian + Math.pow((parent_x[z]-child_x[z]), 2);

difference = Math.abs(parent_x[z]-child_x[z])/explore.problemIntervals[z];

euclidian = Math.sqrt(euclidian);

Strukturo inicializiramo ob zagonu reševanja problema, vrednosti pa dodajamo po vsakem

ocenjevanju novega otroka. Dobljeno strukturo ob koncu preračunavanj shranimo kot

JSON (JavaScript Object Notation) objekt, kar nam omogoča lažjo ponovno uporabo in

smiselno hrambo podatkov.

Page 60: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

59

Parametri programov (dimenzija problema = 5, število ocenitvenih funkcij Max_Fes=106):

ClonAlg NP=5, Clones=15

DE NP=20, Cr=0.9, F=0.5

Ko smo merili evklidsko razdaljo med staršem in potomcem, smo prag ujemanja nastavili

na: 0.1, 0.01 in 0.001. Vrednosti pod pragom nam prav tako predstavljajo eksploatacijo,

vrednosti nad pragom pa eksploracijo.

Kot prvo prikažimo meritev evklidske razdalje algoritma ClonAlg za Sphere funkcijo pri

pragu 0.1, kjer levo stran predstavlja meritev vseh prehodov, desno stran pa meritev

uspešnih prehodov:

Zagon št.

pod 0.1

št. vseh Eksploatacija Eksploracija

Zagon št.

pod 0.1

št. uspešnih Eksploatacija Eksploracija

1 773 1191 0,6490 0,3510

1 341 370 0,9216 0,0784

2 557 938 0,5938 0,4062

2 194 220 0,8818 0,1182

3 2325 4163 0,5585 0,4415

3 112 124 0,9032 0,0968

4 5098 8791 0,5799 0,4201

4 2278 2541 0,8965 0,1035

5 2322 4222 0,5500 0,4500

5 99 120 0,8250 0,1750

6 1133 2361 0,4799 0,5201

6 157 174 0,9023 0,0977

7 292 476 0,6134 0,3866

7 129 150 0,8600 0,1400

8 8894 11750 0,7569 0,2431

8 92 102 0,9020 0,0980

9 9903 12815 0,7728 0,2272

9 5022 5059 0,9927 0,0073

10 367 656 0,5595 0,4405

10 104 114 0,9123 0,0877

11 923 2216 0,4165 0,5835

11 157 184 0,8533 0,1467

12 600 1118 0,5367 0,4633

12 242 296 0,8176 0,1824

13 24698 32171 0,7677 0,2323

13 213 263 0,8099 0,1901

14 28079 35725 0,7860 0,2140

14 13928 13970 0,9970 0,0030

15 442 1005 0,4398 0,5602

15 139 155 0,8968 0,1032

16 320 610 0,5246 0,4754

16 109 122 0,8934 0,1066

17 1729 3432 0,5038 0,4962

17 889 1198 0,7421 0,2579

18 6066 8670 0,6997 0,3003

18 3033 3144 0,9647 0,0353

19 967 2632 0,3674 0,6326

19 94 124 0,7581 0,2419

20 576 1167 0,4936 0,5064

20 206 230 0,8957 0,1043

21 590 1461 0,4038 0,5962

21 111 129 0,8605 0,1395

22 736 1552 0,4742 0,5258

22 226 252 0,8968 0,1032

23 1179 2777 0,4246 0,5754

23 99 132 0,7500 0,2500

24 912 1776 0,5135 0,4865

24 137 168 0,8155 0,1845

25 579 1486 0,3896 0,6104

25 106 122 0,8689 0,1311

Povprečje 0,5542 0,4458

Povprečje 0,8727 0,1273

Stdev.S 0,1256 0,1256

Stdev.S 0,0665 0,0665

Tabela 8: Meritev evklidske razdalje vsi in uspešni (ClonAlg, Sphere, prag 0.1)

Page 61: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

60

Kot drugo prikažimo meritev evklidske razdalje uspešnih prehodov za Sphere funkcijo pri

pragu 0.1, kjer levo stran predstavlja meritev algoritma ClonAlg, desno stran pa meritev

algoritma DE:

Zagon št.

pod 0.1

št. uspešnih Eksploatacija Eksploracija

Zagon št.

pod 0.1

št. uspešnih Eksploatacija Eksploracija

1 341 370 0,9216 0,0784

1 7196 7608 0,9458 0,0542

2 194 220 0,8818 0,1182

2 5547 6007 0,9234 0,0766

3 112 124 0,9032 0,0968

3 66 386 0,1710 0,8290

4 2278 2541 0,8965 0,1035

4 130 440 0,2955 0,7045

5 99 120 0,8250 0,1750

5 67 320 0,2094 0,7906

6 157 174 0,9023 0,0977

6 87 373 0,2332 0,7668

7 129 150 0,8600 0,1400

7 65 327 0,1988 0,8012

8 92 102 0,9020 0,0980

8 12942 13196 0,9808 0,0192

9 5022 5059 0,9927 0,0073

9 86 400 0,2150 0,7850

10 104 114 0,9123 0,0877

10 120 413 0,2906 0,7094

11 157 184 0,8533 0,1467

11 73 365 0,2000 0,8000

12 242 296 0,8176 0,1824

12 64 310 0,2065 0,7935

13 213 263 0,8099 0,1901

13 126 417 0,3022 0,6978

14 13928 13970 0,9970 0,0030

14 120 443 0,2709 0,7291

15 139 155 0,8968 0,1032

15 90 383 0,2350 0,7650

16 109 122 0,8934 0,1066

16 109 371 0,2938 0,7062

17 889 1198 0,7421 0,2579

17 80 352 0,2273 0,7727

18 3033 3144 0,9647 0,0353

18 5903 6231 0,9474 0,0526

19 94 124 0,7581 0,2419

19 95 417 0,2278 0,7722

20 206 230 0,8957 0,1043

20 4698 5082 0,9244 0,0756

21 111 129 0,8605 0,1395

21 109 402 0,2711 0,7289

22 226 252 0,8968 0,1032

22 76 361 0,2105 0,7895

23 99 132 0,7500 0,2500

23 160 473 0,3383 0,6617

24 137 168 0,8155 0,1845

24 104 388 0,2680 0,7320

25 106 122 0,8689 0,1311

25 281 664 0,4232 0,5768

Povprečje 0,8727 0,1273

Povprečje

0,3924 0,6076

Stdev.S 0,0665 0,0665

Stdev.S

0,2867 0,2867

Tabela 9: Meritev evklidske razdalje ClonAlg in DE (uspešni, Sphere, prag 0.1)

V tabeli 8 smo za algoritem ClonAlg prikazali razliko pri eksploraciji in eksploataciji med

vsemi in med uspešnimi prehodi. V tabeli 9 smo za uspešne prehode prikazali razliko med

algoritmoma ClonAlg in DE.

Page 62: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

61

Tabela 10 za ClonAlg, pri vseh prehodih, prikazuje razliko med pragoma 0.01 in 0.001.

Zagon št. pod

0.001 št.

vseh Eksploatacija Eksploracija

Zagon št. pod 0.01

št. vseh Eksploatacija Eksploracija

1 32 1191 0,0269 0,9731

1 202 1191 0,1696 0,8304

2 49 938 0,0522 0,9478

2 219 938 0,2335 0,7665

3 26 4163 0,0062 0,9938

3 519 4163 0,1247 0,8753

4 84 8791 0,0096 0,9904

4 1376 8791 0,1565 0,8435

5 36 4222 0,0085 0,9915

5 245 4222 0,0580 0,9420

6 41 2361 0,0174 0,9826

6 272 2361 0,1152 0,8848

7 13 476 0,0273 0,9727

7 113 476 0,2374 0,7626

8 240 11750 0,0204 0,9796

8 6192 11750 0,5270 0,4730

9 1155 12815 0,0901 0,9099

9 5782 12815 0,4512 0,5488

10 18 656 0,0274 0,9726

10 142 656 0,2165 0,7835

11 21 2216 0,0095 0,9905

11 174 2216 0,0785 0,9215

12 15 1118 0,0134 0,9866

12 145 1118 0,1297 0,8703

13 359 32171 0,0112 0,9888

13 9783 32171 0,3041 0,6959

14 3651 35725 0,1022 0,8978

14 18368 35725 0,5141 0,4859

15 56 1005 0,0557 0,9443

15 173 1005 0,1721 0,8279

16 37 610 0,0607 0,9393

16 132 610 0,2164 0,7836

17 73 3432 0,0213 0,9787

17 281 3432 0,0819 0,9181

18 27 8670 0,0031 0,9969

18 1295 8670 0,1494 0,8506

19 6 2632 0,0023 0,9977

19 139 2632 0,0528 0,9472

20 16 1167 0,0137 0,9863

20 191 1167 0,1637 0,8363

21 19 1461 0,0130 0,9870

21 195 1461 0,1335 0,8665

22 18 1552 0,0116 0,9884

22 178 1552 0,1147 0,8853

23 18 2777 0,0065 0,9935

23 312 2777 0,1124 0,8876

24 26 1776 0,0146 0,9854

24 322 1776 0,1813 0,8187

25 9 1486 0,0061 0,9939

25 157 1486 0,1057 0,8943

Povprečje 0,0252 0,9748

Povprečje 0,1920 0,8080

Stdev.S 0,0266 0,0266

Stdev.S 0,1300 0,1300

Tabela 10: Meritev evklidske razdalje za prag 0.001 in 0.01 (ClonAlg, vsi, Sphere)

Iz dobljenih rezultatov pri reševanju problema Sphere, lahko za ClonAlg trdimo, da je pri

merjenju evklidske razdalje med staršem in potomcem, pri pragu 0,001, eksploracija

97,48±2,66% (od 94,82 do 100%), eksploatacija pa 2,52±2,66% (od 0 do 5,18%). Prav

tako lahko trdimo, da je pri pragu 0,01, eksploracija 80,80±13,00% (od 80,80 do 93,80%),

eksploatacija pa 19,20±13,00% (od 6,20 do 19,20%).

Page 63: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

62

Zraven naštetega manjka le še primerjava med evklidsko in Manhattan razdaljo, ki je

prikazana v tabeli 11.

Ko smo merili Manhattan razdaljo med staršem in potomcem, smo prag ujemanja nastavili

na: 0.001, 0.0001 in 0.00001. Vrednosti pod pragom nam predstavljajo eksploatacijo,

vrednosti nad pragom pa eksploracijo.

Zagon št. pod

0.001 št.

uspešnih Eksploatacija Eksploracija

Zagon št. pod

0.001 št.

uspešnih Eksploatacija Eksploracija

1 13 370 0,0351 0,9649

1 370 370 1,0000 0,0000

2 17 220 0,0773 0,9227

2 217 220 0,9864 0,0136

3 9 124 0,0726 0,9274

3 121 124 0,9758 0,0242

4 24 2541 0,0094 0,9906

4 2526 2541 0,9941 0,0059

5 14 120 0,1167 0,8833

5 115 120 0,9583 0,0417

6 13 174 0,0747 0,9253

6 170 174 0,9770 0,0230

7 10 150 0,0667 0,9333

7 149 150 0,9933 0,0067

8 4 102 0,0392 0,9608

8 102 102 1,0000 0,0000

9 796 5059 0,1573 0,8427

9 5059 5059 1,0000 0,0000

10 2 114 0,0175 0,9825

10 111 114 0,9737 0,0263

11 6 184 0,0326 0,9674

11 181 184 0,9837 0,0163

12 10 296 0,0338 0,9662

12 295 296 0,9966 0,0034

13 10 263 0,0380 0,9620

13 255 263 0,9696 0,0304

14 2295 13970 0,1643 0,8357

14 13968 13970 0,9999 0,0001

15 6 155 0,0387 0,9613

15 153 155 0,9871 0,0129

16 16 122 0,1311 0,8689

16 120 122 0,9836 0,0164

17 26 1198 0,0217 0,9783

17 1186 1198 0,9900 0,0100

18 5 3144 0,0016 0,9984

18 3141 3144 0,9990 0,0010

19 4 124 0,0323 0,9677

19 120 124 0,9677 0,0323

20 12 230 0,0522 0,9478

20 227 230 0,9870 0,0130

21 6 129 0,0465 0,9535

21 123 129 0,9535 0,0465

22 7 252 0,0278 0,9722

22 251 252 0,9960 0,0040

23 6 132 0,0455 0,9545

23 126 132 0,9545 0,0455

24 14 168 0,0833 0,9167

24 161 168 0,9583 0,0417

25 5 122 0,0410 0,9590

25 119 122 0,9754 0,0246

Povprečje 0,0583 0,9417

Povprečje 0,9824 0,0176

Stdev.S 0,0433 0,0433

Stdev.S 0,0153 0,0153

Tabela 11: Meritev evklidske in Manhattan razdalje (ClonAlg, prag 0.001, uspešni, Sphere)

Page 64: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

63

Podobne meritve smo opravili tudi za Griewank funkcijo. V tabeli 12 smo merili evklidsko

razliko za uspešne prehode, kjer smo nastavili prag na 0,001 in prikazali razliko med

algoritmoma ClonAlg in DE.

Zagon št. pod

0.001 št.

uspešnih Eksploatacija Eksploracija

Zagon št. pod

0.001 št.

uspešnih Eksploatacija Eksploracija

1 6 228 0,0263 0,9737

1 352 734 0,4796 0,5204

2 21 206 0,1019 0,8981

2 1087 1483 0,7330 0,2670

3 3 208 0,0144 0,9856

3 402 788 0,5102 0,4898

4 25 2103 0,0119 0,9881

4 4212 5806 0,7255 0,2745

5 10 440 0,0227 0,9773

5 152 383 0,3969 0,6031

6 1 82 0,0122 0,9878

6 0 377 0,0000 1,0000

7 168 988 0,1700 0,8300

7 535 1346 0,3975 0,6025

8 2 139 0,0144 0,9856

8 297 603 0,4925 0,5075

9 12 338 0,0355 0,9645

9 2983 3725 0,8008 0,1992

10 4 253 0,0158 0,9842

10 741 1243 0,5961 0,4039

11 21 279 0,0753 0,9247

11 2925 3987 0,7336 0,2664

12 10 134 0,0746 0,9254

12 600 1098 0,5464 0,4536

13 0 133 0,0000 1,0000

13 6916 7788 0,8880 0,1120

14 5 92 0,0543 0,9457

14 2405 3073 0,7826 0,2174

15 2 76 0,0263 0,9737

15 3067 4009 0,7650 0,2350

16 6 101 0,0594 0,9406

16 3793 4465 0,8495 0,1505

17 8 116 0,0690 0,9310

17 422 877 0,4812 0,5188

18 7 136 0,0515 0,9485

18 12744 13629 0,9351 0,0649

19 7 154 0,0455 0,9545

19 11042 11809 0,9350 0,0650

20 6 147 0,0408 0,9592

20 6367 7069 0,9007 0,0993

21 5 162 0,0309 0,9691

21 1867 2334 0,7999 0,2001

22 1 115 0,0087 0,9913

22 3279 4295 0,7634 0,2366

23 48 374 0,1283 0,8717

23 627 2139 0,2931 0,7069

24 7 94 0,0745 0,9255

24 12656 13426 0,9426 0,0574

25 2 181 0,0110 0,9890

25 4894 6568 0,7451 0,2549

Povprečje 0,0470 0,9530

Povprečje 0,6597 0,3403

Stdev.S 0,0409 0,0409

Stdev.S 0,2342 0,2342

Tabela 12: Meritev evklidske razdalje ClonAlg in DE (uspešni, Griewank, prag 0.001)

Page 65: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

64

V tabeli 13 smo merili Manhattan razliko za uspešne prehode, kjer smo nastavili prag na

0,001 in prikazali razliko med algoritmoma ClonAlg in DE.

Zagon št. pod

0.001 št.

uspešnih Eksploatacija Eksploracija

Zagon št. pod

0.001 št.

uspešnih Eksploatacija Eksploracija

1 204 228 0,8947 0,1053

1 539 734 0,7343 0,2657

2 205 206 0,9951 0,0049

2 1331 1483 0,8975 0,1025

3 192 208 0,9231 0,0769

3 608 788 0,7716 0,2284

4 2093 2103 0,9952 0,0048

4 5601 5806 0,9647 0,0353

5 419 440 0,9523 0,0477

5 240 383 0,6266 0,3734

6 77 82 0,9390 0,0610

6 175 377 0,4642 0,5358

7 981 988 0,9929 0,0071

7 1122 1346 0,8336 0,1664

8 131 139 0,9424 0,0576

8 420 603 0,6965 0,3035

9 333 338 0,9852 0,0148

9 3545 3725 0,9517 0,0483

10 245 253 0,9684 0,0316

10 1034 1243 0,8319 0,1681

11 272 279 0,9749 0,0251

11 3839 3987 0,9629 0,0371

12 131 134 0,9776 0,0224

12 948 1098 0,8634 0,1366

13 125 133 0,9398 0,0602

13 7588 7788 0,9743 0,0257

14 85 92 0,9239 0,0761

14 2875 3073 0,9356 0,0644

15 75 76 0,9868 0,0132

15 3833 4009 0,9561 0,0439

16 100 101 0,9901 0,0099

16 4297 4465 0,9624 0,0376

17 110 116 0,9483 0,0517

17 726 877 0,8278 0,1722

18 134 136 0,9853 0,0147

18 13413 13629 0,9842 0,0158

19 148 154 0,9610 0,0390

19 11673 11809 0,9885 0,0115

20 141 147 0,9592 0,0408

20 6917 7069 0,9785 0,0215

21 157 162 0,9691 0,0309

21 2173 2334 0,9310 0,0690

22 109 115 0,9478 0,0522

22 4086 4295 0,9513 0,0487

23 363 374 0,9706 0,0294

23 2004 2139 0,9369 0,0631

24 91 94 0,9681 0,0319

24 13259 13426 0,9876 0,0124

25 177 181 0,9779 0,0221

25 6407 6568 0,9755 0,0245

Povprečje 0,9628 0,0372

Povprečje 0,8795 0,1205

Stdev.S 0,0257 0,0257

Stdev.S 0,1322 0,1322

Tabela 13: Meritev Manhattan razdalje ClonAlg in DE (uspešni, Griewank, prag 0.001)

Page 66: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

65

Če upoštevamo, da smo dobili 48 tabel z rezultati ter od teh prikazali le tiste, ki nam

pokažejo različne primerjave in da nas zanimata predvsem povprečje ter standardni

odklon, lahko rezulate vseh tabel prikažemo združene v naslednjih tabelah:

Meritev evklidske razdalje med staršem in potomcem

Eksploatacija Povprečje Stdev.S Eksploracija Povprečje Stdev.S

Sphere-ClonAlg-vsi-0.001 0,0252 0,0266 Sphere-ClonAlg-vsi-0.001 0,9748 0,0266

Griewank-ClonAlg-vsi-0.001 0,0228 0,0232

Griewank-ClonAlg-vsi-0.001 0,9772 0,0232

Sphere-CloanAlg-vsi-0.01 0,1920 0,1300 Sphere-CloanAlg-vsi-0.01 0,8080 0,1300

Griewank-ClonAlg-vsi-0.01 0,1621 0,0690

Griewank-ClonAlg-vsi-0.01 0,8379 0,0690

Sphere-ClonAlg-vsi-0.1 0,8727 0,0665 Sphere-ClonAlg-vsi-0.1 0,1273 0,0665

Griewank-ClonAlg-vsi-0.1 0,5417 0,0835

Griewank-ClonAlg-vsi-0.1 0,4583 0,0835

Sphere-ClonAlg-uspešni-0.001 0,0583 0,0433 Sphere-ClonAlg-uspešni-0.001 0,9417 0,0433

Griewank-ClonAlg-uspešni-0.001 0,0470 0,0409

Griewank-ClonAlg-uspešni-0.001 0,9530 0,0409

Sphere-ClonAlg-uspešni-0.01 0,3624 0,1368 Sphere-ClonAlg-uspešni-0.01 0,6376 0,1368

Griewank-ClonAlg-uspešni-0.01 0,3575 0,1430

Griewank-ClonAlg-uspešni-0.01 0,6425 0,1430

Sphere-ClonAlg-uspešni-0.1 0,8727 0,0665 Sphere-ClonAlg-uspešni-0.1 0,1273 0,0665

Griewank-ClonAlg-uspešni-0.1 0,8855 0,0624

Griewank-ClonAlg-uspešni-0.1 0,1145 0,0624

Eksploatacija Povprečje Stdev.S Eksploracija Povprečje Stdev.S

Sphere-DE-vsi-0.001 0,1928 0,3935 Sphere-DE-vsi-0.001 0,8072 0,3935

Griewank-DE-vsi-0.001 0,8828 0,1861

Griewank-DE-vsi-0.001 0,1172 0,1861

Sphere-DE-vsi-0.01 0,2169 0,3906 Sphere-DE-vsi-0.01 0,7831 0,3906

Griewank-DE-vsi-0.01 0,8570 0,2458

Griewank-DE-vsi-0.01 0,1430 0,2458

Sphere-DE-vsi-0.1 0,3982 0,3056 Sphere-DE-vsi-0.1 0,6018 0,3056

Griewank-DE-vsi-0.1 0,8988 0,1763

Griewank-DE-vsi-0.1 0,1012 0,1763

Sphere-DE-uspešni-0.001 0,1591 0,3281 Sphere-DE-uspešni-0.001 0,8409 0,3281

Griewank-DE-uspešni-0.001 0,6597 0,2342

Griewank-DE-uspešni-0.001 0,3403 0,2342

Sphere-DE-uspešni-0.01 0,2004 0,3504 Sphere-DE-uspešni-0.01 0,7996 0,3504

Griewank-DE-uspešni-0.01 0,7514 0,2187

Griewank-DE-uspešni-0.01 0,2486 0,2187

Sphere-DE-uspešni-0.1 0,3924 0,2867 Sphere-DE-uspešni-0.1 0,6076 0,2867

Griewank-DE-uspešni-0.1 0,8525 0,1646

Griewank-DE-uspešni-0.1 0,1475 0,1646

Tabela 14: Prikaz povprečja in standardnega odklona pri merjenju evklidske razdalje med staršem

in potomcem

Page 67: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

66

Meritev Manhattan razdalje med staršem in potomcem

Eksploatacija Povprečje Stdev.S Eksploracija Povprečje Stdev.S

Sphere-ClonAlg-vsi-0.001 0,7733 0,0313 Sphere-ClonAlg-vsi-0.001 0,2267 0,0313

Griewank-ClonAlg-vsi-0.001 0,7232 0,0408

Griewank-ClonAlg-vsi-0.001 0,2768 0,0408

Sphere-CloanAlg-vsi-0.0001 0,5499 0,1029 Sphere-CloanAlg-vsi-0.0001 0,4501 0,1029

Griewank-ClonAlg-vsi-0.0001 0,4331 0,0748

Griewank-ClonAlg-vsi-0.0001 0,5669 0,0748

Sphere-ClonAlg-vsi-0.00001 0,2469 0,1027 Sphere-ClonAlg-vsi-0.00001 0,7531 0,1027

Griewank-ClonAlg-vsi-0.00001 0,1542 0,0487

Griewank-ClonAlg-vsi-0.00001 0,8458 0,0487

Sphere-ClonAlg-uspešni-0.001 0,9824 0,0153 Sphere-ClonAlg-uspešni-0.001 0,0176 0,0153

Griewank-ClonAlg-uspešni-0.001 0,9628 0,0257

Griewank-ClonAlg-uspešni-0.001 0,0372 0,0257

Sphere-ClonAlg-uspešni-0.0001 0,8106 0,0866 Sphere-ClonAlg-uspešni-0.0001 0,1894 0,0866

Griewank-ClonAlg-uspešni-0.0001 0,6776 0,1108

Griewank-ClonAlg-uspešni-0.0001 0,3224 0,1108

Sphere-ClonAlg-uspešni-0.00001 0,3767 0,1142 Sphere-ClonAlg-uspešni-0.00001 0,6233 0,1142

Griewank-ClonAlg-uspešni-0.00001 0,2336 0,0765

Griewank-ClonAlg-uspešni-0.00001 0,7664 0,0765

Eksploatacija Povprečje Stdev.S Eksploracija Povprečje Stdev.S

Sphere-DE-vsi-0.001 0,5842 0,2130 Sphere-DE-vsi-0.001 0,4158 0,2130

Griewank-DE-vsi-0.001 0,9118 0,1445

Griewank-DE-vsi-0.001 0,0882 0,1445

Sphere-DE-vsi-0.0001 0,3857 0,3117 Sphere-DE-vsi-0.0001 0,6143 0,3117

Griewank-DE-vsi-0.0001 0,8972 0,1788

Griewank-DE-vsi-0.0001 0,1028 0,1788

Sphere-DE-vsi-0.00001 0,2318 0,3820 Sphere-DE-vsi-0.00001 0,7682 0,3820

Griewank-DE-vsi-0.00001 0,8888 0,1856

Griewank-DE-vsi-0.00001 0,1112 0,1856

Sphere-DE-uspešni-0.001 0,5827 0,2008 Sphere-DE-uspešni-0.001 0,4173 0,2008

Griewank-DE-uspešni-0.001 0,8795 0,1322

Griewank-DE-uspešni-0.001 0,1205 0,1322

Sphere-DE-uspešni-0.0001 0,3791 0,2900 Sphere-DE-uspešni-0.0001 0,6209 0,2900

Griewank-DE-uspešni-0.0001 0,8191 0,1856

Griewank-DE-uspešni-0.0001 0,1809 0,1856

Sphere-DE-uspešni-0.00001 0,2120 0,3431 Sphere-DE-uspešni-0.00001 0,7880 0,3431

Griewank-DE-uspešni-0.00001 0,7351 0,2238

Griewank-DE-uspešni-0.00001 0,2649 0,2238

Tabela 15: Prikaz povprečja in standardnega odklona pri merjenju Manhattan razdalje med

staršem in potomcem

Page 68: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Primerjava rezultatov algoritmov MAGISTERIJ

67

8.4 Diskusija

Tabeli 3 in 4, kakor tudi slika 6 in 7, predstavljajo razvrstitev po točkah, ki jo algoritmi

dosežejo v tekmi po CRS4EAs. Slika 8 prikazuje občutno razliko med algoritmi, ki so v

tekmi sodelovali.

Tabele 5, 6 in 7 predstavljajo, koliko korakov posamezni algoritem potrebuje, da najde

rešitev, kadar začetne točke postavimo na rob oz. v bližino rešitve.

Podobnosti in razlike med eksploracijo ter eksploatacijo, med algoritmoma ClonAlg in

DE, so prikazane v tabelah: 8, 9, 10, 11, 12, 13, 14 in 15. Algoritma imata različen način

definiranja in spreminjanja populacije. Pri ClonAlg se vsak starš klonira v več potomcev.

Pri DE je prehod iz starša v otroka skrit v:

for (int j=0;j<taskProblem.getDimensions(); j++) //in wiki j is i

if ((Util.rnd.nextDouble()<CR) || (j==R))

y[j] = taskProblem.feasible(pop.get(a).getX()[j] + F*(pop.get(b).getX()[j]-

pop.get(c).getX()[j]),j);

else y[j] = pop.get(i).getX()[j];

kjer si "pop.get(a)" lahko predstavljamo kot enega od staršev, y pa potomca.

Page 69: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Zaključek MAGISTERIJ

68

9 ZAKLJUČEK

Magisterska naloga predstavlja nove algoritme, algoritme na osnovi umetnega

imunskega sistema in njihovo primerjavo z obstoječimi modernimi metahevrističnimi

algoritmi. Skozi poglavja smo predstavili biološke osnove, teorijo algoritmov umetnega

imunskega sistema, povzeli zgodovino raziskav in uporabo algoritma v aplikacijah.

Opisali smo tudi nekaj drugih algoritmov, s katerimi smo AIS algoritme primerjali. V

sedmem poglavju pa opisali eksploracijo (preiskovanje) in eksploatacijo (izkoriščanje) ter

samo implementacijo AIS algoritmov. Na začetku osmega poglavja smo opisali še NHST

in CRS4EAs, izvedli tekmo med algoritmi, izdelali preliminarno analizo glede začetne

populacije in dva izmed algoritmov primerjali glede na njune lastnosti preiskovanja

prostora in izkoriščanja okolice.

9.1 Cilji

Cilje naloge smo zastavili v samem uvodu. Uspelo nam je raziskati in implementirati

na umetnem imunskem sistemu zgrajene algoritme. Njihovo uspešnost, kakor tudi

eksploracijske in eksploatacijske lastnosti smo preverjali v osmem poglavju.

9.2 Spoznanja in razprave

V okviru naloge smo spoznali različne algoritme, kot so: BCA, ClonAlg, NSA, aiNet,

PSO, DE, ABC, TLBO in druge. Nekatere od teh algoritmov smo implementirali, nekateri

pa so se nahajali znotraj okolja EARS. Spoznali smo NHST, CRS4EAs, eksploracijo in

eksploatacijo,

Ker so AIS algoritmi v primerjavi z drugimi metahevrističnimi algoritmi še dokaj

neraziskani, si želimo v prihodosti še bolj raziskati, kaj so njihove prednosti in slabosti.

Dodatno nas zanima tudi kako na rezultate vpliva velikost populacije, verjetnost mutacije,

število generacij, vpliv novih protiteles (verjetnost povezave novih protiteles v mrežo),

uničenje nestimuliranih protiteles (verjetnost izbrisa iz mreže) in reprodukcija stimuliranih

protiteles (verjetnost kloniranja protiteles iz mreže).

Page 70: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Literatura MAGISTERIJ

69

10 LITERATURA

[1] Matej Črepinšek, EARS, 2016. Dostopno na:

https://github.com/matejxxx/EARS/tree/master/ECProblems/src/org/um/feri/ears/algorith

ms [27.3.2016]

[2] How Your Immune System Works, 2016. Dostopno na: http://health.howstuffworks.com/human-body/systems/immune/immune-system.htm [27.3.2016]

[3] Wikipedija: "Artificial bee colony algorithm", 2016. Dostopno na: https://en.wikipedia.org/wiki/Artificial_bee_colony_algorithm [27.3.2016]

[4] Wikipedija: "Differential evolution", 2016. Dostopno na: https://en.wikipedia.org/wiki/Differential_evolution [27.3.2016]

[5] Wikipedija: "Imunski sistem" , 2016. Dostopno na: http://sl.wikipedia.org/wiki/Imunski_sistem [27.3.2016]

[6] Wikipedija: "Particle swarm optimization", 2016. Dostopno na: https://en.wikipedia.org/wiki/Particle_swarm_optimization [27.3.2016]

[7] Bersini, H., Varela, F. J., "Learning and the Immune network: Reinforcement, recruitment and their applications.", Biologically inspired computation, (1994), strani 166–192

[8] Burnet, F.M., "The Clonal Selection Theory of Acquired Immunity", Vanderbilt University Press, Nashville, 1959.

[9] Castro, L.N. de, Zuben, F.J. von, "aiNet: An artificial immune network for data analysis", Data Mining: A Heuristic Approach, Idea Group Publishing, (2001), strani 231–259

[10] Castro, L.N. de, Timmis, J., "Artificial Immune Systems: A New Computational Intelligence Approach", Springer, 2002

[11] Castro, Leandro N. de, Timmis, Jon, "An Artificial Immune Network for Multimodal Function Optimisation", Proceedings of the IEEE Congress on Evolutionary Computation, 2002

[12] Castro, L.N. de, Zuben, F.J. Von, "Artificial Immune Systems: Part II – A Survey of Applications." Technical Report DCA-RT 02/00, 2000

[13] Castro, L.N. de, Zuben, F.J. Von, "Learning and optimization using the clonal selection principle", IEEE Transactions on Evolutionary Computation 6, (2002), strani 239–251.

[14] Cisar, Petar, Cisar, Sanja Maravic, Markoski, Branko, "Implementation of Immunological Algorithms in Solving Optimization Problems", Acta Polytechnica Hungarica, 01/2014, strani 225-239

[15] Clark, E., Hone, A., Timmis, J., "A Markov chain model of the B-cell algorithm", Proceedings of the 4th International Conference on Artificial Immune Systems, vol. 3627, Springer, 2005, strani 318–330.

[16] Coello Coello, C.A., Cruz Cortes, N., "An approach to solve multiobjective optimization problems based on an artificial immune system", ICARIS, (2002), strani 212–221

Page 71: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Literatura MAGISTERIJ

70

[17] Cooke, D., Hunt, J., "Recognising promoter sequences using an artificial immune system", Proc Int Conf Intell Syst Mol Biol 3, (1995), strani 89–97

[18] Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., "Introduction to Algorithms", MIT Press., 2002

[19] Cruz Cortes, N., Coello Coello, C., "Multiobjective optimisation using ideas from the clonal selection principle", GECCO, vol. 1, (2003), strani 158–170.

[20] Cutello, V., Nicosia, G., Oliveto, P., Romeo, M., "On the convergence of immune algorithms", in: Proc.of Foundations of Computational Intelligence, 2007, strani 409–416.

[21] Črepinšek, Matej, Liu, Shih-Hsi, Mernik, Luka, "A note on teaching–learning-based optimization algorithm", Information Sciences, vol. 212, (2012), strani 79–93

[22] Črepinšek, Matej, Liu, Shih-Hsi, Mernik, Marjan, "Exploration and exploitation in evolutionary algorithms: A survey", Volume 45, Issue 3, Article No. 35, 2013

[23] Dasgupta, Dipankar, "Immunity based intrusion detection systems: A general framework.", Proceedings of the 22nd National Information Systems Security Conference (NISSC), (1999), strani 147–159

[24] Dasgupta, Dipankar, Yua, Senhua, Nino, Fernando, "Recent Advances in Artificial Immune Systems: Models and Applications" Applied Soft Computing 11, (2011), strani 1574–1587

[25] Edwards, Jonathan C. W., Cambridge, Geraldine, "B-cell targeting in rheumatoid arthritis and other autoimmune diseases", Nature Reviews Immunology 6, (2006), strani 394–403

[26] Farmer, J.D., Packard, N.H., Perelson, A.S., "The immune system, adaptation, and machine learning", Physica D 22, (1986), strani 187–204.

[27] Forrest, S., Perelson, A.S., Allen, L., Cherukuri, R., "Self-nonself discrimination in a computer", in: IEEE Symposium on Research in Security and Privacy, IEEE Computer Society Press, Los Alamos, CA, 1994, strani 202–212

[28] Fuentes, J. C., Coello, C. A., "Handling Constraints in Particle Swarm Optimization Using a Small Population Size," Lecture Notes in Computer Science, MICAI 2007: Advances in Artificial Intelligence, vol. 4827, Springer, 2007

[29] Goodman, D.E., Boggess, L., Watkin, A., "An Investigation into the Source of Power for AIRS, an Artificial Immune Classification System", In Proceedings of the International Joint Conference on Neural Networks (IJCNN), 2003

[30] Greensmith, Julie, Aickelin, Uwe, Tedesco, Gianni, "Information Fusion for Anomaly Detection with the Dendritic Cell Algorithm", Elsevier, 2007

[31] Hart, E., Ross, P., "Exploiting the analogy between immunology and spares distributed memories: A system for clustering non-stationary data", 1st International Conference on Artificial Immune Systems, Canterbury, UK, (2002), strani 49–58

[32] Herrera-Lozada, Carlos J., Calvo, H., Taud, H, »A Micro Artificial Immune System«, Polibits 43, (2011), strani 107–111.

[33] Hightower, R., Forrest, S., Perelson, A. S. "The evolution of emergent organization in immune system gene libraries", Proceedings of the Sixth International Conference on Genetic Algorithms, Morgan Kaufmann, San Francisco, CA, (1995), strani 344–350

[34] Hofmeister, T., Schöning, U., Schuler, R., Watanabe, O., "A probabilistic 3-SAT algorithm further improved", Computer Science, vol. 2285, (2002), strani 192–202.

Page 72: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Literatura MAGISTERIJ

71

[35] Hsu, Li-Fu, Hsu, Chiun-Chieh, Lin, Tsai-Duan, "An Intelligent Artificial System: Artificial Immune based Hybrid Genetic Algorithm for the Vehicle Routing Problem", APPLIED MATHEMATICS & INFORMATION SCIENCES 8(3), MAY 2014, strani 1191–1200

[36] Hunt, John E., Cooke, Denise E., "Learning using an artificial immune system", Journal of Network and Computer Applications, Volume 19, Issue 2, (1996), strani 189–212

[37] Hunt, J., Timmis, J., Cooke, D., Neal, M., King, C., "JISYS: Development of an artificial immune system for real-world applications", Artificial Immune Systems and their Applications, Springer, 1998, strani 157–186

[38] Ishida, Y. "Fully Distributed Diagnosis by PDP LEarning Algorithm: Towards Immune Network PDP Model", Int. Joint Conf. On Neural Networks, strani 777–782

[39] Jerne, N.K., "Towards a network theory of the immune system", Annals of Immunology (Paris) 125C, (1974), strani 373–389

[40] Kadia, Tapan, "Chronic Lymphocytic Leukemia: New Insights Lead to More Refined, Individualized Treatment", The Molecular Oncology Report, Vol 1, Number 2, 2007

[41] Kephart, J. O., "A biologically inspired immune system for computers", Proceedings of Artificial Life IV: The Fourth International Workshop on the Synthesis and Simulation of Living Systems. MIT Press, (1994), strani 130–139.

[42] Kelsey, J., Timmis, J., "Immune inspired somatic contiguous hypermutation for function optimisation", Computer Science, vol. 2723, (2003), strani 207–218.

[43] Krishnakumar, K., “Micro-genetic algorithms for stationary and nonstationary function optimization” in SPIE Proceedings: Intelligent Control and Adaptive systems, (1989), strani 289-296.

[44] Kuo, R. J., Chen, S. S., Cheng, W. C., "Integration of artificial immune network and K-means for cluster analysis", Knowledge and Information Systems, September 2014, Volume 40, Issue 3, strani 541–557

[45] Lanaridis, Aris, Stafylopatis, Andreas, "An artificial immune network for multiobjective optimization problems", Artificial Neural Networks – ICANN 2010, Volume 6353 of the series Lecture Notes in Computer Science, strani 531–536

[46] Ligeiro, Rui, "Monitoring applications: An immune inspired algorithm for software-fault detection", Applied Soft Computing Volume 24, November 2014, strani 1095–1104

[47] Liu, Ruochen, Ma, Chenlin, He, Fei, "Reference direction based immune clone algorithm for many-objective optimization", Frontiers of Computer Science, August 2014, Volume 8, Issue 4, strani 642–655

[48] Liu, Shih-Hsi, Mernik, Marjan, Hrnčič, Dejan, Črepinšek, Matej, "A parameter control method of evolutionary algorithms using exploration and exploitation measures with a practical application for fitting Sovova’s mass transfer model", Applied Soft Computing 13, (2013), strani 3792–3805.

[49] Mendoza, J., Morales, D., López, R., Vannier, J., Coello, C. A., "Multiobjective Location of Automatic Voltage Regulators in a Radial Distribution Network Using a Micro Genetic Algorithm," IEEE Transactions on Power Systems, vol. 22, issue 1, (2007), strani 404–412

[50] Ming, Y., Cheng, L., "Application of Micro Genetic Algorithm to Optimization of Time-Domain Ultra-Wide Band Antenna Array,” in Microwave and Millimeter Wave Technology, 2007, ICMMT '07, International Conference, (2007), strani 1–4

Page 73: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Literatura MAGISTERIJ

72

[51] Neal, M., "An artificial immune system for continuius analysis of time-varying data", 1st International Conference on Artificial Immune Systems, Canterbury, UK, (2002), strani 76–85

[52] Nicosia, G., "Immune algorithms for optimisation and protein structure prediction", Ph.D. Thesis, Department of Mathematics and Computer Science, University of Catania, Italy, 2004

[53] Nix, A. E., Vose, M. D., "Modeling genetic algorithms with markov chains", Annals of Mathematics and Artificial Intelligence 5, (1992), strani 79–88

[54] Percus, J.K., Percus, O.E., Perelson, A.S., "Predicting the size of the T-cell receptor and antibody combining region from consideration of efficient self-nonself discrimination", Proceedings of National Academy of Sciences USA 90 (1993), strani 1691–1695

[55] Perelson, A.S., Oster, G.F., "Theoretical studies of clonal selection: Minimal antibody repertoire size and reliability of self-nonself discrimination", 81 (1979), strani 645–670

[56] Qiu, Xueni, Lau, Henry Y. K., "An AIS-based hybrid algorithm for static job shop scheduling problem", Journal of Intelligent Manufacturing, June 2014, Volume 25, Issue 3, strani 489–503

[57] Rao, R. Venkata, Patel, Vivek, "An improved teaching-learning-based optimization algorithm for solving unconstrained optimization problems", Scientia Iranica, vol. 20, (2013), strani 710–720

[58] Rudolph, G., "Finite markov chain results in evolutionary computation: A tour d’horizon", Fundamenta Informaticae 35 (1–4), (1998), strani 67–89

[59] Segal, L.A., Perelson, A.S., "Computations in shape–space: A new approach to immune network theory", Theoretical Immunology, Part Two, 1988.

[60] Seresht, Neda Afzali, Azmi, Reza, "MAIS-IDS: A distributed intrusion detection system using multi-agent AIS approach", Engineering Applications of Artificial Intelligence, Volume 35, October 2014, strani 286–298

[61] Shang, Ronghua, Jiao, Licheng, Ren, Yujing, "Immune clonal coevolutionary algorithm for dynamic multiobjective optimization", Natural Computing, September 2014, Volume 13, Issue 3, strani 421–445

[62] Somayaji, A., Hofmeyr, S., Forrest, S., "Principles of a Computer Immune System.", New Security Paradigms Workshop, 1997

[63] Timmis, Jon, "Artificial Immune Systems: A novel data analysis technique inspired by the immune network theory", PhD thesis, Department of Computer Science, University of Wales, Aberystwyth. Ceredigion. Wales., 2000

[64] Timmis, J., Honec, A., Stibord, T., Clark, E., "Theoretical advances in artificial immune systems" Theoretical Computer Science 403, (2008), strani 11–32

[65] Timmis, Jon, Edmonds, C., Kelsey, Johnny, "Assessing the Performance of Two Immune Inspired Algorithms and a Hybrid Genetic Algorithm for Function Optimisation", Proceedings of the Congress on Evolutionary Computation (CEC04), (2004), strani 1044–1051.

[66] Toscano, G., Coello, Carlos. A., "A Micro-Genetic Algorithm for multiobjective optimization," in First International Conference on Evolutionary Multi-criterion Optimization, Lecture Notes in Computer Science, vol. 1993, Springer, (2001), strani 126–140.

Page 74: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Literatura MAGISTERIJ

73

[67] Varela, F., Coutinho, A., Dupire, B., Vaz, N., "Cognitive networks: Immune, neural, and otherwise", Theoretical Immunology, Part II, (1988), strani 359–375

[68] Veček, Niki, Mernik, Marjan, Črepinšek, Matej, "A chess rating system for evolutionary algorithms: A new method for the comparison and ranking of evolutionary algorithms", Information Sciences 277, (2014), strani 656–679

[69] Wang, Jinglian, Gong, Bin, Liu, Hong, "Heterogeneous computing and grid scheduling with parallel biologically inspired hybrid heuristics", Transactions of the Institute of Measurement & Control, Aug2014, Vol. 36, Issue 6

[70] Watkins, A., "Exploiting immunological metaphors in the development of serial, parallel and distributed learning algorithms", Ph.D. Thesis, University of Kent, Computing Laboratory, 2005

[71] Watkins, A., Timmis, J., Boggess, L., "Artificial Immune Recognition System (AIRS): An Immune Inspired Supervised Machine Learning Algorithm", Genetic Programming and Evolvable Machines, (2004), strani 291–318

[72] Wierzchon, S., Kuzelewska, U., "Stable clusters formation in an artificial immune system", 1st International Conference on Artificial Immune Systems, Canterbury, UK, (2002), strani 68–75

[73] Zhang, Ren-Long, Shan, Mi-Yuan; Liu, Xiao-Hong; "A novel fuzzy hybrid quantum artificial immune clustering algorithm based on cloud model", Engineering Applications of Artificial Intelligence Volume 35, October 2014, strani 1–13

[74] Zhang, Weiwei, Yen, Gary G., He, Zhongshi, "Constrained Optimization via Artificial Immune System", IEEE Transactions on Cybernetics, Volume 44, Issue 2, Feb 2014, strani 185–198

[75] Zheng, Chenyu, Sicker, Douglas C., "A Survey on Biologically Inspired Algorithms for Computer Networking", IEEE Communications Surveys & Tutorials, Volume 15, Issue 3, July 2013, strani 1160–1191

Page 75: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Življenjepis MAGISTERIJ

74

Življenjepis:

Ime in priimek: Andrej Barovič Karpov

Rojen: 27. septembra 1974

Osnovna šola: OŠ Bojana Ilicha, Maribor

Srednja šola: II. gimnazija Maribor

Fakulteta: FERI Maribor, program: elektrotehnika, smer: UNI elektronika

Podiplomski študij: FERI Maribor, program: računalništvo in informatika

Page 76: UMETNI IMUNSKI SISTEM S STRANI BIOLOGIJE ...Imunski sistem ôloveka spada med skupino imunskega sistema sesalcev, katerega sestavljajo [2]: - limfatiôni organi (priželjc, vranica,

Izjava MAGISTERIJ

75

IZJAVA:

Podpisani Andrej Barovič Karpov izjavljam, da sem magisterij izdelal sam. Zavedam se

tudi morebitnih posledic v primeru kršitve izjave.

—————————