vizualizacija procesov evolucijskega računanja - core.ac.uk · iii vizualizacija procesov...

100
Tadej Jerovšek VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Magistrsko delo Maribor, september 2016

Upload: others

Post on 16-Sep-2019

9 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Tadej Jerovšek

VIZUALIZACIJA PROCESOV

EVOLUCIJSKEGA RAČUNANJA

Magistrsko delo

Maribor, september 2016

Page 2: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

VIZUALIZACIJA PROCESOV

EVOLUCIJSKEGA RAČUNANJA

Magistrsko delo

Študent: Tadej Jerovšek

Študijski program: študijski program 2. stopnje

Računalništvo in informacijske tehnologije

Mentor: doc. dr. Matej Črepinšek

Lektorica: Jana Padežnik Gomilšek, prof. dr.

Page 3: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,
Page 4: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

II

ZAHVALA

Zahvaljujem se mentorju doc. dr. Mateju

Črepinšku za pomoč in vodenje pri

opravljanju magistrskega dela.

Posebna zahvala velja mami, ki mi je

omogočila želeni študij ter me pri njem

podpirala in spodbujala.

Page 5: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

III

VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA

RAČUNANJA

Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

vizualizacija informacij, primerjava evolucijskih algoritmov, Pareto

dominiranost

UDK: 004.421.2:519.863(043.2)

Povzetek

V tem magistrskem delu se ukvarjamo z vizualizacijo procesov evolucijskih

algoritmov in interpretacijo le-teh. Najpogosteje uporabljene metode za

primerjavo evolucijskih algoritmov imajo težave že pri oceni algoritmov,

samega delovanja algoritmov pa ne upoštevajo. Najprej smo podrobneje

pogledali razvoj statističnih metod, kaj nudijo in kje kažejo pomanjkljivosti.

Pod drobnogled smo vzeli enokriterijsko in večkriterijsko optimizacijo in jo z

uporabo metod vizualizacije informacij predstavili ter interpretirali prednosti

in slabosti posameznih algoritmov in problemov, pri čemer smo za temelj

uporabili sistem EARS.

Page 6: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

IV

VISUALIZATION OF EVOLUTIONARY COMPUTATION

PROCESSES

Key words: evolutionary algorithms, multi-criteria optimization,

information visualization, evolutionary algorithm comparisson, Pareto

dominance

UDK: 004.421.2:519.863(043.2)

Abstract

In this thesis we deal with the visualization of evolutionary processes and its

interpretation. Commonly used methods for comparison of evolutionary

algorithms have difficulties with rating algorithms, while how they actually

work is never taken into account. First we take a closer look at the benefits and

shortcomings of statistical methods. We also take a detailed look of single-

criteria and multi-criteria optimization and with the use of information

visualization methods present advantages and weaknesses of individual

algorithms and problems, for which we used the EARS system.

Page 7: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

V

KAZALO VSEBINE

1 UVOD ................................................................................................................... 1

2 EVOLUCIJSKI ALGORITMI .............................................................................. 3

2.1 Ozadje ............................................................................................................ 3

2.1.1 Eksploracija ali eksploatacija?................................................................ 5

2.1.2 Elitizem ................................................................................................... 5

2.1.3 Algoritmi s spremenljivo populacijo ...................................................... 6

2.2 Enokriterijska optimizacija ............................................................................ 7

2.3 Večkriterijska optimizacija ............................................................................ 8

2.3.1 Pareto dominanca ................................................................................. 10

3 PRIMERJAVA EVOLUCIJSKIH ALGORITMOV .......................................... 13

3.1 No free lunch teorem ................................................................................... 13

3.2 Ničelna hipoteza .......................................................................................... 13

3.2.1 Testiranje ničelne hipoteze ................................................................... 14

3.2.2 Težave testiranja ničelne hipoteze ........................................................ 15

3.3 Šahovski sistem ocenjevanja ....................................................................... 16

3.3.1 Sistem Elo ............................................................................................. 16

3.3.2 Sistem Glicko ....................................................................................... 18

3.3.3 Sistem Glicko-2 .................................................................................... 19

3.3.4 CRS4EA ............................................................................................... 22

4 OGRODJE EARS ............................................................................................... 24

4.1 Implementacija ............................................................................................. 24

4.1.1 Kontekst in načrtovanje ....................................................................... 24

4.1.2 Izvedba ovrednotenja algoritma ........................................................... 25

4.1.3 Analiza in predstavitev rezultatov ........................................................ 26

Page 8: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

VI

4.1.4 Interpretacija rezultatov ........................................................................ 27

4.2 Podpora za algoritme večkriterijske optimizacije ........................................ 28

4.2.1 Kasnejša artikulacija informacije o preferencah .................................. 29

4.2.2 Generacijska razdalja ............................................................................ 30

4.2.3 Obrnjena generacijska razdalja ............................................................. 31

4.2.4 Indikator HV ......................................................................................... 31

4.2.5 -indikator ............................................................................................ 32

5 PREGLED OBSTOJEČIH METOD VIZUALIZACIJE .................................... 33

5.1 Potek evolucije algoritma ............................................................................ 34

5.2 Stanje v trenutku evolucije .......................................................................... 38

5.3 Večdimenzionalna predstavitev ................................................................... 41

6 VIZUALIZACIJA V OGRODJU EARS ............................................................ 57

6.1 Tehnične podrobnosti in omejitve ............................................................... 57

6.2 Vizualizacija enokriterijske optimizacije ..................................................... 61

6.2.1 Možnosti s strani uporabnika ................................................................ 61

6.2.2 Implementacija ..................................................................................... 64

6.2.3 Primeri interpretacije ............................................................................ 66

6.3 Vizualizacija večkriterijske optimizacije ..................................................... 70

6.3.1 Možnosti ............................................................................................... 70

6.3.2 Tehnične podrobnosti prikazov ............................................................ 73

6.3.3 Primer interpretacije ............................................................................. 75

7 DISKUSIJA IN ZAKLJUČEK ........................................................................... 81

8 LITERATURA .................................................................................................... 82

Page 9: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

VII

KAZALO SLIK

Slika 2.1: Psevdokod evolucijskih algoritmov [18]. .................................................... 4

Slika 2.2: Načini reševanja problemov večkriterijske optimizacije [30]. ................... 10

Slika 4.1: Potek primerjanja v ogrodju EARS [27]. ................................................... 26

Slika 4.2: Intervali, ki 99,7 % zanesljivo vsebujejo resnično oceno [27]................... 27

Slika 4.3: Znatne razlike, zaznane s CRS4EA, interval zanesljivosti ocene 99,7

% [27]. ................................................................................................................. 28

Slika 4.4: Nasprotujoča cilja po metodah kasnejše artikulacije preferenc [23].......... 30

Slika 4.5: Primer izračuna hipervolumna rešitve večkriterijske optimizacije [1]. ..... 32

Slika 5.1: Graf optimalnih posameznikov v posameznih generacijah [20]. ............... 34

Slika 5.2: Graf optimuma z dodanim povprečjem in standardnim odklonom v

posameznih generacijah [20]. .............................................................................. 35

Slika 5.3: Graf migracijskega/regionalnega modela. Vsaka krivulja prikazuje

svojo podpopulacijo. ........................................................................................... 36

Slika 5.4: Prikazi lastnosti optimalnih posameznikov tekom evolucijskega

procesa. ................................................................................................................ 37

Slika 5.5: Prikaz uspešnosti vseh posameznikov tekom evolucijskega procesa:

Osnovni prikaz (levo), regionalni model (sredina), lokalni model(desno)

[20]. ..................................................................................................................... 38

Slika 5.6: Prikaz ciljnih vrednosti vseh posameznikov ene generacije: točkovni

graf (levo), stopničast graf (sredina) in barvni graf za dvodimenzionalni

lokalni model (desno) [20]. ................................................................................. 39

Slika 5.7: Sekvenca prikazov porazdelitev odločitvenih spremenljivk po

generacijah: začetek optimizacije (levo), med optimizacijo (sredina) in na

koncu (desno) [20]. .............................................................................................. 40

Slika 5.8: Razdalje med posamezniki v generaciji: globalni/regionalni model

(levo), enodimenzionalni lokalni model (sredina), dvodimenzionalni

lokalni model (desno) [20]. ................................................................................. 40

Slika 5.9: Rosenbrockova funkcija s tremi dimenzijami. Optimalne vrednosti,

modri pas, so razlog za njeno drugo ime "banana function". .............................. 43

Page 10: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

VIII

Slika 5.10: Primeri večdimenzionalnega skaliranja z uporabo metode

SAMMON [20]. .................................................................................................. 43

Slika 5.11: Raztrosni grafi za prikaz večdimenzionalnega prostora [26]. .................. 44

Slika 5.12: Mehurčni graf z uporabo velikosti točk za dodatno dimenzijo [26]. ....... 45

Slika 5.13: Vizualizacija štirih dimenzij z uporabo radialnih koordinat [26]. ........... 46

Slika 5.14: Uporaba paralelnih koordinat za vizualizacijo štiri dimenzionalnih

vektorjev [26]. ..................................................................................................... 46

Slika 5.15: Heatmap za optimizacijo štirih kriterijev [26]. ........................................ 47

Slika 5.16: Primer izkrivljenosti oblike linearne funkcije pri vizualizaciji z

neuroscale [26]. ................................................................................................... 48

Slika 5.17: Uporaba samo-organizirajočih nevronskih mrež. Barva prikazuje

oddaljenost med nevroni oziroma vektorji kriterijev [26]. .................................. 48

Slika 5.18: Rezultat PCA nad linearno in sferično funkcijo [26]. .............................. 49

Slika 5.19: Graf razdalj (zgoraj) in graf porazdelitve (spodaj) za linearno

(zeleno) in sferično (modro) funkcijo [26]. ......................................................... 50

Slika 5.20: Prikaz interaktivnih odločitev za linearno (levo) in sferično funkcijo

(desno), kjer je četrti kriterij podan v obliki interaktivne izbire [26]. ................. 51

Slika 5.21: Prikaz za štetje diagonal v hiperprostoru [26]. ......................................... 52

Slika 5.22: Dvo stopenjska preslikava linearne in sferične funkcije [26]. ................. 53

Slika 5.23: Primer izračunanega 3D negativa aproksimacijske množice z

uporabo cuboidov [26]. ....................................................................................... 53

Slika 5.24: Primer rezanja prostora z ravnino [26]. .................................................... 54

Slika 5.25: Prikaz cuboidov linearne in sferične funkcije z uporabo rezanja

[26]. ..................................................................................................................... 55

Slika 5.26: Vizualizacije linearne in sferične funkcije oziroma njune razlike

(linearna - sferična (levo), sferična - linearna (desno)) z uporabo cuboidov

in prikazom MIP (zgoraj) in DVR (spodaj) [26]. ................................................ 56

Slika 6.1: PSO-jevo reševanje Easom problema. Prikaz zanimivih vrednosti:

najslabše (rdeče), najboljše (zeleno), povprečje (modro) in standardni

odklon (oranžno). ................................................................................................ 62

Page 11: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

IX

Slika 6.2: Združen graf reševanja problema Easom za 5 algoritmov. Črte s

točkami predstavljajo povprečja, črtkane črte prikazujejo standardni

odklon. ................................................................................................................. 63

Slika 6.3: Sivinski prikaz za RandomWalk pri reševanju problema Easom

(levo) in združeni prikazi algoritmov (desno). .................................................... 64

Slika 6.4: Zgodnja implementacija vizualizacije algoritma TLBO nad

problemom Ackley. Razvidna je nerealna poskakovanja fitnessa zaradi

nezaznavanja elitizma. ......................................................................................... 65

Slika 6.5: Vizualizacije evolucijskih procesov vseh algoritmov nad

posameznimi enokriterijskimi problemi: Ackley (levo zgoraj), Branin

(desno zgoraj), Easom (spodaj levo) in Rastrigin (desno spodaj). ...................... 67

Slika 6.6: Podrobnejši vpogled v evolucijska procesa algoritmov PSO in

TLBO. .................................................................................................................. 69

Slika 6.7: Optimizacija Schweflove funcije (levo), vsak algoritem se izkaže

različno odpornega na lokalne minimume, vendar noben ne doseže

globalnega minimuma, ter optimizacija problema Sphere, kjer se TLBO-

jev korak eksploracije izkaže za odvečnega. ....................................................... 70

Slika 6.8: Slika 58. intervala v animiranem prikazu reševanja večkriterijskega

problema 3 s strani NSGAII. ............................................................................... 72

Slika 6.9: Primerjava nepribližanega (levo) in približanega (desno) prikaza

večkriterijske optimizacije................................................................................... 73

Slika 6.10: Primer hipervolumna oziroma dominiranega prostora pri treh

kriterijih. .............................................................................................................. 74

Slika 6.11: Dvodimenzionalni prikaz trikriterijskega problema 9. Jasno so

razvidni kolobarji, ki nastanejo zaradi razlik po tretjem (neprikazanem)

kriteriju, ki si ga lahko predstavljamo kot globino slike. .................................... 75

Slika 6.12: Primeri štirih končnih Pareto front v turnirju algoritmov MOEAD,

NSGAII, PESAII, SPEA2 in PAES nad problemom 7. ...................................... 76

Slika 6.13: Ključni trenutki MOEAD pri problemu 7: Začetno preiskovanje

(interval 3/75), začetek gnetenja rešitev okrog predvidevanih gruč

optimumov (interval 14/75), zadnja vidna izboljšava (interval 68/75). ............. 78

Page 12: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

X

Slika 6.14: Evolucijski proces NSGAII nad problemom 7: Začetno

preiskovanje prostora (interval 6/75), postopen začetek gručenja rešitev

okrog optimalnih točk po obeh kriterijih (interval 10/75), izoblikovanje

"linij" rešitev, pravokotno na končne gruče optimiziranih točk (interval

51/75). .................................................................................................................. 78

Slika 6.15: Primer PESAII pri problemu 7: Začetek preiskovanja (interval

1/75), začetki preiskovanja v obliki eliptičnih struktur rešitev (interval

17/75), najboljši primer izoblikovanih stuktur (interval 56/75). ......................... 79

Slika 6.16: SPEA2 reševanje problema 7: Zaključki preiskovanja celotnega

prostora (interval 7/75), začetek gneče v gručah optimumov (interval

14/75), oblikovanje eliptičnih struktur tekom preiskovanja (interval 20/75). ..... 79

Slika 6.17: Reševanje algoritma PAES nad problemom 7: Dokončni preklop iz

optimizacije ene gruče na raziskovanje nove gruče (Intervali: 7, 8, 9 / 75). ....... 80

KAZALO TABEL

Tabela 3.1: Delitev testov za testiranje ničelne hipoteze glede na število

vrednotenih algoritmov in tip podatkov. ............................................................. 15

Tabela 6.1: Končne ocene turnirja enokriterijskih optimizacijskih problemov

pri 50 neodvisnih zagonih. .................................................................................. 66

Tabela 6.2: Rezultati turnirjev večkriterijske optimizacije pri 10 neodvisnih

zagonih. ............................................................................................................... 75

Page 13: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

XI

SEZNAM UPORABLJENIH KRATIC IN SIMBOLOV

ABC Artificial Bee Colony

ACBL American Contact Bridge League

CRS4EA Chess Rating System for Evolutionary Algorithms

CSV Comma-Separated Values

DVR Direct Volume Rendering

EARS Evolutionary Algorithm Rating System

ES Evolutionary Strategy

GD Generational Distance

GIF Graphics Interchange Format

HV Hypervolume

IDM Interactive Decision Maps

IGD Inverted Generational Distance

MIP Maximum Intensity Projection

MOEA Multi-objective Evolutionary Algorithms

MOEAD Multi-objective Evolutionary Algorithm based on decomposition

NFL No Free Lunch theorem

NSGA Elitist non-Dominated sorting Genetic Algorithm

PAES Pareto Archived Evolution Strategy

PCA Principal Component Analysis

PESA Pareto Envelope-Based Selection Algorithm

PNG Portable Network Graphics

PSO Particle Swarm Optimization

RD Rating Deviation

RPROP Resilient Backpropagation

RWS Random Walk Strategy

SPEA Strength Pareto Evolutionary Algorithm

TLBO Teaching-Learning-Based optimization

Page 14: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 1

1 UVOD

Evolucijski algoritmi niso najnovejši pristop, vseeno pa sta razumevanje in primerjava

posameznih algoritmov še vedno slabo definirana. Večina člankov s tega področja

predstavlja svoje algoritme kot najboljše, pri čemer je podana le primerjava končnih

rezultatov, njihovi pogoji (parametri) so slabo definirani, ali pa sploh niso.

Za boljše razumevanje algoritmov je potrebno prikazati njihov potek na enostaven, človeku

naraven način. To lahko dosežemo s statistiko in grafi. Pomembno je omogočiti vpogled v

konvergenco proti rešitvi skozi čas, raznolikost populacije v posameznih iteracijah

algoritma, prikaz napredka večkriterijskih optimizacij, na primer animirano približevanje

Pareto fronti in podobne dejavnike.

Prav tako je dobro, če lahko algoritem oziroma problem tudi grafično prikažemo in s tem

pojasniti, zakaj je bolj preprost ali zahteven za optimizacijo. Posamezni problemi imajo

namreč različne lastnosti, različno število in postavitev lokalnih in globalnih minimumov.

Trenutno se namreč za težavnost problema pri komuniciranju uporablja le ime problema in

posameznikove predhodne izkušnje z njim.

V magistrskem delu smo si za cilj zadali nadgradnjo obstoječega ogrodja EARS,

(Evolutionary Algorithm Rating System), ki je namenjeno razvoju in ovrednotenju

evolucijskih algoritmov. Dodali smo mu možnosti vizualizacije enokriterijske, pa tudi

večkriterijske optimizacije. Rezultat našega dela je razširjen sistem, narejen z minimalnimi

posegi v kodo obstoječega sistema, ki uporablja knjižnico JavaPlot, oziroma gnuPlot, in je

zmožen grafično vizualizirati evolucijske procese, ki potekajo v ogrodju EARS.

Magistrsko delo je sestavljeno iz sedmih poglavij in poglavja z uporabljeno literaturo. Po

uvodu sledi poglavje, kjer so na kratko predstavljene osnove evolucijskih sistemov in

pojmi, potrebni v nadaljevanju. V tretjem poglavju so predstavljeni obstoječi sistemi

obstoječe sisteme za primerjavo evolucijskih algoritmov. Vsi temeljijo na številski

predstavitvi, dodatno so opisani tudi njihovi zametki. Ogrodje EARS, ki je temelj našega

dela, je podrobneje predstavljeno v četrtem poglavju. V petem poglavju so prikazane

obstoječe oziroma predlagane metode vizualizacije podatkov evolucijskih algoritmov.

Naše delo, vizualizacija evolucijskih procesov v ogrodju EARS, je podrobno opisano v

šestem poglavju. Pri tej vizualizaciji je z JavaPlot najprej predstavljena enokriterijska

Page 15: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 2

optimizacija, na koncu pa še večkriterijska. Sedmo poglavje je namenjeno diskusiji

oziroma zaključku, kjer na kratko povzamemo implementirano vizualizacijo, ter

predlogom, kako bi jo lahko še dodatno nadgradili in izboljšali. V zadnjem, to je osmem

poglavju, je navedena vsa literatura, ki smo jo uporabili pri nastanku tega magistrskega

dela.

Page 16: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 3

2 EVOLUCIJSKI ALGORITMI

V poglavju so predstavljeni osnovni koncepti in terminologija evolucijskih algoritmov, ki

jih bomo potrebovali v nadaljnjih poglavjih, v nadaljevanju je predstavljena enokriterijska

optimizacija z evolucijskimi algoritmi, na koncu še predstavimo večkriterijsko

optimizacijo in koncept Pareto fronte.

2.1 Ozadje

Evolucija je v osnovi dvostopenjski proces, kjer posameznike razlikujemo glede na njihov

odziv v podanem okolju in jih glede nanj izbiramo. Osebki z nezaželenim (neprimernim)

odzivom odmrejo, ostali pa se razmnožujejo, pri čemer prenesejo svoje genske lastnosti (v

tem primeru odzive) na potomce. Pri tem je pomembna možnost napake pri reprodukciji.

Ta vnaša nove, nepredvidljive lastnosti. Ta proces se nato iterira [8].

V zadnjih štiridesetih letih so na področju računalništva vse bolj zanimivi sistemi, ki

temeljijo na evoluciji in dedovanju. Značilnosti teh so, da imajo - tako kot biološka bitja v

naravi - populacijo, način izbiranja boljših oziroma selekcijo in načine za napredovanje

vrste oziroma evolucijske operatorje [18].

Ti sistemi se delijo na več podzvrsti glede na problem, ki ga rešujejo, oziroma glede na

predstavitev rešitev. Primeri so [18]:

evolucijske strategije (ang. evolutionary strategies),

evolucijsko programiranje (evolutionary programming),

genetski algoritmi (ang. genetic algorithms),

genetsko programiranje (ang. genetic programming) in

klasifikatorski sistemi (ang. classifier systems).

Za vse podskupine se je uveljavilo skupno ime: evolucijski algoritmi oziroma pogosto tudi

evolucijsko računanje [16].

Evolucijski algoritmi so verjetnostni algoritmi (ang. probabilistic algorithms), ki imajo

populacijo posameznikov oziroma primerkov rešitev

za vsako iteracijo

Page 17: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 4

izvajanja t. Vsak posameznik predstavlja možno rešitev in je v večini primerov

implementiran kot podatkovna struktura S [18].

Vsaka rešitev v populaciji se ovrednoti, s čimer ji pripišemo oceno ustreznosti rešitve,

oziroma ji določimo funkcijo uspešnosti (fitness). Naslednji korak je izgradnja nove

populacije (iteracija t + 1) z izbiro najboljših posameznikov (selekcije). Algoritem te

posameznike spremeni z uporabo evolucijskih operatorjev, to je funkcij, ki posameznike

mutirajo ali križajo s ciljem nadaljnjega raziskovanja prostora rešitev. Mutacija (ang.

mutation) je unarni operator, ki naredi majhno spremembo v posamezniku, s čimer

preiskuje bližino dobrih rešitev ( ). Drugi splošni evolucijski operator je križanje

(ang. crossover). Ta operator je zelo odvisen od predstavitve rešitve - podatkovne

strukture, vendar splošno velja, da algoritem vzame dve ali več rešitev in pomeša njihove

dele ( ), s čimer upamo, da bomo uspeli združiti dobre dele rešitev. Po

več iteracijah algoritma oziroma generacijah rešitev konvergira k optimumu. Pri tem

obstaja nevarnost lokalnih optimumov, ki niso zaželeni, saj se lahko iskanje pri njih

zaključi. Robustnost oziroma odpornost na takšne primere se med algoritmi razlikuje [18].

Vse evolucijske algoritme lahko posplošimo na sledeči psevdokod (Slika 2.1):

Slika 2.1: Psevdokod evolucijskih algoritmov [18].

Page 18: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 5

2.1.1 Eksploracija ali eksploatacija?

Evolucijski algoritmi se razlikujejo v implementaciji posameznih korakov, najpogosteje pri

selekciji in uporabi evolucijskih operatorjev, s čimer dosegajo različne načine

preiskovanja. Pri tem govorimo o razmerju med raziskovanjem neznanega prostora

oziroma eksploraciji (ang. exploration) in izrabljanju informacij znanih dobrih rešitev

oziroma eksploataciji (ang. exploitation) [16].

Primer je algoritem simuliranega ohlajanja (ang. simulated annealing). Pri tem

preiskovanje prostora vodi parameter za temperaturo T, kjer začetna visoka vrednost

določa pomembnost eksploracije v primerjavi eksploatacije. Pri nizki začetni vrednosti bo

algoritem omejen na izkoriščanje obstoječih rešitev, namesto da bi iskal rešitve v

neraziskanem prostoru rešitev. Pri previsoki začetni temperaturi bo algoritem potreboval

preveč časa, oziroma ovrednotenj, da bo konvergiral k dobri rešitvi. S tem zanemari

eksploatacijo, eksploracija, ki zagotavlja raznolikost rešitev, pa je prekomerno uporabljena.

Drugi parameter je faktor ohlajanja , ki nadzoruje hitrost konvergence. Z vsako

iteracijo se temperatura ohladi, s čimer se znižuje pomembnost eksploracije in zvišuje

pomembnost eksploatacije [25].

2.1.2 Elitizem

Pri evolucijskih algoritmih je pomemben tudi koncept elitizma. Brez njega obstaja

nevarnost, da bi pri kateri generaciji evolucijski operatorji ustvarili le slabše posameznike,

s čimer bi izgubili do takrat najboljši rezultat. Če algoritem križa dve najboljši rešitvi, ni

nobenega zagotovila, da bo potomec v naslednji generaciji boljši ali vsaj enako dober,

bomo pa pri tem izgubili predhodni rešitvi, ker sta bila predstavnika prejšnje generacije.

Cilj je torej pridobiti nove dobre posameznike, ki nastanejo s križanjem, vendar tudi

obdržati najboljše posameznike v trenutni populaciji. Rešitev je, da obdržimo del dobrih

rešitev iz prejšnje generacije. To idejo je najprej predstavil De Jong leta 1975 in jo

poimenoval elitizem. Koncept je možno implementirati na več načinov [25]:

1) Za novo generacijo ustvarimo le pop_size - elite novih posameznikov, kjer je

pop_size velikost populacije in elite število elitnih posameznikov. Tako populacijo

nove generacije začnemo polniti z novimi rešitvami in dopolnimo z najboljšimi

predstavniki stare.

Page 19: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 6

2) Ustvarimo lahko pop_size novih rešitev, nakar najslabše rešitve v novi generaciji

zamenjamo z elite najboljšimi rešitvami iz predhodne generacije. V praksi se ta

pristop izkaže za boljšega od prejšnjega, vendar potrebuje dodatni korak sortiranja.

3) Možna je tudi nedeterministična izvedba elitizma. Primer tega je, da generiramo

pop_size novih rešitev, nakar z žrebanjem z invertirano ruleto izberemo elite

posameznikov, kjer imajo slabši posamezniki večjo možnost, da jih zamenjamo z

najboljšimi predstavniki iz prejšnje generacije.

4) Možne so tudi drugačne izvedbe.

2.1.3 Algoritmi s spremenljivo populacijo

Velikost populacije je eden izmed pomembnejših krmilnih parametrov evolucijskega

algoritma. Algoritmi pri manjših populacijah prehitro konvergirajo in končajo v lokalnem

optimumu. Velika populacija prav tako ne reši težav, saj upočasni konvergiranje in

sistemska sredstva. Velikost populacije tako neposredno vpliva na raznolikost populacije

(population diversity) in na pritisk selekcije [16].

V osnovi imajo evolucijski algoritmi vnaprej predpisano velikost populacije. Za nas so

zanimivi adaptivni algoritmi, ki imajo v različnih obdobjih evolucijskega procesa različne

velikosti populacij. To pomeni, da se krmilni parametri algoritma tekom evolucije

prilagajajo trenutnemu stanju [16].

Za primer lahko predpostavimo, da na začetku izvajanja z algoritmom želimo na grobo

preiskati čim večji del prostora rešitev, za kar je potrebna čim večja populacija. Med

izvajanjem algoritma, ko želimo začeti konvergirati k rešitvi, začnemo zmanjševati

velikost populacije, s čimer manjšamo število slabih rešitev oziroma povečujemo

selekcijski pritisk in s tem pohitrimo izbor najboljše rešitve. S tem začnemo prehajati iz

eksploracije v eksploatacijo [16]. Prav tako se s spremenljivo populacijo uravnavata dve

pomembni lastnosti evolucijskega algoritma: raznolikost populacije (ang. population

diversity), ki predstavlja pokritost prostora rešitev s strani populacije oziroma raznolikost

rešitev, in selekcijski pritisk (ang. selective pressure), ki sili izbor nove generacije k

lokalnemu ali globalnemu optimumu [18].

Drugi primer spremenljive populacije je vpeljava koncepta staranja populacije, ki zamenja

koncept selekcije. Ta izhaja iz naravnega okolja, posameznik se stara in pri določeni

Page 20: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 7

starosti odmre, nakar je zamenjan z mlajšim, boljšim posameznikom. V tem primeru

vsakemu posamezniku pripišemo življenjsko dobo, običajno glede na njegov fitness [18],

in ta se z vsako iteracijo algoritma oziroma generacijo stara. Recimo, da ima algoritem dve

populaciji, P in M. Populacija P služi kot klasična populacija pri normalnih evolucijskih

algoritmih, populacija M pa določa faktor rasti in je prirastek v trenutni generaciji. Obe

populaciji se v fazi izbora oziroma preživetja združita po enačbi [16]:

, (2.1)

kjer je pop_size(t + 1) velikost populacije v novi generaciji (t + 1), pop_size(t) trenutna

populacija kakor v normalnih algoritmih oziroma P, je prirastek,

oziroma pomožna populacija, ki jo predstavljajo novi posamezniki, dobljeni z

evolucijskimi operatorji, in D(t) število posameznikov, ki odmrejo v generaciji t.

Velikost pomožne populacije se uravnava s faktorjem rasti po enačbi [16]:

, (2.2)

kjer je faktor rasti.

2.2 Enokriterijska optimizacija

Pri enokriterijski optimizaciji se za namene magistrskega dela omejimo na optimizacijo

funkcij z realnimi vhodi in enim realnim izhodom. Tako lahko vsak enokriterijski problem

predstavimo kot:

, (2.3)

kjer je ocena rešitve i, odločitvena funkcija oziroma optimizacijski problem,

posameznik oziroma rešitev i v obliki vektorja realnih vrednosti, ki predstavljajo vhode

ocenjevalne funkcije in k število vhodnih spremenljivk.

Page 21: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 8

Pri tem je rešitev boljša od rešitve , če:

, (2.4)

in

.

Pri enokriterijski optimizaciji so težava lokalni minimumi, to so ne optimalne rešitve, ki

predstavljajo najboljšo rešitev le na delu prostora rešitev. Metode iskanja globalnega

optimuma se imenujejo globalna optimizacija. Definiramo jih kot funkcijo [2]:

, (2.5)

če in samo če

, (2.6)

kjer je globalni minimum, f cenitvena funkcija in možen prostor rešitev.

Če je problem minimizacijski, iščemo najnižjo vrednost funkcije sposobnosti (fitness), če

pa je problem maksimizacijski, iščemo največjo vrednost funkcije sposobnosti. Vse

probleme lahko pretvorimo iz enega tipa v drugega s predznačenjem problema f(x).

2.3 Večkriterijska optimizacija

V šestdesetih letih prejšnjega stoletja se je pojavil problem večkriterijskih javnih vlaganj,

ki so zahtevala kompromise po različnih kriterijih, za kar je bilo splošno uporabljeno ime

"trade-off". Področje je hitro postalo zelo priljubljeno pri ekonomskih matematikih,

analitikih sistemov, teoretikih odločitev in ostalih. Vseeno pa se splošna uporaba

večkriterijske optimizacije ni uveljavila do sedemdesetih let dvajsetega stoletja.

Page 22: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 9

Problem večkriterijske optimizacije lahko definiramo kot iskanje vektorja odločitvenih

vrednosti, ki zadosti omejitvam in optimizira vektorsko funkcijo, čigar elementi

predstavljajo cenitvene funkcije. Te tvorijo matematični opis zmogljivostnih kriterijev, ki

so si po navadi nasprotujoči. Optimizacija pomeni iskanje takšne rešitve, ki zadošča vsem

kriterijskim funkcijam [2].

Rešitve večkriterijske optimizacije so predstavljene kot odločitveni vektor (ang. decision

vector) oziroma vektor vhodov v cenitveno funkcijo, nakar jim pripišemo vektor kriterijev

(ang. objective vector), ki predstavlja dosežene rezultate po vseh kriterijskih funkcijah.

Problem večkriterijske optimizacije oziroma njene rešitve lahko tako zapišemo kot [30]:

, (2.7)

, (2.8)

, (2.9)

kjer je X odločitveni prostor oziroma prostor rešitev, n število odločitvenih spremenljivk, Y

prostor ciljev, ki predstavlja možne ocene rešitev, in k število kriterijev.

Primer takšnega inženirskega problema je nakupovanje stroja, kjer minimiziramo ceno in

maksimiziramo zanesljivost. Optimizacija enega kriterija privede do poslabšanja po drugih

kriterijih. Zaradi tega ne moremo optimizirati po posameznih kriterijih. Potrebno je

poiskati množico rešitev, ki najbolje zadostijo zastavljenim kriterijem [16].

Določitev boljše rešitve ni več tako enostavna kot v primeru enokriterijske optimizacije.

Glede na način reševanja večkriterijskega problema lahko opredelimo tri skupine (Slika

2.2) [15]:

1) temelječ na agregaciji (ang. aggregation-based),

2) temelječ na enem kriteriju (ang. criterion-based) in

3) temelječ na dominanci (ang. dominance-based).

Page 23: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 10

Slika 2.2: Načini reševanja problemov večkriterijske optimizacije [30].

Algoritmi, ki temeljijo na agregaciji, sestavijo vse cenitvene funkcije v eno, na primer z

obteženo vsoto, ali s premikom vseh kriterijev razen enega v množico omejitev. Problem

teh algoritmov je, da najdejo samo eno rešitev, cilj pa je najti množico rešitev. V tem

primeru je potrebno algoritem večkrat zagnati z različnimi utežmi.

Reševanje, temelječe na enem kriteriju pomeni, da v posamezni generaciji optimiziramo le

po enem kriteriju, skozi evolucijo pa se ta kriterij zamenjuje tako, da pridejo na vrsto vsi.

Za problem se izkaže, da rešitev konvergira k optimumu enega kriterija, vendar je slabša

po ostalih.

Za nas so najbolj zanimivi tisti algoritmi, ki temeljijo na dominanci. To pomeni, da izbor

rešitve temelji na relaciji dominiranosti.

2.3.1 Pareto dominanca

Vilfredo Pareto je leta 1896 predstavil koncept dominance, ki ga imenujemo Pareto

dominanca in je temelj za koncept Pareto fronte. Slednji je bil uveden na področju

ekonomije, danes pa je osnova za večkriterijsko optimizacijo [19].

Pareto dominanco lahko definiramo z dvema vektorjema kriterijev. Vektor kriterijev

dominira vektor kriterijev , če je boljši ali enak po vseh komponentah in boljši od njega

v vsaj eni:

, (2.10)

Page 24: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 11

, (2.11)

, (2.12)

kjer je y vektor kriterijev, oziroma ciljni vrednosti prvega in drugega vektorja

kriterijev za i-ti kriterij [16].

Sledi tudi, da odločitveni vektor dominira odločitveni vektor

, (2.13)

Množico optimalnih rešitev v prostoru odločitev X označimo z ( X) in jo

imenujemo Pareto množica. Prav tako množico optimalnih rešitev v prostoru ciljev Y

označimo z ( Y) in jo imenujemo Pareto fronta. Pravimo, da je rešitev

Pareto optimalna (ang. Pareto optimal), če ni dominirana od katere druge rešitve,

posledično Pareto optimalne rešitve ne moremo izboljšati, ne da bi jo poslabšali po vsaj

enem kriteriju [2].

Večina problemov ima zvezno oziroma neskončno Pareto fronto, zaradi česar je nemogoče

najti celotno fronto. Zato se v praksi poišče približek oziroma aproksimacija Pareto fronte

[15].

Cilje večkriterijske optimizacije lahko opredelimo kot:

1) Aproksimacija Pareto fronte mora biti, kolikor je mogoče, blizu dejanske Pareto

fronte.

2) Rešitve v aproksimaciji Pareto fronte naj bodo uniformno porazdeljene in

raznolike, da omogočajo širok nabor rešitev glede na končno izbiro pomembnosti

kriterijev.

3) Rešitve v aproksimaciji Pareto fronte naj pokrivajo celotni prostor, tudi ekstreme

posameznih kriterijev.

Page 25: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 12

Razvoj algoritmov, ki za reševanje temeljijo na relaciji dominiranosti, lahko razdelimo v tri

generacije [16].

V algoritme prve generacije štejemo algoritme, ki iščejo rešitve na Pareto fronti, pri tem pa

za cenitev fitnessa zasledimo uporabo:

"ranga dominiranosti" - gleda se, koliko ostalih rešitev dominira trenutno rešitev

"globine dominance" - populacija je razdeljena na več front, globina vsebujoče

fronte določa uspešnost

"štetje dominiranosti" - gleda se, koliko ostalih rešitev je dominiranih s strani

trenutne rešitve

V drugi generaciji algoritmov, temelječih na dominanci, se vpelje koncept niš, to je gostote

ostalih rešitev v okolici, da bi dosegli raznolikost populacije.

S tretjo generacijo se vpelje za našo nadaljnjo delo najzanimivejši koncept - elitizem. Ta je

uporabljen podobno kot v algoritmih enokriterijske optimizacije (poglavje 2.1.2). Da bi

ohranili dobre rezultate, vpeljemo arhiv, ki je sekundarna populacija, kamor shranjujemo

rešitve, ki niso dominirane s strani ostalih rešitev. V kolikor katera izmed rešitev postane

dominirana s strani nove rešitve, jo zamenjamo oziroma odstranimo.

Page 26: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 13

3 PRIMERJAVA EVOLUCIJSKIH ALGORITMOV

V poglavju bodo predstavljeni načini primerjave uspešnosti evolucijskih algoritmov.

Obstajajo številne metode [7], najbolj uveljavljeni pa sta, v enostavnejših primerih

primerjava najboljše ocenjenega posameznika (best eval), v podrobnejših analizah pa se

predvsem uporablja statistični pristop.

Najprej bomo prikazali probleme ocenjevanja evolucijskih algoritmov s statističnim

pristopom, nato pa ogrodje EARS in njegovo metodo ocenjevanja, ki temelji na šahovskem

sistemu Glicko-2.

3.1 No free lunch teorem

Najprej omenimo osnovni problem ocenjevanja evolucijskih algoritmov. Tega opisuje no-

free-lunch teorem (NFL), ki pravi: ko povprečimo iskalne algoritme čez vse testne

probleme, se bodo vsi odrezali enakovredno. Kar pomeni, da če se en algoritem izkaže kot

boljši na enem problemu oziroma je specializiran zanj, se bo pri drugem problemu, za

katerega ni specializiran, izkazal za slabšega [16].

Iz tega lahko zaključimo, da je za pravično ocenjevanje potrebna velika baza raznolikih

problemov. V kolikor problemi niso raznoliki, oziroma so problemi celo izbrani specifično

za določen algoritem, ne moremo objektivno soditi o njegovi sposobnosti.

3.2 Ničelna hipoteza

Statistični pristop za ocenjevanje uspešnosti evolucijskih algoritmov predstavlja metoda

testiranja ničelne hipoteze (ang. null hypothesis). Zanj moramo najprej določiti dve

hipotezi.

Prva, ničelna hipoteza, pravi, da sta za enakovredna algoritma povprečji njunih rešitev

enaki:

, (3.1)

Page 27: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 14

kjer je ničelna hipoteza, povprečje rešitev prvega algoritma in povprečje rešitev

drugega algoritma.

V obratnem primeru, ko je en algoritem znatno boljši od drugega oziroma je eden dosegel

znatno boljše rešitve, velja alternativna hipoteza (alternative hypothesis). Ta pravi, da sta

povprečji rešitev različni:

, (3.2)

Ker obravnavamo več vzorcev, govorimo o statistični metodi, zaradi česar ne moremo reči

s popolno gotovostjo, ali sta algoritma enakovredna (ničelna hipoteza velja) ali je en boljši

od drugega (ničelno hipotezo zavržemo). Zaradi tega sta definirani verjetnosti napake pri

klasifikaciji: napaka tipa 1, da smo ničelno hipotezo po napaki ovrgli, in napaka tipa 2, da

ničelne hipoteze nismo ovrgli, čeprav sta rešitvi znatno različni [6].

3.2.1 Testiranje ničelne hipoteze

Za testiranje ničelne hipoteze obstaja več testov, ki so prilagojeni glede na dane podatke

[9]. Podatki testiranja namreč lahko obsegajo enega ali več algoritmov in prav tako enega

ali več problemov. Nadalje lahko podatke oziroma rezultate razdelimo v kategorije:

Nominalni podatki (dva podatka sta enaka, če sta enako poimenovana, zapis

ni neposredno povezan z merjeno veličino).

Ordinalni podatki (dodatno poznamo vrstni red dogodkov).

Intervalni podatki (enaki intervali na merilu predstavljajo enako velike

razlike).

Podatki o razmerju (razlika med dvema podatkoma je vedno enaka, vendar

večkratnik enega podatka ne pomeni istega večkratnika merjene veličine).

Če teste za preverjanje ničelne hipoteze razdelimo na dva glavna sklopa, imamo

parametrične in neparametrične teste [27]. Ti so namenjeni:

neparametrični testi za nominalne in ordinalne podatke in

parametrični testi za intervalne podatke in podatke o razmerju.

Page 28: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 15

Parametrični testi dodatno postavijo predpostavke o porazdelitvi podatkov in njenih

parametrih, medtem ko neparametrični testi ne postavljajo teh zahtev.

Zato je potrebno za parametrične teste najprej dodatno preveriti:

Neodvisnost podatkov (ang. independence) - En dogodek ne sme spremeniti

verjetnosti drugega.

Normalnost (ang. normality) - Porazdelitev mora slediti normalni oziroma

Gaussovi v povprečju in varianci, kar preverimo s testom Kolmogorov-

Smirnov.

Homoscedastičnost (ang. homoscedasticity) - Vsi vzorci morajo imeti

enako varianco, kar preverimo s testom Levene.

Glede na število primerjanih algoritmov in tip podatkov obstajajo različne rešitve za

primerjavo rezultatov (Tabela 3.1).

Tabela 3.1: Delitev testov za testiranje ničelne hipoteze glede na število vrednotenih algoritmov in tip podatkov.

neparametrični testi parametrični testi

dva algoritma Sing, Wilcoxon signed rank t-test

več algoritmov Friedman, Holm, Hochberg, Rom, ... ANOVA, Tukey, Tamhane

3.2.2 Težave testiranja ničelne hipoteze

Najpogostejša težava pri testiranju ničelne hipoteze je kompleksnost postopka. Zaradi

človeških napak je testiranje pogosto izvedeno nepravilno, zato rezultati niso uporabni,

predvsem pa ne primerljivi. Statistične metode so pogosto nepravilno, ali pa celo niso,

uporabljene. Enako se dogaja tudi v starejših disciplinah, kot je na primer medicina.

Odprava teh napak bi bila draga in mogoča le dolgoročno [14].

Pri implementaciji je največja težava občutljivost na velikost vzorca. Prav tako je rezultat

testiranja skoraj vedno zavržena hipoteza, kar vodi tudi do nesprejemljivih količin napak

tipa 2 [27].

Page 29: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 16

Dodaten problem predstavlja obseg testiranja, saj so potrebni različni testi za različna

števila algoritmov, kakor tudi podatke, kar predstavlja dodatno delo za izvedbo testiranja.

Zato marsikdaj testiranje ni izvedeno v zadostnem obsegu, saj se uporabi manjše število

podatkov za primerjavo, kar pomeni tudi, da testiranj med seboj ne moremo primerjati, saj

ne vključujejo primerljivih podatkov [27].

3.3 Šahovski sistem ocenjevanja

Zaradi obsežnih težav pri statističnem ovrednotenju uspešnosti evolucijskih algoritmov je

bila razvita rešitev, ki temelji na sistemu šahovskega rangiranja. V nadaljevanju so

predstavljeni sistemi, ki so vodili do razvitja sistema Glicko-2, na koncu pa smo predstavili

samo ogrodje EARS, ki je bilo razvito kot rešitev za ocenjevanje evolucijskih algoritmov

in njegovo poenotenje.

3.3.1 Sistem Elo

Okoli leta 1950 je Arpad Elo razvil teorijo, ki je postala temelj sodobnega ocenjevanja na

šahovskih turnirjih. Ta je danes znana kot sistem Elo, ki je namenjen za prikaz uspešnosti

igralca v tekmovalnih igrah šaha. Ocene se gibljejo v območju od 0 do 3000, pri čemer

višja ocena predstavlja večjo uspešnost oziroma večjo verjetnost zmage igralca. Ocena

predstavlja tudi igralno moč igralca - kako dober je igralec. Pri igri šaha se tako

predpostavi, da ima igralec z večjo oceno večjo verjetnost zmage. Večja kot je razlika

vocenah igralcev, večja je verjetnost, da pride do predvidenega izida - da bo igralec z višjo

oceno zmagal [12]. Zato sistem Elo uvrščamo med verjetnostne metode (ang. probabilistic

methods). Je prvi predstavnik verjetnostnih metod, ki se uporablja za rangiranje

tekmovalcev [11].

Temeljna predpostavka sistema Elo je, da ima vsak igralec trenutno igralno moč, iz katere

lahko napovedujemo rezultat igre. To napoved definiramo kot:

, (3.3)

Page 30: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 17

kjer je igralna moč igralca A, igralna moč igralca B in E pričakovan rezultat igre, ki

je v primeru zmage igralca A enak 1, v primeru izenačenja enak 1/2 in v primeru zmage

igralca B pa je enak 0 [12].

Po igri se posodobita oceni igralnih moči obeh igralcev. Ta posodobitev se vedno izvede z

uporabo igralčeve ocene pred turnirjem, kar omogoča hitro posodobitev, saj se ne

preračunava celotna igralna zgodovina. Končna ocena igralca na koncu turnirja predstavlja

predvidevano igralno moč igralca, ki je vstopil na turnir z določeno (prejšnjo) oceno. Ta

končna posodobitev je predstavljena kot:

, (3.4)

kjer je ocena igralca po turnirju, ocena igralca pred turnirjem, S rezultat igralca

na turnirju, predviden rezultat igralca, izračunan glede na predturnirske ocene igralca

in ostalih igralcev na turnirju, in K faktor slabljenja, ki določa kako močno vpliva ocena

turnirja na igralčevo skupno oceno [12].

Sistem Elo so v prilagojenih oblikah prevzele tudi organizacije za druge športne discipline,

na primer društvo za namizni tenis v ZDA (ang. United States Table Tennis Association).

Kljub temu so še danes marsikje v uporabi sistemi, ki ne temeljijo na verjetnosti. Primer

tega je sistem, ki ga uporablja Ameriška zveza za bridge ACBL (ang. American Contact

Bridge), ki dodeljuje točke za dobro zmogljivost. Slabost tega sistema je, da igralci le

dobivajo točke. Posledično točke bolj prikazujejo frekvenco igranja kakor dejansko

kvaliteto igralca. Dodeljevanje točk je tudi problematično, saj za razliko od sistema Elo,

sega razpon od 1 točke na začetniških turnirjih do 750 na višjih nivojih [12].

Vseeno ima sistem Elo številne slabosti. Prva slabost je določitev parametra K, ki vpliva na

hitrost spreminjanja ocene igralca. Glavna slabost sistema pa je nezanesljivo ocenjevanje.

Možno je namreč, da zmagovalni igralec dobi točke, igralec, ki je izgubil igro, pa pridobi

točke [27]. Prav tako je težava pri igrah, kjer imata igralca enako oceno, vendar imata

različne igralne navade. En igralec lahko pogosto igra, medtem ko drugi ni igral že več let,

zato je ocenitev nezanesljiva [11].

Page 31: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 18

3.3.2 Sistem Glicko

Leta 1995 je Mark E. Glickman zasnoval sistem Glicko, ki je odpravil glavne

pomanjkljivosti do takrat uveljavljenega sistema Elo [11].

Sistem uporablja oceno igralne moči igralca tako kot sistem Elo, sam pa dodaja še dodatno

spremenljivko. Ta predstavlja možno odstopanje dejanske ocene, oziroma nezanesljivost

prve ocene. V matematični terminologiji jo predstavlja standardni odklon. Visoka vrednost

pri odstopanju ocene nakazuje na novega igralca ali igralca, ki ne igra pogosto. Nizka

vrednost nakazuje na igralca, ki se pogosto udeležuje turnirjev, zaradi česar lahko precej

zanesljivo napovemo njegovo igralno moč. V primeru novih oziroma neocenjenih igralcev

pa sta predlagani začetni vrednosti 1500 za oceno in 350 za odstopanje [11].

Cilj sistema je prikazati interval, v katerem bi se nahajala točna ocena igralne moči s 95 %

zanesljivostjo. Ta interval je po definiciji standardnega odklona definiran kot

[11].

Po sistemu Glicko se posodobitev ocene igralca izvede v več korakih. Prvi korak je izračun

odstopanja ocene na začetku ocenjevalnega intervala:

, (3.5)

kjer je RD odstopanje ocene (ang. rating deviation) oziroma odstopanje ocene,

odstopanje ocene pred turnirjem, t je število posodobitvenih intervalov odstopanja ocene

od zadnje posodobitve igralčevega odstopanja, c je konstanta, ki upravlja rast odstopanja

skozi čas, 350 pa predstavlja predlagano začetno odstopanje za nove igralce [11].

Naslednji korak je posodobitev individualnih ocen igralcev:

, (3.6)

Page 32: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 19

, (3.7)

, (3.8)

, (3.9)

, (3.10)

,(3.11)

kjer je r ocena tekmovalca pred turnirjem, r' posodobljena ocena igralca po turnirju, RD

odstopanje ocene tekmovalca pred turnirjem, RD' odstopanje ocene tekmovalca po turnirju,

m število igralcev v turnirju, izid igre proti posameznemu igralcu, ki je pri zmagi enak 1,

1/2, pri izenačenju in 0 pri porazu, pri čemer se več iger proti istemu igralcu upošteva kot

igre proti različnim igralcem z enako oceno r in odstopanjem RD.

V praksi nastopi težava v primeru rednih igralcev, ki se jim odstopanje zmanjša do te mere,

da se jim ocena ne spreminja dovolj, čeprav se njihova dejanska sposobnost izboljšuje. Kot

rešitev za ta problem je avtor, M. Glickman, predlagal, da se postavi tudi spodnja meja za

odstopanja, na primer 30.

3.3.3 Sistem Glicko-2

Glickman je leta 2012 predstavil izboljšano verzijo svojega sistema Glicko in ga

poimenoval Glicko-2 [10].

Enako kot njegov predhodnik, sistem poroča interval, v katerem se nahaja resnična ocena

igralca s 95 % verjetnostjo. Avtor pravi, da je sistem najbolj zanesljiv, če ima igralec 10-15

iger v posameznem obdobju ocenjevanja, trajanje posameznega obdobja pa ocenjuje kot

nepomembno [10].

Glavna novost tega sistema je dodatna spremenljivka za volatilnost igralca (ang. volatility)

. Ta predstavlja merilo nihanja v igralčevi oceni. Visoka vrednost nakazuje na napačno

predstavo ocene, na primer, ko igralec po obdobju stabilne ocene začne izkazovati izjemne

uspehe oziroma se njegova dejanska ocena razlikuje od te, ki jo daje sistem. Spreminjanje

volatilnosti skozi čas upravlja konstanta sistema . To je potrebno nastaviti pred

Page 33: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 20

postavitvijo sistema. Avtor predlaga vrednosti med 0,3 in 1,2, vendar tudi sam pravi, da je

potrebno testirati, katera vrednost prinese največjo natančnost [10].

Dodatno sistem spremeni merilo ocenjevanja. Kljub temu je možno z lahkoto pretvoriti

ocene iz starega sistema v novega in obratno [10].

Za začetek je potrebno določiti vse tri spremenljivke za igralca. Te lahko izvirajo iz

sistema Glicko, tekmovalčeve najnovejše ocene, ki ji dodamo začetno volatilnost

(priporočeno 0,06), ali pa po avtorjevih besedah v primeru novega sistema ali novega,

neocenjenega igralca, ostaja priporočilo za začetno oceno 1500, odstopanje ocene 350 in

dodaja priporočilo za začetno volatilnost 0,06.

Ko imamo te vrednosti, lahko pretvorimo oceno iz merila sistema Glicko v merilo sistema

Glicko-2:

, (3.12)

, (3.13)

kjer je ocena po sistemu Glicko-2, r ocena po sistemu Glicko, odstopanje po sistemu

Glicko-2 in RD odstopanje po sistemu Glicko.

Za posodabljanje ocene igralcev na koncu tekmovalnega intervala se enačbe prav tako

spremenijo. Naprej je potreben izračun variance:

, (3.14)

, (3.15)

, (3.16)

kjer je v spremenljivka, ki predvideva varianco igralca le s stališča odigranih iger, m pa

število nasprotnih igralcev.

Page 34: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 21

Nato se izračuna sprememba, ki predvideva spremembo oziroma izboljšavo predhodne

ocene, glede na rezultate odigranih iger:

, (3.17)

kjer je predvidena sprememba ocene in izid igre proti igralcu j, ki je lahko 1 za zmago,

1/2 za neodločeno, 0 za poraz.

Zadnji korak je izračun nove volatilnosti igralca. Postopek je iterativen, vendar moramo

najprej definirati:

, (3.18)

, (3.19)

Nadalje izvedemo algoritem za izračun volatilnosti, vendar je potrebno najprej postaviti

vrednost za , ki se uporablja za minimalno dovoljeno razliko. V literaturi [10] je

predlagana vrednost 0,000001 kot dovolj nizka vrednost:

1. Inicializiramo vrednosti:

I.

II. , then:

III.

2.

Page 35: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 22

3.

a)

b)

c)

d)

4.

(3.20)

kjer je nova vrednost igralčeve volatilnosti. [10]

3.3.4 CRS4EA

Skozi leta so se uporabljala različna merila za ocenjevanje uspešnosti optimizacije

evolucijskih algoritmov. Za optimizacije z enim kriterijem se še danes najpogosteje

uporablja kar primerjava končnih vrednosti po določenem številu ovrednotenj.

Pri tem pogosto pride do težav zaradi nestandardiziranega testiranja. Za primerjavo se

morajo vedno uporabiti najnovejši algoritmi, s katerimi se optimizirajo različne testne

funkcije. Pri tem sta pogosta dve težavi. Prva je ta, da so tudi v objavljenih člankih pogosto

algoritmi nezadostno opisani, da bi omogočili implementacijo, izvorna koda pa skoraj

nikoli ni dosegljiva. Druga težava pa je, da skoraj vsak članek testira lastne testne funkcije,

zaradi česar tudi izvedenih testov ne moremo primerjati.

Prav tako se zelo pogosto objavljajo neresnični rezultati, do česar običajno pride zaradi

človeške napake [5]. Te so lahko različne, na primer pri izvornem algoritmu umetne

kolonije čebel (ang. artificial bee colony - ABC) je primerjanje izvedeno nepravično, saj se

lahko zgodi, da zaradi različnih implementacij en algoritem dobi prednost, ker se ne

upoštevajo vrednotenja v delu algoritma [17].

Pri večkriterijski optimizaciji pride do težav s takšno primerjavo. Algoritmi namreč vrnejo

množico rešitev, kjer ima vsaka rešitev svojo vrednost za vsak kriterij.

Zaradi potrebe po nepristranskem in natančnem ocenjevanju je nastala potreba po novem

sistemu. Kot zanimiva alternativa za klasične statistične metode so se izkazali statistični

sistemi za ocenjevanje igralcev v šahu. Na tem principu je bil leta 2014 predstavljen nov

Page 36: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 23

pristop pod imenom CRS4EA (Chess Rating System for Evolutionary Algorithms), ki je

zasnovan na sistemu Glicko-2. Pristop je predstavnik modela Terry-Bradley za parno

primerjavo. Sistem je ne le primerljiv z metodo testiranja ničelne hipoteze, ampak je tudi

bolj robusten in prinaša dodatne prednosti. Zaradi tega je njegov cilj ne le uporaba pri

raziskavah, pač pa tudi pri pregledovanju znanstvenih objav [27]. Podrobneje je

implementacija sistema opisana v poglavju 4.1.

Page 37: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 24

4 OGRODJE EARS

Ogrodje EARS (Evolutionary Algorithm Rating System) implementira statistični pristop

CRS4EA (Chess Rating System for Evolutionary Algorithms) in je odprtokodno ogrodje

za razvoj in ovrednotenje evolucijskih algoritmov. Razvito je bilo z Javo 1.6, s ciljem

omogočiti enostavno in pravično primerjanje evolucijskih algoritmov. V ta namen ogrodje

vsebuje številne evolucijske algoritme in testne funkcije. Ogrodje je prosto dostopno na

GitHub [4].

4.1 Implementacija

EARS temelji na šahovskem sistemu ocenjevanja Glicko-2. Posamezni koraki ocenjevanja

so [27]:

1) kontekst in načrtovanje,

2) izvedba ovrednotenja,

3) analiza in predstavitev rezultatov,

4) interpretacija rezultatov.

4.1.1 Kontekst in načrtovanje

Za korak načrtovanja je potrebno izbrati različne algoritme, ki se bodo pomerili nad

podanimi testnimi problemi. V praksi pogosta težava je namerna ali ponesrečena izbira

algoritmov, ki izkažejo občutno slabše delovanje nad izbranimi problemi, kar pa je težko

preveriti oziroma dokazati. V sistemu EARS ima vsak algoritem stabilno številčno oceno

za določen problem, zaradi česar je težko upravičiti uporabo slabših algoritmov.

Prav tako je potrebno definirati vse parametre testiranja, ki bi lahko vplivali na rezultate. Ti

so na primer velikost problema, nadzorni parametri za algoritem, pri klasičnem primerjanju

pa so dodatni vplivi okolja, na primer strojna oprema, sposobnost programerja in podobno.

Korak načrtovanja v sistemu EARS je sicer dokaj podoben klasičnemu primerjanju, vendar

ima dodatni poudarek na teh parametrih z namenom, da bi se preprečile nepravične

primerjave:

Page 38: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 25

1) Testi so izvedeni nad enakim naborom testnih funkcij, zaradi česar se algoritmi ne

morejo izogniti zanje zahtevnim problemom.

2) Algoritmi so zapisani v enakem programskem jeziku, zaradi česar je vpliv okolja

minimiziran.

3) Vsi algoritmi imajo enake nadzorovane zaustavitvene pogoje, ne more priti do

napake, da bi se nekatera ovrednotenja spustila ali bi kateri algoritem imel

drugačne zaustavitvene pogoje, na primer število generacij namesto število

ovrednotenj.

4) Vsi algoritmi so inicializirani z enakim semenom za generiranje naključnih števil.

5) Vsi testi so izvedeni znotraj ogrodja, kar pomeni, da se odstrani tudi vpliv strojne

opreme oziroma okolja.

Zaradi vgradnje sistema za ocenjevanje CRS4EA v samo ogrodje so se preprečile tudi

morebitne napake pri implementaciji ocenjevanja.

4.1.2 Izvedba ovrednotenja algoritma

Ovrednotenje se v sistemu CRS4EA izvede v obliki turnirja (Slika 4.1). Recimo, da ta

turnir vsebuje k algoritmov , N problemov in se izvede z n neodvisnimi

zagoni. Vsak algoritem vrne najboljšo rešitev za vsak problem v vsakem zagonu (k * N * n

rešitev). Te se nato primerjajo med seboj. Ena igra oziroma primerjava rezultatov je

definirana kot , kjer predstavljata indeksa primerjanih

algoritmov, predstavlja indeks problema oziroma in

predstavlja zaporedno številko neodvisnega zagona. Primerjava se izvaja parno med

rešitvama in algoritmov in in problema skozi m zagonov, pri čemer zmaga

algoritem, čigar rešitev je prišla bliže optimalni rešitvi problema, če pa je razlika med

rešitvama obeh algoritmov manjša od predhodno določene vrednosti , je rezultat

neodločen. Turnir oziroma primerjanje tako vsebuje tekmovalnih

iger oziroma primerjav, pri čemer zaporedje iger ne vpliva na končni rezultat. Ocene,

njihova odstopanja in volatilnosti algoritmov so posodobljene na koncu vsakega turnirja,

kakor je predlagano v sistemu Glicko-2, rezultati so pa shranjeni za uporabo v naslednjem

turnirju in so prikazani v obliki lestvice.

Page 39: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 26

Slika 4.1: Potek primerjanja v ogrodju EARS [27].

Za razvoj novega algoritma mora razred tega dedovati od abstraktnega razreda Algorithm,

s čimer mora implementirati metodo run(BenchmarkProblem). Za zagon primerjanja

morajo biti parametri za turnir (število neodvisnih ponovitev, merilo za neodločeno),

kakor tudi algoritmi, podani pred začetkom primerjanja.

4.1.3 Analiza in predstavitev rezultatov

Na koncu izvajanja so rezultati sistema CRS4EA, ocena, odstopanje, volatilnost in interval

ocene predstavljeni v obliki lestvice, kjer se algoritmi vrstijo od najboljšega do

najslabšega. Vsak algoritem ima oceno R, ki je predstavitev njegove končne "igralne moči"

po vseh odigranih turnirjih. Pri tem ni potrebno, da vsak algoritem tekmuje v vsakem

turnirju, kjer pa tekmuje, mora rešiti vse testne funkcije, ki jih turnir vsebuje. Vrednosti za

odstopanje RD in volatilnost sta podani kakor v Glicko-2. Razlika je v definiciji intervala

ocene RI, saj za razliko od predloga v sistemu Glicko-2, ki ga definira z 95 % natančnostjo,

Page 40: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 27

CRS4EA definira 99,7 % natančnost oziroma . Ta sprememba ima za cilj večjo

zanesljivost ocenjevanja.

4.1.4 Interpretacija rezultatov

Interpretacija rezultatov se izvede z uporabo ocen in intervalov ocen. Ocena namreč

prikazuje absolutno moč posameznega algoritma v primerjavi z ostalimi primerjanimi

algoritmi, vendar igra pomembno vlogo tudi interval ocene. V kolikor se intervala ocen

dveh algoritmov ne prekrivata, je jasno, kateri algoritem je boljši, vendar pa obratno ni

nujno res. Intervali se lahko uporabijo za hitro in grobo razumevanje sposobnosti

posameznih algoritmov.

V osnovni verziji algoritma [27] je grafična predstavitev rezultatov možna na dva načina.

Prvi je graf, ki predstavlja večkratno množico ocenjenih intervalov na naravni liniji z

merilom 100 za vse sodelujoče algoritme (Slika 4.2).

Slika 4.2: Intervali, ki 99,7 % zanesljivo vsebujejo resnično oceno [27].

Page 41: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 28

Alternativni način je graf, ustvarjen s pomočjo teorije grafov. Eno vozlišče predstavlja en

algoritem. Dve vozlišči sta povezani, če se njuna intervala ocen ne sekata, kar pomeni, da

sta znatno različna (Slika 4.3).

Slika 4.3: Znatne razlike, zaznane s CRS4EA, interval zanesljivosti ocene 99,7 % [27].

Obe predstavitvi omogočata enostavno interpretacijo in analizo rezultatov brez nevarnosti

za nerazumevanje ali napačno interpretacijo.

4.2 Podpora za algoritme večkriterijske optimizacije

Leta 2015 je bil EARS razširjen s podporo za evolucijske algoritme večkriterijske

optimizacije [21].

Pri enokriterijskih problemih je ovrednotenje rešitev dokaj preprosto. Primerjata se dve

vrednosti, ki sta nedvoumno primerljivi, pri čemer je tudi ciljna vrednost (optimum

problema) znana. Pri rešitvah večkriterijskih algoritmov ni tako. Njihov cilj je namreč, da

Page 42: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 29

najdejo množico rešitev, ki bi čim bolje predstavljala Pareto optimalno fronto oziroma njen

približek (aproksimacijo). Za njihovo ovrednotenja so bile zasnovane številne metrike,

znane kot indikatorji [21].

Indikatorji za merjenje uspešnosti evolucijskih algoritmov večkriterijske optimizacije (ang.

multi objective evolutionary algorithms - MOEA) nimajo poenotenega vrednotenja.

Odražajo lahko namreč kardinalno vrednost, povezano s številom točk rešitve, realno

vrednostjo, ki odraža oddaljenost od optimalne Pareto fronte, ali drugo vrednost ali niz

vrednosti, ki odražajo kvaliteto generirane Pareto fronte (raznolikost točk, uniformnost

točk, itd.). Zaradi različnih meril metrik je potrebno te vrednosti normalizirati oziroma

skalirati. Za potrebe indikatorjev je za vsak implementirani večkriterijski problem dodana

datoteka, ki hrani optimalno Pareto fronto [21].

Metode za ocenjevanje rešitev večkriterijske optimizacije se delijo v štiri skupine glede na

to, kdaj ocenjevalec artikulira preference za različne kriterije [2, 21]:

artikulacija brez informacije o preferencah,

predčasna artikulacija informacije o preferencah,

progresivna artikulacija informacije o preferencah in

kasnejša artikulacija informacije o preferencah.

4.2.1 Kasnejša artikulacija informacije o preferencah

Implementirana nadgradnja je bila osredotočena na metode iz zadnje skupine, metode s

kasnejšo artikulacijo informacije o preferencah. Te metode ne zahtevajo predhodne

informacije o preferencah odločevalca. Nekatere metode iz te skupine predstavljajo

najstarejše predlagane pristope za ocenjevanje večkriterijske optimizacije. Veliko teh

metod najprej preišče prostor za nabor Pareto optimalnih rešitev in jih nato predloži

ocenjevalcu. Prednost teh je neodvisnost od preferenc odločevalca. Analiza se mora izvesti

le enkrat, razen če bi se spremenil opis problema. Slabost teh metod je predvsem velika

časovna zahtevnost, vendar se ta zmanjša z vnaprej shranjeno optimalno Pareto fronto.

Pri metodah kasnejše artikulacije informacije o preferencah si želimo čim več Pareto

optimalnih rešitev (Slika 4.4). To pomeni, da je zaželena fronta, katere rešitve so čim bližje

optimalni fronti, in da so cilj rešitve, ki so čim bolj enakomerno porazdeljene po prostoru

Page 43: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 30

kriterijev, zaradi česar lahko kasneje z informacijo o pomembnosti kriterijev izberemo

optimalno rešitev.

Slika 4.4: Nasprotujoča cilja po metodah kasnejše artikulacije preferenc [23].

4.2.2 Generacijska razdalja

Leta 2000 sta Van Veldhuizen in Lamont predstavila metriko generacijske razdalje (ang.

Generational Distance - GD). Z njo se meri bližina oziroma oddaljenost aproksimacije

Pareto fronte do optimalne Pareto fronte. Ta je definirana kot:

, (4.1)

kjer je GD ocena metrike generacijske razdalje, n število nedominiranih vektorjev, ki jih je

našel algoritem, in evklidska razdalja (merjena v prostoru kriterijev) med vsakim

najdenim članom in najbližjim članom v optimalni fronti.

Page 44: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 31

Iz tega sledi, da je vrednost metrike neposredna razdalja od optimalne fronte. Nizke

vrednosti predstavljajo bližino, velike vrednosti pa oddaljenost [21].

4.2.3 Obrnjena generacijska razdalja

Obrnjena generacijska razdalja (ang. inverted generational distance - IGD) meri povprečno

razdaljo Pareto optimalne fronte do najdenega niza nedominiranih vektorjev. Tako se za

vsakega člana Pareto optimalne fronte izmeri najkrajša razdalja do najdenega niza. Na

koncu se izračuna povprečje teh razdalj [21].

4.2.4 Indikator HV

V zadnjih letih je postala pogosto uporabljena metrika HV (ang. hypervolume) oziroma S-

metrika, ki jo je leta 2011 predstavil Lucas Bradstreet v doktorski disertaciji [1].

Predstavlja jo n-dimenzionalni prostor, ki ga napenja niz vektorjev aproksimacije Pareto

fronte. Poenostavljeno, metrika izmeri dominirani prostor, ki ga predstavlja rešitev. Zaradi

tega enostavno poenoti obe merili, bližino optimalni Pareto fronti in razpršenost rešitve, in

je bila prva enočlenska rešitev, ki je odkrila, ali je en niz slabši od drugega. Prav tako se

vrednost indikatorja maksimizira le, če niz vsebuje vse točke optimalne fronte [21].

Z enačbo se hipervolumen opiše kot [2]:

, (4.2)

kjer je dominirani prostor s strani vektorja in volumen, ugotovljen s

strani algoritma.

Page 45: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 32

Slika 4.5: Primer izračuna hipervolumna rešitve večkriterijske optimizacije [1].

Za izračun po metriki HV je potrebna referenčna točka, v prikazanem primeru (Slika 4.5),

izhodiščna točka, ki je pomembna tudi za samo skaliranje rezultata. Za hipervolumen

predstavljajo večje vrednosti boljšo oceno.

4.2.5 -indikator

-indikator predstavlja faktor, za koliko je aproksimacija Pareto fronte s strani algoritma

slabša oziroma oddaljena od optimalne fronte glede na vse kriterije [21]. Poenostavljeno,

za koliko bi bilo potrebno translirati Pareto fronto, da bi pokrila oziroma dominirala

celoten dominirani prostor s strani optimalne Pareto fronte, oziroma da je vsaka točka

optimalne Pareto fronte dominirana s strani vsaj ene točke aproksimirane Pareto fronte [2].

, (4.3)

kjer je sta A in B dominirana prostora s strani fronte algoritma in optimalne fronte,

je definiran kot minimum tako, da je katerakoli rešitev -dominirana z vsaj eno

rešitvijo .

Ko je , so vse rešitve v nizu B dominirane z rešitvijo A. Če je

, potem predstavljata A in B enako aproksimacijo Pareto fronte. V primeru, da

je in , pomeni, da obe aproksimaciji vsebujeta točke, ki niso

dominirane z drugim nizom, oziroma sta niza neprimerljiva [21].

Page 46: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 33

5 PREGLED OBSTOJEČIH METOD VIZUALIZACIJE

Po več kot treh desetletjih se raziskovalci še vedno soočajo z odprtimi vprašanji in s

težavami, kot so nadzor parametrov, ustrezna izbira operatorjev, preprečevanje prezgodnje

konvergence in podobno. Mnoge od teh težav lahko pripišemo slabemu vpogledu v sam

potek evolucijskega procesa. Razumevanje izvajanja evolucijskih algoritmov je lahko zelo

težko, saj je potrebno upoštevati vse možne interakcije tekom evolucijskega procesa, od

selekcije, tvorbe novih posameznikov, do vseh ostalih splošnih konceptov evolucijskih

algoritmov. Že preprosti algoritmi z majhnimi populacijami lahko končajo v obliki

kompleksne evolucijske dinamike [29], vendar brez bolj zapletenih postopkov ne moremo

dobiti več kakor informacijo o konvergenci [20].

Vizualizacija informacij pridobiva na raziskovalni pozornosti, vendar kljub temu ostaja

pretežno odprt problem. Njeni zagovorniki so mnenja, da bi informacije lažje razumeli, če

bi abstraktne pojme preslikali na konkretne, fizične predstavitve. Človeško dojemanje igra

pomembno vlogo pri razpoznavanju skritih informacij in vzorcev [29].

Vizualizacija informacij je prepoznana kot dober način za razumevanje mehanizmov

evolucijskih algoritmov, vendar je splošno sprejeto, da je najpomembneje doseči dober

vidik oziroma točko pogleda [29]. Za namene vizualizacije obstaja več metod glede na tipe

predstavljenih podatkov. Te dajejo takojšnji vpogled v napredek evolucijskih algoritmov in

stanje posameznikov trenutne populacije [20].

V članku avtorja H. Pohlheim [20] so predstavljene osnovne oziroma, kot jih avtor

poimenuje, "standardne" metode vizualizacije za proces evolucije in dodatna metoda za

vizualizacijo večdimenzionalnih podatkov, imenovana večdimenzionalno-skaliranje (ang.

multidimensional scaling). Cilj vseh je poenostaviti razumevanje evolucijskega procesa.

Med preprostejše metode sodijo tri skupine metod, glede na časovni interval, ki ga

prikazujejo:

Prvo skupino sestavljajo metode, ki prikazujejo podatke skozi več generacij, zaradi

česar prikazujejo sliko napredka skozi potek celotnega evolucijskega algoritma.

Drugo skupino zastopajo metode, ki prikazujejo podatke, generirane v posamezni

generaciji, oziroma ponazarjajo stanje evolucijskega algoritma v določenem

trenutku.

Page 47: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 34

V zadnjo skupino spadajo tehnike, ki prikazujejo več zagonov in se uporabljajo

primarno za primerjavo večjega števila evolucijskih algoritmov.

5.1 Potek evolucije algoritma

Prikaz podatkov tekom celotnega evolucijskega procesa lahko dodatno razdelimo na

prikazovanje konvergence uspešnosti algoritma (ang. objective value) oziroma prikaz

najboljših predstavnikov v posameznih generacijah, prikaz razmerja med najboljšimi in

najslabšimi predstavniki posameznih generacij ter prikazovanje fitnessov oziroma

uspešnosti vseh posameznikov v vseh generacijah [20].

Metoda najboljšega fitnessa, znana tudi kot metoda konvergenčnega diagrama (Slika 5.1),

je zdaleč najbolj pogosto uporabljena. Ta, če upoštevamo merilo prikaza, daje dober vtis o

poteku konvergence algoritma [20].

Slika 5.1: Graf optimalnih posameznikov v posameznih generacijah [20].

Veliko objavljenih člankov dodatno vključuje še prikaz povprečnih in najslabših vrednosti

tekom generacij. Slabost tega pristopa je v tem, da vključevanje najslabših posameznikov

Page 48: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 35

hitro pokvari skaliranje grafa. Več informacij je razvidnih, če namesto tega prikažemo

povprečje z razponom vrednosti znotraj generacije, na primer standardnim odklonom

(Slika 5.2). Ta način se je izkazal za zelo ustreznega pri reševanju številnih realnih

problemov s pomočjo evolucijskih algoritmov [20].

Slika 5.2: Graf optimuma z dodanim povprečjem in standardnim odklonom v posameznih generacijah [20].

Dodatno se lahko uporabi regionalni model, znan kot migracijski model (Slika 5.3). Z njim

lahko dodatno prikažemo optimalne vrednosti v posameznih podpopulacijah. S tem je

možno prikazati razlike v primeru uporabe različnih strategij v podpulacijah tekom

evolucije [20].

Page 49: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 36

Slika 5.3: Graf migracijskega/regionalnega modela. Vsaka krivulja prikazuje svojo podpopulacijo.

Pod metode za prikaz poteka evolucijskega algoritma lahko dodamo tudi prikaz lastnosti

optimalnih posameznikov oziroma napredek odločitvenih vektorjev. S tem lahko

uporabnik vidi, kako se spreminjajo vrednosti posameznih vhodov in katere kombinacije

so uspešne. Za takšen prikaz obstajajo različni pristopi, od dvodimenzionalnih grafov za

posamezni vhod, vpeljave tretje dimenzije za prikaz vseh spremenljivk v enem grafu ter

barvnih grafov (Slika 5.4). Pri izbiri pristopa je pomembno število vhodov, saj ti

neposredno vplivajo na preglednost. Kljub večjemu številu spremenljivk je možno

relativno preprosto dobiti predstavo o porazdelitvi in spreminjanju odločitvenih vektorjev

skozi generacije [20].

Page 50: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 37

Slika 5.4: Prikazi lastnosti optimalnih posameznikov tekom evolucijskega procesa.

V primeru razlik v intervalih je možno prilagoditi skaliranje posameznih spremenljivk

glede na njihovo domeno, s čimer dosežemo relativne vrednosti za posamezno

spremenljivko [20].

Prejšnji tipi vizualizacije so obravnavali le optimalne posameznike v posamezni generaciji.

Kot zadnji tip vizualizacije v tem sklopu prikažimo še graf za fitness vrednosti vseh

posameznikov. Za pregled nad celotno populacijo lahko prikažemo vse posameznike vseh

generacij. Za primer vzemimo dva možna prikaza (Slika 5.5). Dvodimenzionalni prikaz

(levo), kjer s točkami označimo fitness vrednosti vseh posameznikov, prikaže porazdelitev

uspešnosti posameznikov skozi generacije. Nekoliko nadgrajen graf dodatno podaja

informacijo o posameznikovi poziciji znotraj generacije. Ta je lahko uporaben v primeru

različnih strategij oziroma zaporedja strategij v eni generaciji oziroma v primeru uporabe

regionalnega (sredina) ali lokalnega modela (desno) [20].

Page 51: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 38

Slika 5.5: Prikaz uspešnosti vseh posameznikov tekom evolucijskega procesa: Osnovni prikaz (levo), regionalni

model (sredina), lokalni model(desno) [20].

Pri srednjem grafu lahko razločno vidimo spreminjanje velikosti posameznih populacij

skozi generacije.

V zadnjih letih se namesto generacij za delitev poteka evolucije uporablja število

ovrednotenj. S tem je mogoča lažja primerjava med algoritmi, saj pri primerjavi za kriterij

zaustavitve najpogosteje uporabimo enako število ovrednotenj, velikosti generacij so pa

različne. Prav tako lahko s številom ovrednotenj graf razdelimo na posamezne generacije,

saj je v večini primerov število generacij velikost populacije enako številu vseh

ovrednotenj.

5.2 Stanje v trenutku evolucije

Pogosto je količina informacij čez vse generacije prevelika za skupno obdelavo. V tem

primeru je možen prikaz posameznih stanj tekom evolucije, na primer prikaz stanja

posameznih generacij. Podobno kot v metodah prikaza celotnega postopka evolucije se

uporablja prikaz fitnessov vseh posameznikov in prikaz lastnosti vseh posameznikov.

Dodatno možnost pa predstavljata zemljevida razdalj odločitev (ang. distance map of

variable values) in ciljev (ang. distance map of objective values) [20].

Za prikaz fitness vrednosti vseh posameznikov v populaciji predstavimo tri možnosti

(Slika 5.6). Prva (levo) je klasični dvodimenzionalni graf, ki prikazuje fitness vrednosti na

eni osi, na drugi pa zaporedje posameznika. Na sredini je prikazan primer polnjenega

stopničastega grafa, s čimer se dodatno poudarijo razlike med sosednjimi posamezniki. Pri

Page 52: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 39

obeh grafih so posamezniki razdeljeni na podpopulacije s črtkanimi črtami. Zadnji graf

(desno) je slikovni prikaz dvodimenzionalnega lokalnega modela. Z njim prikažemo

dvodimenzionalno soseščino posameznikov, kadar je uporabljen dvodimenzionalni lokalni

model [20].

Slika 5.6: Prikaz ciljnih vrednosti vseh posameznikov ene generacije: točkovni graf (levo), stopničast graf

(sredina) in barvni graf za dvodimenzionalni lokalni model (desno) [20].

Sekvenca takšnih diagramov, na primer graf za vsako generacijo, prikaže difuzijo dobrih

ciljnih vrednosti skozi potek optimizacije.

Prikaz lastnosti oziroma spremenljivk znotraj populacije ene generacije daje vtis o

porazdelitvi posameznikov, njihovi medsebojni oddaljenosti oziroma nasičenosti v

prostoru odločitev. Primer so trije grafi (Slika 5.7), vsak prikazuje svoje stanje oziroma

generacijo. Tako lahko vidimo porazdelitev odločitvenih vrednosti na začetku

evolucijskega postopka (levo), med (sredina) in na koncu optimizacije (desno) [20]. Pri

tem primeru obstaja nevarnost napačnega razumevanja. Vrednosti posameznih

odločitvenih spremenljivk so povezane s črto, čeprav med njimi ni nobene povezave,

zaradi česar bi lahko napačno sklepali o medsebojnih sklepal o medsebojnih odvisnostih

odločitvenih spremenljivk.

Page 53: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 40

Slika 5.7: Sekvenca prikazov porazdelitev odločitvenih spremenljivk po generacijah: začetek optimizacije (levo),

med optimizacijo (sredina) in na koncu (desno) [20].

Do sedaj so bili vsi prikazani podatki podani s strani evolucijskega algoritma. Naslednji,

zadnji tip grafov v sklopu prikazovanja posamezne populacije, razdalja posameznikov pa

prikazuje izpeljani tip podatkov. Za razdaljo med posamezniki se splošno uporablja

evklidska razdalja [20].

Če med posamezniki ni nobene sosedske relacije (globalni ali regionalni model), se lahko

razdalja prikaže s pomočjo dvodimenzionalnega stopničastega grafa (Slika 5.8 - levo), saj

ta neposredno prikaže porazdelitev posameznikov [20].

Slika 5.8: Razdalje med posamezniki v generaciji: globalni/regionalni model (levo), enodimenzionalni lokalni

model (sredina), dvodimenzionalni lokalni model (desno) [20].

Kadar je uporabljen lokalni model, je definirana relacija soseščine, zato je potrebno

prikazati posameznike v soseščini izbranega posameznika. V enodimenzionalni soseščini

Page 54: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 41

ima vsak posameznik dva soseda (Slika 5.8 - sredina), v dvodimenzionalnem lokalnem

modelu pa štiri sosede (Slika 5.8 - desno).

Vsi grafi, ki prikazujejo informacije posamezne generacije, morajo biti uporabljeni v

sekvenci, ki prikazuje vsaj ključne korake (na primer vmesno stanje in zaključek).

Animacija teh sekvenc lahko razkrije dodatne informacije ali jih prikaže v dopolnjeni

obliki in nudi dodatni vpogled v podani problem.

5.3 Večdimenzionalna predstavitev

Večina obstoječih metod za vizualizacijo je omejena na prikaz ene oziroma dveh

spremenljivk. Razlog za to je omejitev človeškega dojemanja na tri dimenzije. Za razširitev

preko te meje se lahko poslužimo dodatnih možnosti: na primer uporabe barv in časa, s

čimer je možno prikazati do pet dimenzij. Nobena rešitev se ni splošno uveljavila, saj bi

potrebovali obsežno učenje in prakso za smiselno uporabo. Če bi želeli vizualizirati

problem z več kot petimi dimenzijami, bi potrebovali novo rešitev [20]. Ker imamo pri

večkriterijski optimizaciji opravka z vektorji v večdimenzionalnem prostoru, je zelo

pomembno, da jih znamo vizualizirati. Večina metod za vizualizacijo večdimenzionalnih

podatkov izvira iz drugih področij, ki niso prilagojene za prikaz ali sploh za ohranjanje

relacije Pareto dominiranosti.

Za vizualizacijo večdimenzionalnih podatkov je potrebna metoda, ki transformira podatke

v manj dimenzij, po možnosti v dve ali tri. S to transformacijo je potrebno pridobiti sliko,

kjer so v manj dimenzionalnem prostoru razlike (ang. dissimilarities) med podatki enako

očitne kakor v večdimenzionalnem [20]. Takšne metode se imenujejo "večdimenzionalno

skaliranje" (ang. multidimensional scaling) [3], primer je predstavljen tudi v članku H.

Pohlheim [20].

Za merjenje raznolikosti je uporabljeno merjenje razdalj med pari. Te so lahko resnične

razdalje, na primer merjenje evklidske razdalje v več dimenzijah. Kadar ta ne pride v

poštev, na primer zaradi raznolikosti meril, se lahko raznolikost definira z uporabo

nadomestne metrike. Ta mora ustrezati trikotniški neenakosti [20]:

Page 55: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 42

, (5.1)

kjer je d razdalja, i, j in k so posamezniki.

V članku je tudi predlagana pretvorba v manj dimenzionalno predstavitev. Zanjo je

potrebno najprej izračunati razdalje med vsemi posamezniki v večdimenzionalnem

prostoru. Nato se išče takšna konfiguracija točk manjdimenzionalne predstavitve, kjer so

razdalje čim bolj podobne razdaljam v večdimenzionalnem prostoru. Ker je v večini

primerov nemogoče najti transformacijo, kjer bodo vse razdalje popolnoma ohranjene, je

potrebna kriterijska funkcija, ki bo ocenjevala ustreznost predstavitve [20]:

, (5.2)

kjer je ocena preslikave (manjša vrednost pomeni manjše spremembe razlik pri

preslikavi), razdalja med posameznikoma i in j v večdimenzionalni predstavitvi in

razdalja med posameznikoma po transformaciji v manj dimenzionalno predstavitev.

Optimalna rešitev minimizira to kriterijsko funkcijo in jo lahko optimiziramo z metodo

gradientnega sestopa, ki ga preprosto izračunamo po enačbi [20]:

, (5.3)

kjer je preslikani posameznik v manjdimenzionalnem prostoru.

Najbolj razširjena metoda večdimenzionalnega skaliranja je preslikava SAMMON [24]. Ta

temelji na Newtonovi metodi, vendar ni najbolj robustna in divergira brez posebnih

interakcij.

Druga metoda je algoritem RPROP [22]. Ta za nadzor koraka uporablja le predznak

gradienta. Uporablja se predvsem v področju nevronskih mrež, saj je namreč nekoliko

počasnejši, vendar daje dosledne rezultate.

Page 56: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 43

Slika 5.9: Rosenbrockova funkcija s tremi dimenzijami. Optimalne vrednosti, modri pas, so razlog za njeno drugo

ime "banana function".

Kot primera večdimenzionalnega skaliranja bomo prikazali rešitve dveh problemov.

Prvi je Rosenbrockova funkcija (Slika 5.10 - levo), znana tudi kot banana funkcija zaradi

svoje tridimenzionalne predstavitve (Slika 5.9). Ta je bila skalirana iz desetih dimenzij na

dve, pri tem je ohranila svoj znameniti lok [20].

Slika 5.10: Primeri večdimenzionalnega skaliranja z uporabo metode SAMMON [20].

Page 57: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 44

Druga funkcija je problem iz resničnega sveta, Chopper (pretvornik za enosmerni tok), kjer

je večdimenzionalna predstavitev vsebovala devet dimenzij. Pri njej je pot preiskovanja

potekala popolnoma drugače kot v primeru Rosenbrockove funkcije. Prvih pet generacij je

preiskovalo samo eno področje. V deseti generaciji se je preiskovanje končalo v področju,

ki je bilo zelo oddaljeno od prejšnjega. Vse nadaljnje generacije so preiskovale relativno

majhen prostor rešitev [20].

Prav tako obstajajo alternativne možnosti prikazov večdimenzionalnih podatkov, katerih

večina izvira iz drugih področij.

Ena izmed teh je uporaba raztrosnih grafov, kjer se za vsako kombinacijo kriterijev izriše

ločeni graf, vse dimenzije, ki niso prikazane na posameznem grafu, pa se enostavno

zanemarijo (Slika 5.11). Ta metoda je široko uporabljana in primerna za splošno uporabo,

saj je robustna in ohranja informacijo o obliki množice ter posledično tudi relacijo

dominiranosti [26].

Slika 5.11: Raztrosni grafi za prikaz večdimenzionalnega prostora [26].

Za vizualizacijo dodatnih dimenzij se lahko uporabijo tudi lastnosti prikaza, kot je recimo

barva, čas ali velikost točk. Primer štiri dimenzionalne aproksimacije je trodimenzionalni

Page 58: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 45

mehurčni grafikon z uporabo velikosti mehurčka za četrto dimenzijo (Slika 5.12).

Imenonujemo ga tudi "trade-off plot". Njegove prednosti in slabosti so enake kot pri

raztrosnih grafih, vendar podaja vse informacije v enem samem grafu [26].

Slika 5.12: Mehurčni graf z uporabo velikosti točk za dodatno dimenzijo [26].

Iz področja fizike izvira metoda vizualizacije z uporabo radialnih koordinat (RadViz). Pri

tej predstavitvi so kriteriji, v tem primeru dimenzijska sidra (ang. dimensional anchors),

enakomerno porazdeljeni po krožnici. Tako lahko definiramo vsak vektor kriterijev kot

delec, ki ga dimenzijska sidra oziroma kriteriji vlečejo vsak k sebi s silo, sorazmerno

vrednosti vektorja po danem kriteriju. Delec je tako prikazan v položaju, kjer so sile v

ravnotežju. Če je vektor zelo dober po kriteriju in slab po ostalih kriterijih, se bo nahajal

zelo blizu kriterija , če pa je enako dober po vseh kriterijih, se bo nahajal v središču

krožnice. S to metodo je mogoče zelo dobro ohraniti porazdelitev aproksimacijske

množice, vendar ne omogoča dobre predstave o položajih posameznih točk, na primer

(Slika 5.13) ne omogoča vpogleda v obliko aproksimacije [26].

Page 59: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 46

Slika 5.13: Vizualizacija štirih dimenzij z uporabo radialnih koordinat [26].

Pogosta metoda vizualizacije večkriterijskih optimizacij je uporaba paralelnih koordinat

(Slika 5.14). Pri tej metodi večdimenzionalne vektorje prikažemo kot lomljene črte z

oglišči na paralelnih oseh, položaji na posameznih oseh pa prikazujejo vrednosti

posameznih kriterijev. S to metodo je mogoče hitro razpoznati odvisnosti in neodvisnosti

posameznih kriterijev, vendar pri večjem številu prikazanih vektorjev ali kriterijev graf

hitro postane nepregleden [26].

Slika 5.14: Uporaba paralelnih koordinat za vizualizacijo štiri dimenzionalnih vektorjev [26].

Tako kot pri enokriterijski optimizaciji lahko uporabimo barvne grafe, imenovane tudi

"heatmaps" (Slika 5.15). Podobno kot pri metodi paralelnih koordinat lahko hitro

Page 60: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 47

ugotovimo povezave med kriteriji in porazdelitve vrednosti, vendar pa izgubimo

informacije o obliki. Svetla plat je, da pri primerjavi več vektorjev ti ostanejo bolj

pregledni [26].

Slika 5.15: Heatmap za optimizacijo štirih kriterijev [26].

S področja nevronskih mrež izvirajo številne metode za vizualizacijo večdimenzionalnih

podatkov. Primer je neuroscale, ki podobno kot SAMMON minimizira razlike v razdaljah

vektorjev pri transformaciji v manj dimenzionalni prostor. Pri tem se uporablja nevronska

mreža z radialno osnovo. Pristop ima zelo slabe rezultate, saj je možno, da se že prikaz

linearne funkcije izkrivi (Slika 5.15). Drugi primer je uporaba samo-organizirajočih

nevronskih mrež, kjer se vsak vektor predstavi z ločenim nevronom, pri čemer se vektorji,

ki so blizu skupaj, preslikajo v bližnje nevrone. Ko je nevronska mreža naučena, je možno

uporabiti različne prikaze, vendar ni možno prikazati kaj več kakor razdaljo med nevroni

(Slika 5.16) [26].

Page 61: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 48

Slika 5.16: Primer izkrivljenosti oblike linearne funkcije pri vizualizaciji z neuroscale [26].

Slika 5.17: Uporaba samo-organizirajočih nevronskih mrež. Barva prikazuje oddaljenost med nevroni oziroma

vektorji kriterijev [26].

Zanimiva metoda je tudi analiza poglavitnih komponent (ang. principal component

analysis - PCA), ki se najpogosteje uporablja pri obdelavi signalov (Slika 5.18). Ta s

pomočjo kovariančne matrike in lastnih vektorjev izbere linearne kombinacije originalnih

vrednosti, pri čemer je cilj, da s čim manj kombinacijami opišemo razpršenost čim več

podatkov. Te so urejene od najpomembnejše komponente, ki predstavlja največ informacij,

do najmanj pomembne komponente. Metoda je uporabna predvsem zato, ker zmanjša

število potrebnih dimenzij, pri čemer ohranja količino informacije [26].

Page 62: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 49

Slika 5.18: Rezultat PCA nad linearno in sferično funkcijo [26].

Iz področja evolucijskih algoritmov izvirajo tudi lastne metode vizualizacije, namenjene

prav za prikazovanje aproksimacijskih množic večkriterijske optimizacije.

Primer so prikazi oddaljenosti, na primer vizualizacija vektorjev kriterijev po njihovi

razdalji do podane aproksimacije Pareto fronte, imenovana graf razdalj (ang. distance

chart), ali po oddaljenosti vektorjev kriterijev med seboj, imenovana graf porazdelitve

(ang. distribution chart). Natančen izračun teh razdalj je računsko zelo zahteven, kadar je

kriterijev veliko, zato je predlagan približni izračun. V primeru (Slika 5.19) je za

aproksimacijo Pareto fronte uporabljena unija nedominiranih vektorjev linearne in sferične

funkcije, pri čemer graf razdalj jasno prikaže, da je večina vektorjev iz sferične funkcije

dominiranih s strani linearne funkcije. Graf porazdelitve pri tem ne uspe prikazati razlike

med obema funkcijama [26].

Page 63: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 50

Slika 5.19: Graf razdalj (zgoraj) in graf porazdelitve (spodaj) za linearno (zeleno) in sferično (modro) funkcijo

[26].

Prikazi interaktivnih odločitev (ang. interactive decision maps - IDM) predstavljajo lupino

Edgeworth-Pareto (Slika 5.20). Namesto, da bi prikazali končno število vektorjev iz

aproksimacije, z IDM prikažemo ploskve prostora, ki ga opisuje Pareto fronta, pri čemer so

stranice ploskev poravnane s posameznimi kriteriji. Omejitev tega pristopa je, da ga je v

osnovi mogoče uporabiti le za prikaz dvo- ali tridimenzionalnih prostorov rešitev. Za

dodatno dimenzijo se lahko uporabi interaktivna odločitev. Ta metoda omogoči dober

vpogled v obliko aproksimacije in njeno porazdelitev, vendar ne nudi informacije o

dominiranosti med množicami [26].

Page 64: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 51

Slika 5.20: Prikaz interaktivnih odločitev za linearno (levo) in sferično funkcijo (desno), kjer je četrti kriterij

podan v obliki interaktivne izbire [26].

Štetje diagonal hiperprostora temelji na predpostavki, da ima množica naravnih števil ℕ

enako kardinalnost kakor ℕ , kjer je m naravno število. Zato ž ℕ ℕ

s š g P

kriterijev na š V š se na š za vsak par

š g indekse

posameznega para, te ž g u

u š

š M ž

ž (sla u ,

ž i relacije dominiranosti (Slika 5.21) [26].

Page 65: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 52

Slika 5.21: Prikaz za štetje diagonal v hiperprostoru [26].

Z namenom ohranjanja relacije dominiranosti je bila razvita metoda dvostopenjske

preslikave. Ta se trudi ohranjati relacijo dominiranosti in razdalj med vektorji. V prvi fazi

se preslikajo vsi vektorji na četrtino krožnice. Za iskanje permutacije vektorjev, ki najbolje

ohranja lastnosti po obeh kriterijih (relacije dominiranosti in razdalje med vektorji), se

uporabi večkriterijska optimizacija, na primer NSGA-II. Ko je najdena dobra permutacija,

se nedominirani vektorji preslikajo na krožnico v zaporedju, ki ga je podala permutacija, z

razmaki, ki so proporcionalni skupnemu seštevku razdalj. V drugi stopnji se vsi dominirani

vektorji preslikajo v minimalni vektor izmed vseh nedominiranih vektorjev, ki ga

dominiranjo. Dobljeni prikaz (Slika 5.22) na žalost ne nudi kaj več informacij kakor

delitev na dominirane in nedominirane vektorje. Prav tako je metoda računsko zelo

potratna, saj vključuje optimizacijo večkriterijskega problema in se lahko že z najmanjšo

razliko, na primer dodajanjem ali odvzemanjem enega vektorja, v celoti spremeni [26].

Page 66: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 53

Slika 5.22: Dvo stopenjska preslikava linearne in sferične funkcije [26].

Novo možnost vizualizacije pri algoritmih večkriterijske optimizacije je leta 2014

prikazala Tea Tušar [26]. Predstavila je metodo, ki z uporabo prosekcije oziroma

projekcijske selekcije (ang. prosection - projection of a selection) vizualizira

aproksimacijske množice štiridimenzionalne razsežnosti v obliki tridimenzionalnega

prostora. Ta v veliki meri ohranja obliko, obseg in porazdelitev vektorjev v

aproksimacijskih množicah. Njena najpomembnejša lastnost je, da je sposobna ohranjati

relacijo Pareto dominiranosti in relativno razdaljo med posameznimi referenčnimi točkami.

Metoda je robustna in računsko manj zahtevna.

Metoda je način upodabljanja z izračunom cuboidov, ki si jih lahko predstavljamo kot

kvadre v tri dimenzionalnem prostoru (Slika 5.23). Pri tem se vsakemu pripiše vrednost, ki

ponazarja vektor kriterijev ali pa razliko med njegovimi oglišči.

Slika 5.23: Primer izračunanega 3D negativa aproksimacijske množice z uporabo cuboidov [26].

Page 67: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 54

Pri tej metodi obstajajo različne možnosti prikazovanja, pri čemer so v delu [26]

predstavljene tri metode:

Rezanje (ang. slicing) predstavlja način prikaza, kjer podatke v večdimenzionalnem

prostoru "presekamo" z ravnino in prikažemo vsebino te ravnine v obliki

dvodimenzionalnega prikaza (Slika 5.24). Ravnina je pogosto poravnana z osmi, saj je za

prikaz večkriterijske optimizacije pomembno, da vsebuje optimalno točko in vsaj eno os.

Metoda je sorodna prikazu interaktivne izbire, saj ta prav tako prikazuje preseke več

ravnin, kjer je posamezni presek obarvan z drugačno barvo [26].

Slika 5.24: Primer rezanja prostora z ravnino [26].

Projekcija največje intenzitete (ang. maximum intensity projection - MIP) je druga metoda,

namenjena za prikaz prostora, ki je predstavljen z voxli. Metoda pregleduje vrednosti

voxlov vzdolž projekcijskega žarka in projicira največjo najdeno vrednost. Metoda je bila

predlagana za tridimenzionalno vizualiziranje na področju medicine pri radioaktivnem

sevanju. Prednost te metode je njena preprostost in visok kontrast v prikazu, ki je

posledica tega, da vedno prikaže največjo vrednost. Slabost pristopa je, da ne daje

nobenega vtisa globine, gledalec namreč ne more razločiti, kaj je spredaj, zadaj, levo ali

desno. Delna rešitev je izris sekvence prikazov iz rahlo zamaknjenih zornih kotov ali

animacija teh, kar daje boljšo prostorsko predstavo zaradi vtisa obračanja [26].

Tretja metoda je metoda neposrednega prikaza prostornine (ang. direct volume rendering -

DVR). Ta z uporabo naprednih metod senčenja omogoča interaktivni prikaz v realnem

Page 68: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 55

času. Beseda "neposredno" v imenu izvira iz tega, da metoda ne zahteva eksplicitnega

izvlečka prikazane geometrije ali ploščin. Najprej se vsaki vrednosti voxlov pripiše barva

in prosojnost ter določi funkcija prenosa, ki je lahko linearna, tabela vrednosti ali karkoli

drugega, vendar je izbira te povsem nov problem. Za namene vizualizacije se nato uporabi

ena izmed tehnik grafike, na primer sledenje žarku (ang. ray casting), splatting, shear-warp

faktorizacija ali teksturno upodabljanje volumna. V primeru uporabe metode sledenja

žarku se za vsak žarek oziroma piksel preračuna akumulirana barva in prosojnost glede na

voxle, ki se nahajajo vzdolž tega [26].

Slika 5.25: Prikaz cuboidov linearne in sferične funkcije z uporabo rezanja [26].

Vse metode prikazovanja dobljenih cuboidov imajo svoje prednosti in slabosti. Rezanje

(Slika 5.25) je zmožno prikazati več množic podatkov brez prekrivanja, vendar lahko

prikaže le en prerez naenkrat. MIP (Slika 5.26 - zgoraj) omogoča prikaz vsega v enem

prikazu, za kar ne potrebuje nobenih dodatnih parametrov, vendar ne daje nobene

predstave o globini. Prav tako je omejen glede števila prikazanih cuboidov. DVR (Slika

5.26 - spodaj) omogoča lepe, človeku razumljive prikaze, prosojnost in ohranja predstavo

globine. Njegova edina slabost je potreba po definiranju prenosne funkcije [26].

Page 69: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 56

Slika 5.26: Vizualizacije linearne in sferične funkcije oziroma njune razlike (linearna - sferična (levo), sferična -

linearna (desno)) z uporabo cuboidov in prikazom MIP (zgoraj) in DVR (spodaj) [26].

Page 70: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 57

6 VIZUALIZACIJA V OGRODJU EARS

V poglavju je predstavljena naša nadgradnja ogrodja EARS. Z njo smo omogočili

vizualizacijo evolucijskih procesov posameznih evolucijskih algoritmov. Najprej je

prikazana tehnična stran nadgradnje, pri čemer podrobneje opišemo svoje možnosti in

omejitve med razvojem. V naslednjem poglavju je podrobno predstavljena vizualizacija

enokriterijskih algoritmov. V zadnjem poglavju predstavimo svojo rešitev za vizualizacijo

večkriterijskih problemov.

6.1 Tehnične podrobnosti in omejitve

Za vizualizacijo evolucijskih procesov smo uporabili javansko knjižnico JavaPlot (v0.5.0)

[13], ki je odprtokodna ovojnica za orodje gnuPlot (v5.0.4) [28], ta pa je orodje za

izrisovanje grafov preko ukazne vrstice, s podporo za vse večje operacijske sisteme. S tem

smo zagotovili, da sistem ostane kompatibilen z različnimi operacijskimi sistemi.

Za izhodne oblike svojega dela smo podprli osnovni prikaz v obliki okna, izvoz v slikovni

format PNG, skriptni format PLOT ter izvoz statistike posameznih algoritmov v obliki

datoteke CSV. Za namene uporabe grafov v člankih smo zraven barvnih grafov omogočili

tudi sivinske.

Cilj našega dela je bila nadgradnja obstoječega sistema EARS. Zaradi tega je bilo potrebno

prilagoditi naše delo tako, da smo minimizirali spremembe v obstoječi kodi.

Glavni cilj je bil nadgradnja brez kakršnih koli sprememb v kodah posameznih

evolucijskih algoritmov, kar je predstavljalo obsežno oviro. Zaradi tega smo se morali

zadovoljiti z omejeno obliko pridobivanja podatkov. Problem smo poskušali rešiti z

lovljenjem klicev za ovrednotenje rešitve eval(double[]). Ta se kliče pri vsakem

ovrednotenju, zaradi česar ne spregledamo nobene rešitve in obenem dobimo tako

odločitveni vektor kakor vektor kriterijev, vendar to ni dovolj. Za namene beleženja

podatkov za vizualizacijo namreč prav tako potrebujemo informacije o algoritmu,

problemu in - zaradi sistema CRS4EA - številko zagona.

Za shranjevanje rezultatov smo ustvarili strukturo s štirimi kazalci na za nas pomembne

podatke. Ta je bila sestavljena iz:

Page 71: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 58

Funkcija eval() se kliče preko razreda Task, oziroma MOTask, ta pa vsebuje kazalec na

problem, zato pridobitev le-tega ni predstavljala dodatnega problema. Klic ovrednotenja

izhaja iz kode algoritma, pri čemer ta pri klicu eval() ne podaja kazalca nase. Torej bi

lahko rekli, da so klici anonimni in je bilo potrebno poiskati rešitev drugje.

Prva rešitev je bila analiza kopice. Z njo smo uspeli pridobiti ime razreda, oziroma

algoritma, ki je klical ovrednotenje, vendar se je pri tem pojavil dodatni problem. S to

public Solution eval(double[] ds) throws StopCriteriaException { if (stopCriteria == EnumStopCriteria.EVALUATIONS) { incEvaluate(); // SPREMENJENO // // ODSTRANJENO: //return new Solution(ds,p.eval(ds),p.calc_constrains(ds)); // DODANO: Solution tmpSolution = new Solution(ds,p.eval(ds),p.calc_constrains(ds)); GraphDataRecorder.AddRecord(tmpSolution, p); return tmpSolution; // SPREMENJENO // } if (stopCriteria == EnumStopCriteria.GLOBAL_OPTIMUM_OR_EVALUATIONS) { if (isGlobal) throw new StopCriteriaException("Global optimum already found"); incEvaluate(); double d = p.eval(ds); if (Math.abs(d - p.getOptimumEval()) <= epsilon) { isGlobal = true; } // SPREMENJENO // // ODSTRANJENO: //return new Solution(ds,d,p.calc_constrains(ds)); // DODANO: Solution tmpSolution = new Solution(ds,d,p.calc_constrains(ds)); GraphDataRecorder.AddRecord(tmpSolution, p); return tmpSolution; // SPREMENJENO // } assert false; // Execution should never reach this point! return null; //error }

class RecordedData

{ public SolutionBase solution; public ProblemBase problem; public AlgorithmBase algorithm; public long iteration; }

Page 72: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 59

metodo nismo pridobili kazalca na dejanski objekt, kar lahko predstavlja težave v primeru

turnirja enega algoritma, kjer je več instanc z različnimi parametri krmiljenja. Algoritmi

prav tako vsebujejo kazalec na strukturo, ki hrani informacije o algoritmu, kot na primer

njegovo ime, identifikator, ime avtorja in velikost populacije. Ob tej rešitvi do teh

informacij nimamo dostopa, kar bi pomenilo, da bi v primeru iskanja optimalnih

parametrov algoritmov imeli enake oznake za vse algoritme.

Druga rešitev je bila izvedena z dodatnim lovljenjem klicev runOneProblem() znotraj

razredov RatingBenchmark in MORatingBenchmark. V njih se nahaja zanka, ki služi kot

osnova za turnir in požene optimizacijo vsakega problema z vsakim algoritmom. S tem

smo uspeli uloviti sam kontekst izvajanja, niti oziroma pridobiti še zadnje informacije,

informacijo o algoritmu in - ker se za vsak zagon algoritma izvajanje ponovno ulovi -

številko zagona posamezne kombinacije algoritma in problema.

Page 73: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 60

S tem, ko smo uspeli zagotoviti pridobivanje podatkov o ovrednotenjih, ne da bi

spreminjali kodo posameznih algoritmov, smo imeli osnovo za nadaljnjo analizo in

vizualizacijo podatkov. Vseeno pa to vodi v nadaljnje probleme, saj nimamo načina, s

katerim bi lahko sledili sestavi populacij algoritmov.

protected void runOneProblem(Task task, BankOfResults allSingleProblemRunResults) { long start=0; long duration=0; for (Algorithm al: listOfAlgorithmsPlayers) { reset(task); //number of evaluations try { start = System.currentTimeMillis(); if (printSingleRunDuration) { System.out.print(al.getID()+": "); } // SPREMENJENO // // DODANO: GraphDataRecorder.SetContext(al,task); // SPREMENJENO // Solution bestByALg = al.run(task); //check if result is fake! duration = System.currentTimeMillis()-start; al.addRunDuration(duration); if (printSingleRunDuration) System.out.println(duration/1000); reset(task); //for one eval! if (task.areDimensionsInFeasableInterval(bestByALg.getVariables())) { if(recheck) { Solution best = task.eval(bestByALg.getVariables()); //rechecks individual! if (best.getEval()!=bestByALg.getEval()) System.err.println(al.getAlgorithmInfo().getVersionAcronym()+" result real"+best.getEval()+" is different than "+bestByALg.getEval()); results.add(new AlgorithmEvalResult(best, al)); allSingleProblemRunResults.add(task.getProblem(), best, al); } else { results.add(new AlgorithmEvalResult(bestByALg, al)); allSingleProblemRunResults.add(task.getProblem(), bestByALg, al); } } else { System.err.println(al.getAlgorithmInfo().getVersionAcronym()+" result "+bestByALg+" is out of intervals! For task:"+task.getProblemShortName()); results.add(new AlgorithmEvalResult(null, al)); // this can be done parallel } } catch (StopCriteriaException e) { System.err.println(al.getAlgorithmInfo().getVersionAcronym()+" StopCriteriaException for:"+task+"\n"+e); results.add(new AlgorithmEvalResult(null, al)); } } }

Page 74: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 61

Delno rešitev predstavlja struktura osnovnih informacij o algoritmu, kjer lahko iščemo

velikost populacije, vendar ta pogosto ni navedena ali pa je velikost populacije

spremenljiva. Dodatno ima veliko algoritmov drugačno velikost začetne populacije kakor

med evolucijo. Prav tako - ker sledimo samo novim ovrednotenjem rešitev - nimamo

vpogleda v uporabo elitizma pri enokriterijskih algoritmih oziroma v vsebino arhiva v

primeru večkriterijske optimizacije.

Kot kompromis in po eni strani izboljšavo za primerjavo posameznih algoritmov smo se

odločili za segmentiranje podatkov in namesto velikosti populacije uporabili nastavljivi

korak. S tem imamo omogočen boljši pogled za primerjavo algoritmov, saj so ti prikazani

v enako obsežnih delih in vsi zavzemajo enak delež grafa.

Dodatni problemi so se pojavili s strani same knjižnice JavaPlot, saj je ta pomanjkljiva,

oziroma je le delna ovojnica in je veliko stvari nepodprtih. Nastale probleme je bilo

potrebno reševati tudi z dodatnim vrivanjem v generirano skripto. Najbolj očiten primer je

bila manjkajoča podpora za izris črtkanih črt v izhodih v obliki slike. Prav tako knjižnica ni

bila posodobljena že od začetka leta 2015.

6.2 Vizualizacija enokriterijske optimizacije

V poglavju bomo predstavili svojo rešitev za vizualizacijo enokriterijske optimizacije.

Najprej bomo na kratko predstavili možnosti s strani uporabnika sistema. Temu bo sledila

obširnejša razlaga možnosti oziroma njihovo ozadje, kaj posamezni prikazi povedo in

predstavljajo. Na koncu podamo primer uporabe vizualizacije za pridobivanje informacije

o evolucijskem postopku in kako lahko te uporabimo za boljše razumevanje.

6.2.1 Možnosti s strani uporabnika

Za namene vizualizacije enokriterijske optimizacije smo implementirali izrisovanje

statičnih grafov. Ti so modularni, zato lahko uporabnik izbere, kateri prikazi ga zanimajo.

Pri tem smo podprli več možnosti za prikaz (Slika 6.1):

najboljši rezultat,

najslabši,

povprečje in

Page 75: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 62

standardni odklon.

Slika 6.1: PSO-jevo reševanje Easom problema. Prikaz zanimivih vrednosti: najslabše (rdeče), najboljše (zeleno),

povprečje (modro) in standardni odklon (oranžno).

Za osnovno vizualizacijo je potreben majhen odsek kode:

V tem odseku kode najprej pridobimo podatke, ki ustrezajo omejitvam algoritmov oziroma

problemov. Nato podamo opcijske parametre, kot so imena izhodnih datotek, velikosti

datas = GraphDataManager.GetDataFor(TLBOAlgorithm.class, ProblemAckley.class); GraphSet graphs = new GraphSet(datas); graphs.setOutputFilesAutomatic(true); graphs.setCanvasSize(1280, 960); graphs.setPlotColorScheme(PlotColorScheme.Grayscale); graphs.Plot(PlotType.AverageOfIterations); graphs.Plot(PlotType.StandardDeviationOfIterations); graphs.Flush();

Page 76: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 63

grafov, njihove naslove in podobno. Na koncu še izvedemo izris, kjer se izberejo tipi

prikazov.

Slika 6.2: Združen graf reševanja problema Easom za 5 algoritmov. Črte s točkami predstavljajo povprečja,

črtkane črte prikazujejo standardni odklon.

Prav tako smo omogočili združitev grafov posameznih algoritmov za lažjo medsebojno

primerjavo, pri tem pa se vsakemu algoritmu določi svoja barva za vse njegove prikazane

vrednosti (Slika 6.2).

Orodje je namenjeno predvsem za razvoj evolucijskih algoritmov. Zaradi tega lahko

predpostavimo, da ga bodo uporabljali predvsem raziskovalci, zato bodo potrebovali

vizualizacijo za vključitev v predstavitve in znanstvene članke. Tu barvni prikaz pogosto

ne pride v poštev. Na predstavitvah je lahko na razpolago slabši projektor, za objavljene

članke pa največkrat uporablja črno-beli format. Zato smo omogočili tudi menjavo barvne

sheme na sivinsko (Slika 6.3).

Page 77: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 64

Slika 6.3: Sivinski prikaz za RandomWalk pri reševanju problema Easom (levo) in združeni prikazi algoritmov

(desno).

6.2.2 Implementacija

Zaradi problemov pri zaznavi mej generacij (podrobneje opisano v poglavju 6.1) smo se

morali omejiti na razmejevanje ovrednotenj na korake oziroma intervale. Te lahko

uporabnik ročno nastavlja ali pa pusti privzeto velikost posameznega intervala.

Hitro se pojavi prva težava pri našem načinu zajemanja in delitve podatkov (Slika 6.4):

noben sodobni algoritem ne bo zavestno zavrgel boljših rezultatov in prešel na slabše. Prav

tako bi bilo nenavadno, če bi kljub takšni taktiki uspel postopno izboljševati rezultat. To

smo morali kompenzirati pri nadaljnih izračunih vrednosti.

Page 78: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 65

Slika 6.4: Zgodnja implementacija vizualizacije algoritma TLBO nad problemom Ackley. Razvidna je nerealna

poskakovanja fitnessa zaradi nezaznavanja elitizma.

Za povprečni fitness pričnemo gledati povprečje prvega intervala, pri čemer obravnavamo

rešitve vseh neodvisnih zagonov. V nadaljevanju je potrebno preveriti, ali je povprečje

novega intervala veljavno ali ne, ali smo naleteli na uporabo elitizma, pri čemer bi bilo

novo povprečje slabše od povprečja predhodnega intervala. V tem primeru ponovno

vzamemo prejšnjega.

, (6.1)

, (6.2)

kjer je avg povprečje, i zaporedna številka intervala, ocena rešitve z indeksom j v

neodvisnem zagonu k, maxRuns število neodvisnih zagonov in evalsPerStep velikost

intervalov.

Page 79: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 66

Na enak način obravnavamo tudi prikaz najboljših in najslabših rešitev. Za prikaz

odstopanja smo uporabili standardni odklon. Pri tem smo prikazali območje s središčem v

povprečju intervala. Znotraj tega območja se po definiciji nahaja 68 % zagonov.

, (6.3)

kjer je meja intervala, ki ga definira standardni odklon v intervalu i, povprečna

vrednost fitnessov na intervalu i v zagonu k in povprečna vrednost povprečij na

intervalu i med neodvisnimi zagoni.

6.2.3 Primeri interpretacije

V nadaljevanju bomo podrobneje pogledali in analizirali delovanje algoritmov na več

problemih. Za osnovo smo izvedli turnir s pomočjo sistema EARS. Pri tem smo za igralce

vzeli algoritme RandomWalk, PSO, ES(1+1) in TLBO. Turnir smo izvedli nad vsemi

problemi, vendar bomo zaradi preobširnega nabora v nadaljevanju pogledali le nekaj

problemov, kjer bomo lahko najlažje prikazali interpretacijo rezultatov. Za parametre

turnirja smo podali 50 neodvisnih zagonov, kjer smo algoritmom podali začetne ocene

1500, odstopanja 350 in volatilnost 0,06. Rezultati ocenjevanja po sistemu CRS4EA so

prikazani v nadaljevanju (Tabela 6.1), pri čemer so predvidena odstopanja ocen v obsegu

50.

Tabela 6.1: Končne ocene turnirja enokriterijskih optimizacijskih problemov pri 50 neodvisnih zagonih.

Algoritem TLBO PSO Wiki ES(1+1) RWSi CRS4EA rating 1.746,4 1.712,1 1.437,5 1.104

Pogledali bomo nekaj skupnih grafov, kjer je prikaz osredotočen na primerjavo več

algoritmov nad enakim problemom (Slika 6.5), te pa bomo interpretirali najprej s strani

posameznih algoritmov:

Page 80: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 67

Slika 6.5: Vizualizacije evolucijskih procesov vseh algoritmov nad posameznimi enokriterijskimi problemi: Ackley

(levo zgoraj), Branin (desno zgoraj), Easom (spodaj levo) in Rastrigin (desno spodaj).

Najbolj opazno odstopanje od drugih algoritmov se pojavi v primeru problema Ackley. Pri

tem je ES(1+1) deloval tako slabo, da se - razen na začetku procesa - interval standardnega

odstopanja rešitev sploh ni prekrival z intervalom nobenega drugega algoritma. Algoritem

je sicer na začetku uspel problem do neke mere optimizirati. Konec tega uspešnega

optimiziranja je celo nakazano zmanjšanje odstopanja, s čimer bi lahko predvidevali, da je

algoritem hotel začeti z eksploatacijo dobrih rešitev. Pri tem očitno ni bil uspešen ,

najverjetneje zaradi slabe izbire evolucijkih operatorjev, saj je zatem interval rešitev

ponovno narastel, število uspešnih optimizacij pa je začelo strmo upadati. To ni bil izreden

primer, saj je prikaz strnjen iz 50 neodvisnih zagonov. Algoritem je nato stagniral, saj ni

uspel - razen malenkosti pri približno 750 ovrednotenjih - ničesar izboljšati.

Obratni primer se pojavi v primeru problema Branin, kjer se je ES(1+1) izkazal za prav

neverjetno dobrega. Algoritem je začel z najbolj širokim naborom uspešnosti rešitev, več

kot trikratnim odstopanjem ostalih algoritmov ter najslabšim povprečjem, vendar se je v

Page 81: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 68

nekaj ovrednotenjih uspel prebiti skoraj do popolnega globalnega optimuma. Odstopanje je

padlo do te mere, da lahko skoraj s popolno gotovostjo trdimo, da bomo v vsakem zagonu

prišli do optimuma v zgodnjih ovrednotenjih.

Podobno kot pri problemu Ackley se algoritem vede tudi pri problemih Easom in

Rastrigin. Kolikor algoritem uspe optimizirati funkcijo, to stori na začetku, temu pa sledi

stagniranje povprečja in odstopanja, pri čemer je razvidno, da je tudi razpon ocen odvisen

od povprečne ocene. Z drugimi besedami, če bo algoritem uspešno optimiziral funkcijo, jo

bo z vsakim zagonom, če pa obstaja možnost naleta na lokalne minimume, se bo vedno

zaustavil na takšni rešitvi.

Če posplošimo opažanja iz teh grafov, bi z lahkoto tudi sami izpeljali "no free lunch"

teorem (poglavje 3.1), saj je algoritem močno specializiran za samo eno vrsto problema.

Algoritem PSO, ki je tudi po sistemu CRS4EA najboljši, se je odrezal izredno dobro v

vseh primerih, od prikazanih problemov ni bil najboljši le pri problemu Branin. Njegov

najbolj primerljiv nasprotnik je bil algoritem TLBO, ki je v vseh primerih dosegel enako

povprečno rešitev. Tako kot pri ES(1+1) opazimo popolno nasprotje med problemoma

Ackley in Branin. V primeru problema Ackley je TLBO v nekaterih zagonih obvisel v

lokalnih optimumih, medtem ko je PSO v vseh primerih dosegel globalni optimum.

Obratno je pri problemu Branin, kjer TLBO vedno doseže globalni optimum in se PSO

včasih ustavi v lokalni rešitvi.

Da bi razjasnili, kateri algoritem je boljši, lahko iz drugih dveh prikazov (Slika 6.5 - spodaj

levo in spodaj desno) problema Easom in Rastrigin opazimo, da imata oba med

optimizacijo približno enak razpon ocen, kar nakazuje, da sta oba enako zanesljiva. Kljub

temu pa TLBO v obeh primerih doseže globalni optimum nekoliko kasneje, za problem

Easom porabi približno tretjino več ovrednotenj, za Rastrigin pa približno enkrat več

ovrednotenj. Razlike med algoritmoma se nekoliko slabše odražajo v oceni pristopa

CRS4EA, kjer sta ocenjena z ratingom 1.746,4 in 1.712,1, kar nakazuje na zanemarljiva

razhajanja.

Page 82: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 69

Slika 6.6: Podrobnejši vpogled v evolucijska procesa algoritmov PSO in TLBO.

Oglejmo si oba algoritma pobliže (Slika 6.6). Hitro opazimo, da PSO optimizira v

enakomernem ritmu s hitrostjo, ki le počasi pojema. TLBO optimizira v dveh korakih

(učitelj, učenec), manjši korak optimizacije je skoraj neznaten, v drugem koraku pa

optimizira v nekoliko večjih korakih kot PSO.

Razlog za to obnašanje je v strategiji, saj TLBO menjava med eksploracijo in eksploatacijo

v upanju, da ne zgreši globalnega optimuma. Ta strategija se za problem Schwefel, ki ga

lahko zaradi številnih lokalnih optimumov označimo za enega izmed najzahtevnejših

problemov, izkaže za pravilno (Slika 6.7 - levo), za probleme brez lokalnih optimumov pa

je potratno izkoriščanje ovrednotenj (Slika 6.7 - desno). V tem primeru TLBO nedvoumno

premaga PSO, uspe doseči znatno boljši lokalni optimum ter dokaže večjo odpornost na

druge lokalne optimume, saj prikaže manjši interval razlik med neodvisnimi zagoni. Za

dosego boljših optimumov bi se morali poigrati s parametri algoritma oziroma jih boljše

nastaviti.

Page 83: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 70

Slika 6.7: Optimizacija Schweflove funcije (levo), vsak algoritem se izkaže različno odpornega na lokalne

minimume, vendar noben ne doseže globalnega minimuma, ter optimizacija problema Sphere (desno), kjer se

TLBO-jev korak eksploracije izkaže za odvečnega.

Za namene optimizacije zahtevnejših problemov, kjer je veliko število lokalnih

optimumov, lahko trdimo, da se bo TLBO odrezal bolje kakor PSO, vendar pa pogosto,

tudi v primeru sistema EARS, prevladujejo preprostejši problemi. Zato je razumljivo PSO

znatno boljši, saj se ni treba zanašati na slučajno uspešnost optimizacije, algoritem pa tudi

ne porablja odvečnih ovrednotenj, saj vsebuje tako komponento za eksploracijo kakor

komponento za eksploatacijo v vsaki rešitvi oziroma ovrednotenju.

6.3 Vizualizacija večkriterijske optimizacije

V tem poglavju predstavimo še vizualizacijo večkriterijskih optimizacij. Kot v prejšnjem

poglavju smo tudi tega razdelili na tri dele. Najprej predstavimo uporabniški vmesnik

oziroma njegove možnosti, temu sledi kratka predstavitev funkcionalnosti iz tehniškega

vidika, zaključimo pa s kratkim primerom primerjave oziroma interpretacijo.

6.3.1 Možnosti

Vizualizacija večdimenzionalnih podatkov je trenutno velik problem. Obstajajo delne

rešitve, na primer uporaba barve in časa za dodatni dimenziji, večdimenzionalno skaliranje

(poglavje 5.3) in podobne metode, vendar imajo vse svoje omejitve.

Page 84: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 71

Pomembno vlogo pri zasnovi naše rešitve je predstavljalo samo ogrodje EARS, ki smo ga

nadgrajevali. Trenutno (na dan 29. 8. 2016) imamo na razpolago nabor desetih

večkriterijskih problemov. Večina, sedem problemov, je le dvokriterijskih, trije problemi

pa so trikriterijski, in vsi problemi so minimizacijski.

Odločili smo se vizualizirati evolucijski proces s sekvenco slik, ki jih tudi animiramo.

Zaradi razvoja algoritmov in vrste problemov smo se posvetili predstavitvi podatkov, kot

so, brez skaliranja na manj dimenzij.

Za vsako kombinacijo algoritma in problema je omogočen izris statične slike in animacije.

Statične slike omogočajo enake izhodne formate kakor pri vizualizaciji enokriterijskih

optimizacij, PNG, PLOT in CSV. Pri teh predstavimo podatke z vidika celotnega

evolucijskega procesa - vse rešitve, ki jih ovrednoti algoritem. Druga možnost, animirana

slika v formatu GIF, je sestavljena iz sekvence slik, v kateri vsaka predstavlja svoj interval

v procesu optimizacije. Posamezna slika iz sekvence ostane dostopna v obliki izhoda

statične slike za namene prikaza v medijih, ki ne podpirajo animacije.

Uporabnik ima torej dostop do prikazovanja štirih vrst podatkov, večina od njih pa ima

ločena prikaza za animirano in statično obliko. Grafi podpirajo prikaz:

posameznikov (Slika 6.8 - sivi križci), kjer animirana verzija prikaza omogoča

prikaz rešitev več intervalov s postopnim slabljenjem prikaza starejših rešitev, s

čimer kompenziramo nepoznavanje algoritmovega arhiva (poglavje 6.1),

trenutne Pareto fronte (Slika 6.8 - modro območje) oziroma prostora, ki je

dominiran samo s strani posameznikov v trenutnem intervalu (Slika 6.8 - modre

točke),

do sedaj optimalne Pareto fronte (Slika 6.8 - zeleno območje), ki služi za namene

prikaza že dominiranega prostora, ki ga z rešitvami trenutno definiranega intervala

ne zaznamo, ali zaradi strategije algoritma ali problema arhiva,

končne Pareto fronte (Slika 6.8 - rdeče točke oziroma krivulja), s katero se prikaže

algoritmova končna rešitev, ki se poda kot rezultat na turnirju.

Page 85: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 72

Slika 6.8: Slika 58. intervala v animiranem prikazu reševanja večkriterijskega problema 3 s strani NSGAII.

Uporabnik ima pri tem nadzor nad izbiro prikazanih podatkov in dodatnimi parametri za

vizualizacijo. Tako kot pri enokriterijski vizualizaciji so podprte osnovne možnosti, kot na

primer velikost izhoda, poimenovanje datotek in podobno.

// Gather data: GraphDataSet datas = GraphDataManager.GetDataFor(NSGAII.class, null, 0); GraphSet graphs = new GraphSet(datas); // Settings: graphs.setOutputFilesAutomatic(true); graphs.setCanvasSize(1280, 960); graphs.setZoomScale(0.2); // Animation settings: graphs.setAnimationDuration(10000); graphs.setAnimationFramesPerSecond(10); graphs.setAnimationEvaluationsPerFrame(400); // Plotting: graphs.Plot(PlotType.MOAnimatedParetoFrontSearch); graphs.Flush();

Page 86: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 73

Dodatno ima uporabnik dostop do povečanja (zoomiranja) na končno rešitev, ki jo določi z

vrednostjo tipa double. Optimizacija večine problemov se namreč začne z zelo slabimi

rešitvami, vendar se že v nekaj generacijah zelo približajo optimalnim frontam. Zato se pri

celotnem prikazu večina podrobnosti na Pareto fronti ne opazi, ko pa se prikaže približani

graf, so te podrobnosti jasno razvidne (Slika 6.9).

Slika 6.9: Primerjava nepribližanega (levo) in približanega (desno) prikaza večkriterijske optimizacije.

Zaradi različnih potreb vpogleda v potek evolucije ima uporabnik dostop do treh

parametrov animacije, največ dva od njih lahko uporabnik nastavi, tretji pa se avtomatsko

prilagodi:

dolžine animacije (v milisekundah),

števila slik na sekundo (ang. frame rate) in

števila rešitev, ki jih prikažemo kot en interval (nadomestitev velikosti generacije).

6.3.2 Tehnične podrobnosti prikazov

Večina prikazanih podatkov temelji na relaciji dominiranosti (poglavje 2.3.1). Problem se

pojavi pri prikazovanju večkriterijskih optimizacij, ki imajo več kot dve dimenziji. Pri njih

si namreč ne moremo predstavljati Pareto fronte kot krivuljo, pač pa kot mrežo točk.

Najlaže bi si jo predstavljali kot hipervolumen (Slika 6.10) [1].

Page 87: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 74

Slika 6.10: Primer hipervolumna oziroma dominiranega prostora pri treh kriterijih.

Ker smo dali prednost prikazu reševanja brez transformacije prostora, smo potrebovali

rešitev za prikaze večdimenzionalnih problemov. Pri dvokriterijskih problemih smo lahko

točke Pareto front povezovali, saj so predstavljale krivuljo, pri tri in več kriterijskih pa smo

vizualizacijo razdelili na dvodimenzionalne prikaze oziroma na dvomestne kombinacije

vseh kriterijev. Tako smo pri trikriterijskih problemih ustvarili prikaze iz treh zornih kotov,

v njih pa smo obravnavali prikazovanje kot dvodimenzionalni problem (Slika 6.11).

Page 88: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 75

Slika 6.11: Dvodimenzionalni prikaz trikriterijskega problema 9. Jasno so razvidni kolobarji, ki nastanejo zaradi

razlik po tretjem (neprikazanem) kriteriju, ki si ga lahko predstavljamo kot globino slike.

Za namene vizualizacije rešitev v obliki animacije smo omogočili izris več intervalov, kjer

starejše rešitve začnejo bledeti. Privzeto smo nastavili prikaz štirih intervalov, torej treh

predhodnih. To število je mogoče spremeniti ali izklopiti prikaz rešitev predhodnih

intervalov.

6.3.3 Primer interpretacije

Za primerjavo algoritmov smo izvedli turnir s petimi algoritmi: MOEAD, NSGAII,

PESAII, SPEA2 in PAES (Tabela 6.2). Zaradi preobširnega testiranja in posledično

otežkočene demonstracije, smo se v nadaljevanju omejili na problem 7. Z vizualizacijo

smo uspeli prikazati osnovne koncepte algoritmov ter dosegli dobro razlikovanje

zmogljivosti. Za turnir smo podali naslednje parametre: 10 neodvisnih zagonov, omejitev

na 30000 ovrednotenj, za vse algoritme pa: začetne ocene 1500, odstopanje 350,

volatilnost 0,06.

Tabela 6.2: Rezultati turnirjev večkriterijske optimizacije pri 10 neodvisnih zagonih.

Algoritem MOEAD_DRA NSGAII PESAII SPEA2 PAES Problem 7 rating 1.992,2 1.623,1 1.500 1.376,9 1.007,8

Page 89: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 76

Za pridobitev osnovnega vtisa o primerjavi smo izbrali 4 zagone, pri katerih bomo najlažje

prikazali lastnosti posameznih algoritmov. Poglejmo njihove končne rezultate oziroma

njihove končne Pareto fronte (Slika 6.12):

Slika 6.12: Primeri štirih končnih Pareto front v turnirju algoritmov MOEAD, NSGAII, PESAII, SPEA2 in PAES

nad problemom 7.

Že na začetku analize dobimo odgovor, zakaj je algoritem MOEAD dosegel najboljšo

oceno. Od vseh algoritmov je le ta zares uspel doseči raznolikost rešitev, s čimer je našel

pravo Pareto fronto, kjer imamo pestro izbiro glede pomembnosti posameznih kriterijev. V

nekaterih primerih so ga na posameznih točkah premagali drugi algoritmi, vendar je to

pričakovano zaradi večjega poudarka na eksploraciji pri algoritmu MOEAD.

Čeprav NSGAII in SPEA2 nista sosednja pri uvrstitvi, sta dosegala zelo podobne rešitve.

Glavni razlog, da se je SPEA2 uvrstil slabše, je, da je vmes izpustil oziroma ni našel

Page 90: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 77

sredinskega optimuma (Slika 6.12 - spodaj levo). Prav tako je zaradi manjših razlik izgubil

večino dvobojev z NSGAII.

PESAII se je uvrstil na tretje mesto, s čimer je pristal med NSGAII in SPEA2. Imel je

težave pri srednjem optimumu kakor SPEA2. V prvem grafu (Slika 6.12 - zgoraj levo)

opazimo, da je imel težave tudi pri iskanju optimuma bližje kriteriju 0. Kljub tem težavam

je uspel najdene rešitve optimizirati do te mere, da se je lahko kosal z NSGAII, saj je

zgubil le šest od desetih dvobojev z njim.

Najbolj po "kavbojsko" se je odrezal algoritem PAES. Ta v prikazanih primerih ni nikoli

uspel najti vseh treh sklopov optimumov. V prvem primeru (Slika 6.12 - zgoraj levo) se je

uspel dokopati do optimuma po kriteriju ena in do vmesnega optimuma, optimizacija po

kriteriju 0 pa se je tako kot pri drugih izkazala za bolj problematično, saj je ni uspel odkriti.

V večini primerov je algoritem poiskal le sklop optimumov, v katerem so rešitve na Pareto

fronti res prekomerno nagnetene (Slika 6.12 - zgoraj desno, spodaj levo, spodaj desno).

Zaradi tega je takoj razvidno, da je preveč izrabljal obstoječe dobre rešitve. Poseben primer

je graf (Slika 6.12 - zgoraj levo), kjer je kljub zaznavi dveh gruč optimumov uspel rešitve v

njiju optimizirati občutno bolje kakor katerikoli drugi algoritem.

V nadaljevanju je podrobneje prikazanih še nekaj potekov optimizacij algoritmov, s čimer

smo želeli pojasniti opažene lastnosti v končnih Pareto frontah. Prikazali smo ključne

trenutke, v katerih je mogoče videti vmesne intervale med reševanjem.

Začnimo z najboljšim algoritmom, MOEAD (Slika 6.13). Vidimo, da se ves čas trudi

ohraniti raznoličnost rešitev. Tudi, ko začne ugotavljati približno obliko Pareto optimalne

rešitve, nadaljuje raziskovanje vzdolž celotne fronte, pri čemer se kljub temu še dolgo v

vsakem intervalu najdejo izboljšave vzdolž celotne fronte.

Page 91: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 78

Slika 6.13: Ključni trenutki MOEAD pri problemu 7: Začetno preiskovanje (interval 3/75), začetek gnetenja

rešitev okrog predvidevanih gruč optimumov (interval 14/75), zadnja vidna izboljšava (interval 68/75).

Za drugouvrščeni NSGAII (Slika 6.14) vidimo, da je precej časa skušal ohraniti raznolikost

rešitev, s čimer je vsakič našel vse gruče optimumov. Kljub temu je kmalu začel iskati le

načine, kako Pareto fronto v teh gručah poriniti dalje proti optimalni fronti. Prav tako

opazimo, da praktično v nobenem intervalu ni opustil optimizacije dela fronte, saj so vedno

na novo ovrednotene rešitve dominirale celoten prostor.

Slika 6.14: Evolucijski proces NSGAII nad problemom 7: Začetno preiskovanje prostora (interval 6/75), postopen

začetek gručenja rešitev okrog optimalnih točk po obeh kriterijih (interval 10/75), izoblikovanje "linij" rešitev,

pravokotno na končne gruče optimiziranih točk (interval 51/75).

PESAII je v prikazanem primeru (Slika 6.15) sicer dosegel le dve gruči optimumov,

vendar je pri tem ostal lepo razviden način preiskovanja okrog posamezne gruče.

Algoritem je začel z novimi rešitvami oblikovati eliptične strukture, za razliko od NSGAII,

ki je ustvarjal linijam podobne sklope rešitev. Prav tako je razvidno, da je od samega

začetka omejil preiskovanje na izrabljanje obstoječih rešitev.

Page 92: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 79

Slika 6.15: Primer PESAII pri problemu 7: Začetek preiskovanja (interval 1/75), začetki preiskovanja v obliki

eliptičnih struktur rešitev (interval 17/75), najboljši primer izoblikovanih stuktur (interval 56/75).

SPEA2 (Slika 6.16) v primerjavi s PESAII bolje poskrbi za raznolikost rešitev, saj ohrani

preiskovanje celega prostora rešitev, tudi sedmega intervala. Nato sledita dve fazi

preiskovanja. V prvi nasiči rešitve v območju dejanskih gruč na Pareto fronti. Ko ni več

zadostnih izboljšav, začne preiskovati dlje okrog gruče, pri čemer začne - kakor PESAII - z

novimi rešitvami oblikovati eliptične podobe.

Slika 6.16: SPEA2 reševanje problema 7: Zaključki preiskovanja celotnega prostora (interval 7/75), začetek gneče

v gručah optimumov (interval 14/75), oblikovanje eliptičnih struktur tekom preiskovanja (interval 20/75).

Za zaključek poglejmo še algoritem PAES v primeru, kjer je končal z dvema optimumoma

(Slika 6.17). Takoj opazimo, da je v enem intervalu popolnoma preklopil iz ene gruče

rešitev v drugo, nakar je tam ostal do zaključka zaradi porabe vseh ovrednotenj. Najbolj

zaskrbljujoče je, da se je ta preklop zgodil že zelo zgodaj, v intervalu 8/75.

Page 93: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 80

Slika 6.17: Reševanje algoritma PAES nad problemom 7: Dokončni preklop iz optimizacije ene gruče na

raziskovanje nove gruče (Intervali: 7, 8, 9 / 75).

S prikazanimi metodami vizualizacije smo uspeli najti pomanjkljivosti posameznih

algoritmov in razloge zanje, na primer PESAII začne že v prvem intervalu samo izkoriščati

obstoječe rešitve. Prav tako smo lahko opredelili njihove raziskovalne strategije med

evolucijskim procesom, kot na primer pri SPEA2.

Prav tako smo dokazali, da lahko z vizualizacijo več algoritmov nad enim problemom

ugotovimo njegovo zahtevnost oziroma najzahtevnejše točke optimizacije, na primer

sredinska gruča Pareto optimalne fronte je delala probleme trem od petih algoritmov.

Page 94: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 81

7 DISKUSIJA IN ZAKLJUČEK

V poglavju bomo povzeli tematiko in cilje našega magistrskega dela ter navedli glavne

prednosti in slabosti implementiranega pristopa za vizualizacijo evolucijskih procesov.

Prav tako bomo navedli možne rešitve za omenjene probleme in podali predloge, kako bi

se dalo sistem dodatno izboljšati.

Evolucijski algoritmi niso najnovejši pristop, vseeno pa sta razumevanje in primerjava

posameznih algoritmov še vedno slabo definirana. Večina člankov s tega področja

predstavlja svoje algoritme kot najboljše, pri čemer je podana le primerjava končnih

rezultatov, pogoji pa so slabo definirani ali pa sploh niso. Za pravično in razumljivo

primerjavo je potreben način primerjave, čigar izvedba ni prekomerno zahtevna in podaja

informacijo na enostaven, razumljiv, človeku naraven način. To je med drugim mogoče z

uporabo razumljivejših statističnih metod in z vizualizacijo izvajanja primerjanih

algoritmov. Pri tem je pomembno omogočiti vpogled v konvergenco in raznolikost rešitev

skozi čas optimizacije, prikaz napredka večkriterijskih optimizacij in podobne dejavnike.

Za izhodišče smo pregledali obstoječe oziroma predlagane metode vizualizacije za

evolucijske algoritme, nakar smo nadgradili obstoječi sistem EARS z možnostjo

prikazovanja evolucijskih procesov. Pri tem sta bila osrednja cilja razumljiv in z

informacijami bogat način prikaza poteka algoritmov ter minimalno poseganje v obstoječo

kodo. Ta cilja sta si bila v mnogih pogledih nasprotujoča, vendar smo uspeli

implementirati nadgradnjo sistema, ki omogoča razumljiv in zanimiv vpogled v evolucijo.

V tem delu smo bili za namene prikaza svojih dosežkov predvsem omejeni s prostorom, saj

je vizualizacija evolucijskih procesov omogočila širok vpogled v delovanje ogrodja,

vendar smo vseeno uspeli na primerih predstaviti izvajanje in glavne probleme posameznih

algoritmov. Izvedena nadgradnja ima poudarek na vizualizaciji prostora rešitev, kar

omogoča jasno predstavitev algoritmov glede ciljev posameznih evolucijskih algoritmov

oziroma ogled njihovega napredovanja k rešitvi. Ta je predstavljen skozi celotni potek

evolucije, pa tudi med intervali, in je prikazan v obliki različnih pristopov, tako

posameznih izvedb evolucije kakor statističnih metod. Manj jasen ostaja vpogled v

prostoru odločitev, kar pa bi bilo mogoče izvesti z dodatnim prikazom, saj je dostop do

surovih podatkov že omogočen. Potrebna bi bila dodatna, smiselna obdelava z uporabo

statističnih metod in nazoren način vizualizacije lastnosti rešitev v prostoru odločitev.

Page 95: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 82

8 LITERATURA

[1] Bradstreet, L. The hypervolume indicator for multi-objective optimisation:

Calculation and use: doktorska disertacija. Perth: University of Western Australia,

2011.

[2] Coello Coello, C. A., Lamont, G. B., Van Veldhuizen, D. A. Evolutionary

Algorithms for Solving Multi-Objective Problems: Genetic and Evolutionary

Computation, Second Edition. New York: Springer US, 2007.

[3] Cox, T. F., Cox, M. A. A. Multidimensional Scaling, Second Edition, Boca Raton:

Chapman & Hall/CRC Press, 1994.

[4] Črepinšek, M. Evolutionary Algorithm Ratting System (GitHub). Dostopno na:

https://github.com/Mir1001/EARS [15. 8. 2016].

[5] Črepinšek, M., Liu, S. H., Mernik, M. Replication and comparison of

computational experiments in applied evolutionary computing: Common pitfalls

and guidelines to avoid them. Applied Soft Computing, 19, (2014), str. 161–170.

[6] Derrac, J., Garcia, S., Molina, D., Herrera, F. A practical tutorial on the use of

nonparametric statistical tests as a methodology for comparing evolutionary and

swarm intelligence algorithms. Swarm and Evolutionary Computation, 1, (2011), 1,

str. 3-18.

[7] Di z-Man uez, A., Toscano-Pulido, G., Gomez-Flores, W. On the selection of

surrogate models in evolutionary optimization algorithms. V: Proceedings on IEEE

CEC 2011. IEEE Congress on Evolutionary Computation 2011, New Orleans, 5.-8.

junij 2011. New Orleans: Institute of Electrical and Electronics Engineers,

2011, str. 2155-2162.

[8] Eiben, A. E., Smith, J. E. Introduction to Evolutionary Computing, Berlin:

Springer-Verlag, 2003.

[9] Garcia, S., Molina, D., Lozano, M., Herrera, F. A study on the use of non-

parametric tests for analyzing the evolutionary algorithms’ behaviour: a case study

on the CEC’2005 Special Session on Real Parameter Optimization. Journal of

Heuristics, 15, (2009), 6, str. 617-644.

[10] Glickman, M. E. Example of the Glicko-2 system. Boston: Boston University,

2012. Dostopno na: http://www.glicko.net/glicko/glicko2.pdf [5. 9. 2016].

Page 96: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 83

[11] Glickman, M. E. The Glicko system. Boston: Boston University, 1995. Dostopno

na: http://www.glicko.net/glicko/glicko.pdf [5. 9. 2016].

[12] Glickman, M. E., Jones, A. C., Rating the chess rating system, Chance, 12, (1999),

2, str. 21-28.

[13] Katsaloulis, P. About JavaPlot. Dostopno na: http://javaplot.panayotis.com/ [25. 8.

2016].

[14] Kitchenham, B. A., Pfleeger, S. L., Pickard, L. M., Jones, P. W., Hoaglin, D.C., El

Emam, K., Rosenberg, J. Preliminary guidelines for empirical research in software

engineering, IEEE Transactions on Software Engineering, 28, (2002), 8, str. 721–

734.

[15] Mernik, M. Evolucijsko računanje: zapiski predavanj. Maribor: Fakulteta za

elektrotehniko, računalništvo in informatiko Univerze v Mariboru, 2016.

[16] Mernik, M., Črepinšek, M., Žumer, V. Evolucijski algoritmi, Maribor: Fakulteta za

elektrotehniko, računalništvo in informatiko Univerze v Mariboru, 2003.

[17] Mernik, M., Liu, S. H., Karaboga, D., Črepinšek M. On clarifying misconceptions

when comparing variants of Artificial Bee Colony (ABC) Algorithm by offering a

new implementation. Information Sciences, 291, (2015), str. 115–127.

[18] Michalewicz, Z. Genetic Algorithms + Data Structures = Evolution Programs,

Third Edition, Berlin: Springer-Verlag, 1996.

[19] Pareto, V. Cours D’Economie Politi ue. Lausanne, 1896. Dostopno na:

http://www.institutcoppet.org/wp-content/uploads/2012/05/Cours-

d%C3%A9conomie-politique-Tome-I-Vilfredo-Pareto.pdf [7. 9. 2016]

[20] Pohlheim, H. Visualization of Evolutionary Algorithms - Set of Standard

Techniques and Multidimensional Visualization. V: Banzaf, W. (ur.), Proceedings

on the Genetic and Evolutionary Computation Conference. Genetic and

Evolutionary Computation Conference (GECCO-99), Orlando, 13.-17. julij 1999.

San Francisco: Morgan Kaufmann, 1999, vol. 1, str. 533-540.

[21] Ravber, M. Uporaba šahovskega sistema rangiranja za primerjavo evolucijskih

algoritmov večkriterijske optimizacije: magistrska naloga. Maribor: Fakulteta za

elektrotehniko, računalništvo in informatiko Univerze v Mariboru, 2015.

[22] Riedmiller, M., Braun, H. A direct adaptive method for faster backpropagation

learning: The RPROP algorithm. V: Proceedings of the International IEEE

Page 97: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 84

Conference on Neural Networks (ICNN). International IEEE Conference on Neural

Networks, San Francisco, 28. marec-1. april 1993. str. 586-591.

[23] Robič, T., Filipič, B. Večkriterijsko optimiranje z genetskimi algoritmi in

diferencialno evolucijo: Delovno poročilo, IJS-DP 9065. Ljubljana: Inštitut "Jožef

Štefan", 2005.

[24] Sammon, J. W. A Nonlinear Mapping for Data Structure Analysis. IEEE

Transactions on Computers, C-18, (1969), 5, str. 401-409.

[25] Simon, D. Evolutionary Optimization Algorithms: Biologically-Inspired and

Population-Based Approaches to Computer Intelligence, First Edition. New Jersey:

John Wiley & Sons, 2013.

[26] Tušar, T. Visualizing solution sets in multiobjective optimization: doktorska

disertacija. Ljubljana: Mednarodna podiplomska šola Jožefa Stefana, 2014.

[27] Veček, N., Mernik, M., Črepinšek, M. A chess rating system for evolutionary

algorithms: a new method for the comparison and ranking of evolutionary

algorithms. Information sciences, 277, (2014), str. 656-679.

[28] Williams, T., Kelley, C. gnuPlot homepage. Dostopno: http://www.gnuplot.info/

[25. 8. 2016].

[29] Wu, H. C., Sun, C. T., Lee, S. S. Visualization of evolutionary computation

processes from a population perspective. Intelligent Data Analysis, 8, (2004), str.

543-561.

[30] Zitzler E., Laumanns, M., Bleuler, S. A Tutorial on Evolutionary Multiobjective

Optimization, Metaheuristics for Multiobjective Optimisation. Metaheuristics for

Multiobjective Optimisation, 535, (2004), str. 5-37.

Page 98: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 85

Page 99: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 86

Page 100: Vizualizacija procesov evolucijskega računanja - core.ac.uk · III VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija,

Vizualizacija procesov evolucijskega računanja Stran 87