VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA

Velikost: px
Začni prikazovanje s strani:

Download "VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA"

Transkripcija

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

2 VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Magistrsko delo Študent: Študijski program: Tadej Jerovšek študijski program 2. stopnje Računalništvo in informacijske tehnologije Mentor: Lektorica: doc. dr. Matej Črepinšek Jana Padežnik Gomilšek, prof. dr.

3

4 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. II

5 VIZUALIZACIJA PROCESOV EVOLUCIJSKEGA RAČUNANJA Ključne besede: evolucijski algoritmi, večkriterijska optimizacija, vizualizacija informacij, primerjava evolucijskih algoritmov, Pareto dominiranost UDK: : (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. III

6 VISUALIZATION OF EVOLUTIONARY COMPUTATION PROCESSES Key words: evolutionary algorithms, multi-criteria optimization, information visualization, evolutionary algorithm comparisson, Pareto dominance UDK: : (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 singlecriteria 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. IV

7 KAZALO VSEBINE 1 UVOD EVOLUCIJSKI ALGORITMI Ozadje Eksploracija ali eksploatacija? Elitizem Algoritmi s spremenljivo populacijo Enokriterijska optimizacija Večkriterijska optimizacija Pareto dominanca PRIMERJAVA EVOLUCIJSKIH ALGORITMOV No free lunch teorem Ničelna hipoteza Testiranje ničelne hipoteze Težave testiranja ničelne hipoteze Šahovski sistem ocenjevanja Sistem Elo Sistem Glicko Sistem Glicko CRS4EA OGRODJE EARS Implementacija Kontekst in načrtovanje Izvedba ovrednotenja algoritma Analiza in predstavitev rezultatov V

8 4.1.4 Interpretacija rezultatov Podpora za algoritme večkriterijske optimizacije Kasnejša artikulacija informacije o preferencah Generacijska razdalja Obrnjena generacijska razdalja Indikator HV indikator PREGLED OBSTOJEČIH METOD VIZUALIZACIJE Potek evolucije algoritma Stanje v trenutku evolucije Večdimenzionalna predstavitev VIZUALIZACIJA V OGRODJU EARS Tehnične podrobnosti in omejitve Vizualizacija enokriterijske optimizacije Možnosti s strani uporabnika Implementacija Primeri interpretacije Vizualizacija večkriterijske optimizacije Možnosti Tehnične podrobnosti prikazov Primer interpretacije DISKUSIJA IN ZAKLJUČEK LITERATURA VI

9 KAZALO SLIK Slika 2.1: Psevdokod evolucijskih algoritmov [18] Slika 2.2: Načini reševanja problemov večkriterijske optimizacije [30] Slika 4.1: Potek primerjanja v ogrodju EARS [27] Slika 4.2: Intervali, ki 99,7 % zanesljivo vsebujejo resnično oceno [27] Slika 4.3: Znatne razlike, zaznane s CRS4EA, interval zanesljivosti ocene 99,7 % [27] Slika 4.4: Nasprotujoča cilja po metodah kasnejše artikulacije preferenc [23] Slika 4.5: Primer izračuna hipervolumna rešitve večkriterijske optimizacije [1] Slika 5.1: Graf optimalnih posameznikov v posameznih generacijah [20] Slika 5.2: Graf optimuma z dodanim povprečjem in standardnim odklonom v posameznih generacijah [20] Slika 5.3: Graf migracijskega/regionalnega modela. Vsaka krivulja prikazuje svojo podpopulacijo Slika 5.4: Prikazi lastnosti optimalnih posameznikov tekom evolucijskega procesa Slika 5.5: Prikaz uspešnosti vseh posameznikov tekom evolucijskega procesa: Osnovni prikaz (levo), regionalni model (sredina), lokalni model(desno) [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] Slika 5.7: Sekvenca prikazov porazdelitev odločitvenih spremenljivk po generacijah: začetek optimizacije (levo), med optimizacijo (sredina) in na koncu (desno) [20] Slika 5.8: Razdalje med posamezniki v generaciji: globalni/regionalni model (levo), enodimenzionalni lokalni model (sredina), dvodimenzionalni lokalni model (desno) [20] Slika 5.9: Rosenbrockova funkcija s tremi dimenzijami. Optimalne vrednosti, modri pas, so razlog za njeno drugo ime "banana function" VII

10 Slika 5.10: Primeri večdimenzionalnega skaliranja z uporabo metode SAMMON [20] Slika 5.11: Raztrosni grafi za prikaz večdimenzionalnega prostora [26] Slika 5.12: Mehurčni graf z uporabo velikosti točk za dodatno dimenzijo [26] Slika 5.13: Vizualizacija štirih dimenzij z uporabo radialnih koordinat [26] Slika 5.14: Uporaba paralelnih koordinat za vizualizacijo štiri dimenzionalnih vektorjev [26] Slika 5.15: Heatmap za optimizacijo štirih kriterijev [26] 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] Slika 5.18: Rezultat PCA nad linearno in sferično funkcijo [26] Slika 5.19: Graf razdalj (zgoraj) in graf porazdelitve (spodaj) za linearno (zeleno) in sferično (modro) funkcijo [26] 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] Slika 5.21: Prikaz za štetje diagonal v hiperprostoru [26] Slika 5.22: Dvo stopenjska preslikava linearne in sferične funkcije [26] Slika 5.23: Primer izračunanega 3D negativa aproksimacijske množice z uporabo cuboidov [26] Slika 5.24: Primer rezanja prostora z ravnino [26] Slika 5.25: Prikaz cuboidov linearne in sferične funkcije z uporabo rezanja [26] 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] 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) VIII

11 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 Slika 6.3: Sivinski prikaz za RandomWalk pri reševanju problema Easom (levo) in združeni prikazi algoritmov (desno) Slika 6.4: Zgodnja implementacija vizualizacije algoritma TLBO nad problemom Ackley. Razvidna je nerealna poskakovanja fitnessa zaradi nezaznavanja elitizma 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) Slika 6.6: Podrobnejši vpogled v evolucijska procesa algoritmov PSO in TLBO 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 TLBOjev korak eksploracije izkaže za odvečnega Slika 6.8: Slika 58. intervala v animiranem prikazu reševanja večkriterijskega problema 3 s strani NSGAII Slika 6.9: Primerjava nepribližanega (levo) in približanega (desno) prikaza večkriterijske optimizacije Slika 6.10: Primer hipervolumna oziroma dominiranega prostora pri treh kriterijih 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 Slika 6.12: Primeri štirih končnih Pareto front v turnirju algoritmov MOEAD, NSGAII, PESAII, SPEA2 in PAES nad problemom 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) IX

12 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) 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) 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) 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) KAZALO TABEL Tabela 3.1: Delitev testov za testiranje ničelne hipoteze glede na število vrednotenih algoritmov in tip podatkov Tabela 6.1: Končne ocene turnirja enokriterijskih optimizacijskih problemov pri 50 neodvisnih zagonih Tabela 6.2: Rezultati turnirjev večkriterijske optimizacije pri 10 neodvisnih zagonih X

13 SEZNAM UPORABLJENIH KRATIC IN SIMBOLOV ABC ACBL CRS4EA CSV DVR EARS ES GD GIF HV IDM IGD MIP MOEA MOEAD NFL NSGA PAES PCA PESA PNG PSO RD RPROP RWS SPEA TLBO Artificial Bee Colony American Contact Bridge League Chess Rating System for Evolutionary Algorithms Comma-Separated Values Direct Volume Rendering Evolutionary Algorithm Rating System Evolutionary Strategy Generational Distance Graphics Interchange Format Hypervolume Interactive Decision Maps Inverted Generational Distance Maximum Intensity Projection Multi-objective Evolutionary Algorithms Multi-objective Evolutionary Algorithm based on decomposition No Free Lunch theorem Elitist non-dominated sorting Genetic Algorithm Pareto Archived Evolution Strategy Principal Component Analysis Pareto Envelope-Based Selection Algorithm Portable Network Graphics Particle Swarm Optimization Rating Deviation Resilient Backpropagation Random Walk Strategy Strength Pareto Evolutionary Algorithm Teaching-Learning-Based optimization XI

14 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

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

16 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

17 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].

18 Vizualizacija procesov evolucijskega računanja Stran 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] 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.

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

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

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

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

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

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

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

26 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 No free lunch teorem Najprej omenimo osnovni problem ocenjevanja evolucijskih algoritmov. Tega opisuje nofree-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)

27 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] 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.

28 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 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].

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

30 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].

31 Vizualizacija procesov evolucijskega računanja Stran 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)

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

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

34 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, kot dovolj nizka vrednost: 1. Inicializiramo vrednosti: I. II., then: 2. III.

35 Vizualizacija procesov evolucijskega računanja Stran a) b) c) d) (3.20) kjer je nova vrednost igralčeve volatilnosti. [10] 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

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

37 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 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:

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

39 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 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,

40 Vizualizacija procesov evolucijskega računanja Stran 27 CRS4EA definira 99,7 % natančnost oziroma zanesljivost ocenjevanja.. Ta sprememba ima za cilj večjo 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].

41 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

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

43 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] 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.

44 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] 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] 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.

45 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 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].

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

47 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

48 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].

49 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].

50 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].

51 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

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

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

54 Vizualizacija procesov evolucijskega računanja Stran 41 ima vsak posameznik dva soseda (Slika sredina), v dvodimenzionalnem lokalnem modelu pa štiri sosede (Slika 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]:

55 Vizualizacija procesov evolucijskega računanja Stran 42 kjer je d razdalja, i, j in k so posamezniki., (5.1) 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.

56 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 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].

57 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

58 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].

59 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

60 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].

61 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].

62 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].

63 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].

64 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 N enako kardinalnost kakor N, kjer je m naravno število. Zato ž N N 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].

65 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].

66 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].

67 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

68 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 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 spodaj) omogoča lepe, človeku razumljive prikaze, prosojnost in ohranja predstavo globine. Njegova edina slabost je potreba po definiranju prenosne funkcije [26].

69 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].

70 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:

71 Vizualizacija procesov evolucijskega računanja Stran 58 class RecordedData { public SolutionBase solution; public ProblemBase problem; public AlgorithmBase algorithm; public long iteration; } 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. 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 } 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

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

73 Vizualizacija procesov evolucijskega računanja Stran 60 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)); } } } 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.

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

75 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: 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(); V tem odseku kode najprej pridobimo podatke, ki ustrezajo omejitvam algoritmov oziroma problemov. Nato podamo opcijske parametre, kot so imena izhodnih datotek, velikosti

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

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

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

79 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 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, , , 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:

80 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

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

82 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 levo), za probleme brez lokalnih optimumov pa je potratno izkoriščanje ovrednotenj (Slika 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.

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

84 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 ) 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 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 modro območje) oziroma prostora, ki je dominiran samo s strani posameznikov v trenutnem intervalu (Slika modre točke), do sedaj optimalne Pareto fronte (Slika 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 rdeče točke oziroma krivulja), s katero se prikaže algoritmova končna rešitev, ki se poda kot rezultat na turnirju.

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

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

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

88 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 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 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, , , ,8

89 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

90 Vizualizacija procesov evolucijskega računanja Stran 77 sredinskega optimuma (Slika 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 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 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 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 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.

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

Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Samoprilagajanje krmilnih parametrov pri algoritmu diferencialne evoluci

Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Samoprilagajanje krmilnih parametrov pri algoritmu diferencialne evoluci Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Samoprilagajanje krmilnih parametrov pri algoritmu diferencialne evolucije za večkriterijsko optimizacijo MAGISTRSKO DELO Maribor,

Prikaži več

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31 avgust 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven

Prikaži več

Slide 1

Slide 1 Vsak vektor na premici skozi izhodišče lahko zapišemo kot kjer je v smerni vektor premice in a poljubno število. r a v Vsak vektor na ravnini skozi izhodišče lahko zapišemo kot kjer sta v, v vektorja na

Prikaži več

Osnove matematicne analize 2018/19

Osnove matematicne analize  2018/19 Osnove matematične analize 2018/19 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D f R priredi natanko

Prikaži več

Microsoft Word - SI_vaja5.doc

Microsoft Word - SI_vaja5.doc Univerza v Ljubljani, Zdravstvena fakulteta Sanitarno inženirstvo Statistika Inštitut za biostatistiko in medicinsko informatiko Š.l. 2011/2012, 3. letnik (1. stopnja), Vaja 5 Naloge 1. del: t test za

Prikaži več

Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC

Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC VERJETNOST osnovni pojmi Poskus: dejanje pri katerem je izid negotov met

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be Ime in priimek: Vpisna št: FAKULEA ZA MAEMAIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6 julij 2018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven rezultat

Prikaži več

2. Model multiple regresije

2. Model multiple regresije 2. Model multiple regresije doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 2.1 Populacijski regresijski model in regresijski model vzorčnih podatkov

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v financah Ljubljana, 2010 1. Klasični pristop k analizi

Prikaži več

3. Preizkušanje domnev

3. Preizkušanje domnev 3. Preizkušanje domnev doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 3.1 Izračunavanje intervala zaupanja za vrednosti regresijskih koeficientov Motivacija

Prikaži več

Osnove statistike v fizični geografiji 2

Osnove statistike v fizični geografiji 2 Osnove statistike v geografiji - Metodologija geografskega raziskovanja - dr. Gregor Kovačič, doc. Bivariantna analiza Lastnosti so med sabo odvisne (vzročnoposledično povezane), kadar ena lastnost (spremenljivka

Prikaži več

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x Vaje: Matrike 1 Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N n 1 1 0 1 ; n N 0 2 Pokaži, da je množica x 0 y 0 x y x + z ; x, y, z R y x z x vektorski podprostor v prostoru matrik

Prikaži več

FGG13

FGG13 10.8 Metoda zveznega nadaljevanja To je metoda za reševanje nelinearne enačbe f(x) = 0. Če je težko poiskati začetni približek (še posebno pri nelinearnih sistemih), si lahko pomagamo z uvedbo dodatnega

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5 februar 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Nalog je

Prikaži več

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

Microsoft PowerPoint - IPPU-V2.ppt

Microsoft PowerPoint - IPPU-V2.ppt Informatizacija poslovnih procesov v upravi VAJA 2 Procesni pogled Diagram aktivnosti IPPU vaja 2; stran: 1 Fakulteta za upravo, 2006/07 Procesni pogled Je osnova za razvoj programov Prikazuje algoritme

Prikaži več

NAVADNA (BIVARIATNA) LINEARNA REGRESIJA O regresijski analizi govorimo, kadar želimo opisati povezanost dveh numeričnih spremenljivk. Opravka imamo to

NAVADNA (BIVARIATNA) LINEARNA REGRESIJA O regresijski analizi govorimo, kadar želimo opisati povezanost dveh numeričnih spremenljivk. Opravka imamo to NAVADNA (BIVARIATNA) LINEARNA REGRESIJA O regresijski analizi govorimo, kadar želimo opisati povezanost dveh numeričnih spremenljivk. Opravka imamo torej s pari podatkov (x i,y i ), kjer so x i vrednosti

Prikaži več

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA Enopredmetna matematika IN STATISTIKE Maribor, 31. 01. 2012 1. Na voljo imamo kovanca tipa K 1 in K 2, katerih verjetnost, da pade grb, je p 1 in p 2. (a) Istočasno vržemo oba kovanca. Verjetnost, da je

Prikaži več

glava.dvi

glava.dvi Lastnosti verjetnosti 1. Za dogodka A in B velja: P(A B) = P(A) + P(B) P(A B) 2. Za dogodke A, B in C velja: P(A B C) = P(A) + P(B) + P(C) P(A B) P(A C) P(B C) + P(A B C) Kako lahko to pravilo posplošimo

Prikaži več

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

Prikaži več

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površe, pri tem pa zbrati čim več točk. Podobno igro najdemo tudi v knjigi Scratch (Lajovic, 2011), vendar

Prikaži več

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru 6.1 Uvod 6 Igra Chomp Marko Repše, 30.03.2009 Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru in na končni ali neskončni čokoladi. Igralca si izmenjujeta

Prikaži več

Evolucijska optimizacija geometrije profila letalskega krila

Evolucijska optimizacija geometrije profila letalskega krila Univerza v Ljubljani Fakulteta za računalništvo in informatiko Simon Beltram Evolucijska optimizacija geometrije profila letalskega krila DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

Prikaži več

FGG14

FGG14 Iterativne metode podprostorov Iterativne metode podprostorov uporabljamo za numerično reševanje linearnih sistemov ali računanje lastnih vrednosti problemov z velikimi razpršenimi matrikami, ki so prevelike,

Prikaži več

Microsoft Word - SI_vaja1.doc

Microsoft Word - SI_vaja1.doc Univerza v Ljubljani, Zdravstvena fakulteta Sanitarno inženirstvo Statistika Inštitut za biostatistiko in medicinsko informatiko Š.l. 2011/2012, 3. letnik (1. stopnja), Vaja 1 Naloge 1. del: Opisna statistika

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

Microsoft Word - Objave citati RIF in patentne prijave za MP.doc

Microsoft Word - Objave citati RIF in patentne prijave za MP.doc Primerjalna analiza gibanja števila objav, citatov, relativnega faktorja vpliva in patentnih prijav pri Evropskem patentnem uradu I. Uvod Število objav in citatov ter relativni faktor vpliva so najbolj

Prikaži več

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvantnih celičnih avtomatov SEMINARSKA NALOGA Univerzitetna

Prikaži več

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo 36. Goljevščkov spominski dan Modeliranje kroženja vode in spiranja hranil v porečju reke Pesnice Mateja Škerjanec 1 Tjaša Kanduč 2 David Kocman

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH OD

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH OD UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH ODLOČITVENIH DREVES Magistrsko delo Maribor, junij 2014

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Napovedno oglaševanje Kombiniranje internih in eksternih podatkov za boljšo učinkovitost oglaševanja Miloš Suša, iprom Andraž Zorko, Valicon Mojca Pesendorfer, Atlantic Grupa Ljubljana, 22.10.2018 PREDIKTIVNO

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Mrežni modeli polimernih verig Boštjan Jenčič 22. maj 2013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posamezni segmenti p

Mrežni modeli polimernih verig Boštjan Jenčič 22. maj 2013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posamezni segmenti p Mrežni modeli polimernih verig Boštjan Jenčič. maj 013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posameni segmenti polimera asedejo golj ogljišča v kvadratni (ali kubični v

Prikaži več

(Microsoft Word - 3. Pogre\232ki in negotovost-c.doc)

(Microsoft Word - 3. Pogre\232ki in negotovost-c.doc) 3.4 Merilna negotovost Merilna negotovost je parameter, ki pripada merilnem rezltat. Označje razpršenost vrednosti, ki jih je mogoče z določeno verjetnostjo pripisati merjeni veličini. Navaja kakovost

Prikaži več

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja 3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k.

Prikaži več

Matematika 2

Matematika 2 Matematika 2 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 23. april 2014 Soda in liha Fourierjeva vrsta Opomba Pri razvoju sode periodične funkcije f v Fourierjevo vrsto v razvoju nastopajo

Prikaži več

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo 11. Navadne diferencialne enačbe 11.1. Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogoju y(x 0 ) = y 0, kjer je f dana dovolj gladka funkcija

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M15245112* JESENSKI IZPITNI ROK Izpitna pola 2 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali kemični svinčnik in računalo.

Prikaži več

'Kombinatoricna optimizacija / Lokalna optimizacija'

'Kombinatoricna optimizacija / Lokalna optimizacija' Kombinatorična optimizacija 3. Lokalna optimizacija Vladimir Batagelj FMF, matematika na vrhu različica: 15. november 2006 / 23 : 17 V. Batagelj: Kombinatorična optimizacija / 3. Lokalna optimizacija 1

Prikaži več

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Poje Zaporedni in vzporedni genetski algoritmi za reševanje problema trgovskega po

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Poje Zaporedni in vzporedni genetski algoritmi za reševanje problema trgovskega po UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Poje Zaporedni in vzporedni genetski algoritmi za reševanje problema trgovskega potnika DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

Microsoft Word - RAZISKAVA_II._del.doc

Microsoft Word - RAZISKAVA_II._del.doc DEJAVNIKI VARNOSTI CESTNEGA PROMETA V SLOVENIJI Raziskava II. del Inštitut za kriminologijo pri Pravni fakulteti v Ljubljani Ljubljana, avgusta 2010 Vodja raziskave: dr. Dragan Petrovec Izvajalci in avtorji:

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi Kemijska tehnologija, Kemija Bolonjski univerzitetni program Smer: KT K WolframA: DA NE Računski del izpita pri predmetu MATEMATIKA I 6. 2. 2014 Čas reševanja je 75 minut. Navodila: Pripravi osebni dokument.

Prikaži več

OSNOVE UMETNE INTELIGENCE

OSNOVE UMETNE INTELIGENCE OSNOVE UMETNE INTELIGENCE 2017/18 regresijska drevesa ocenjevanje učenja linearni modeli k-nn Zoran Bosnić del gradiva povzet po: Bratko: Prolog programming for AI, Pearson (2011) in Russell, Norvig: AI:

Prikaži več

Statistika, Prakticna matematika, , izrocki

Statistika, Prakticna matematika, , izrocki Srednje vrednosti Srednja vrednost...... številske spremenljivke X je tako število, s katerim skušamo kar najbolje naenkrat povzeti vrednosti na posameznih enotah: Polovica zaposlenih oseb ima bruto osebni

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

STAVKI _5_

STAVKI _5_ 5. Stavki (Teoremi) Vsebina: Stavek superpozicije, stavek Thévenina in Nortona, maksimalna moč na bremenu (drugič), stavek Tellegena. 1. Stavek superpozicije Ta stavek določa, da lahko poljubno vezje sestavljeno

Prikaži več

DELEGIRANA UREDBA KOMISIJE (EU) 2016/ z dne 2. junija o dopolnitvi Uredbe (EU) št. 600/ Evropskega parlamenta i

DELEGIRANA  UREDBA  KOMISIJE  (EU)  2016/ z dne  2.  junija o dopolnitvi  Uredbe  (EU)  št.  600/ Evropskega  parlamenta  i L 313/6 DELEGIRANA UREDBA KOMISIJE (EU) 2016/2021 z dne 2. junija 2016 o dopolnitvi Uredbe (EU) št. 600/2014 Evropskega parlamenta in Sveta o trgih finančnih instrumentov v zvezi z regulativnimi tehničnimi

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

Mere kompleksnih mrež (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike

Mere kompleksnih mrež   (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike Mere kompleksnih mrež (angl. Network Statistics) Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike Ajda Pirnat, Julia Cafnik in Živa Mitar Fakulteta za matematiko in fiziko April

Prikaži več

EVROPSKA KOMISIJA Bruselj, C(2018) 7942 final UREDBA KOMISIJE (EU) / z dne o spremembi prilog I, III, VI, VII, VIII, IX, X, XI in

EVROPSKA KOMISIJA Bruselj, C(2018) 7942 final UREDBA KOMISIJE (EU) / z dne o spremembi prilog I, III, VI, VII, VIII, IX, X, XI in EVROPSKA KOMISIJA Bruselj, 3.12.2018 C(2018) 7942 final UREDBA KOMISIJE (EU) / z dne 3.12.2018 o spremembi prilog I, III, VI, VII, VIII, IX, X, XI in XII k Uredbi (ES) št. 1907/2006 Evropskega parlamenta

Prikaži več

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode]

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode] Telekomunikacijski inženiring dr. Iztok Humar Vsebina Značilnosti TK prometa, preprosti modeli, uporaba Uvod Značilnosti telekomunikacijskega prometa Modeliranje vodovno komutiranih zvez Erlang B Erlang

Prikaži več

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu Na podlagi 64. člena Pravil o organizaciji in delovanju Fakultete za humanistične študije, št. 011-01/13 z dne 27. 6. 2013, je Senat Univerze na Primorskem Fakultete za humanistične študije na svoji 4.

Prikaži več

2019 QA_Final SL

2019 QA_Final SL Predhodni prispevki v enotni sklad za reševanje za leto 2019 Vprašanja in odgovori Splošne informacije o metodologiji izračuna 1. Zakaj se je metoda izračuna, ki je za mojo institucijo veljala v prispevnem

Prikaži več

Osnove verjetnosti in statistika

Osnove verjetnosti in statistika Osnove verjetnosti in statistika Gašper Fijavž Fakulteta za računalništvo in informatiko Univerza v Ljubljani Ljubljana, 26. februar 2010 Poskus in dogodek Kaj je poskus? Vržemo kovanec. Petkrat vržemo

Prikaži več

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx Analiza dosežkov pri predmetu matematika za NPZ 28 6. razred NPZ matematika 28 Dosežek šole Povprečno število točk v % Državno povprečje Povprečno število točk v % Odstopanje v % 49,55 52,52 2,97 Povprečni

Prikaži več

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn 5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisni. Če so krajevni vektorji do točk a 0,..., a k v R

Prikaži več

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf uporaba for zanke i iz korak > 0 oblika zanke: for i iz : korak : ik NE i ik DA stavek1 stavek2 stavekn stavek1 stavek2 stavekn end i i + korak I&: P-XI/1/17 uporaba for zanke i iz korak < 0 oblika zanke:

Prikaži več

Microsoft PowerPoint - cigre_c2_15.ppt [Compatibility Mode]

Microsoft PowerPoint - cigre_c2_15.ppt [Compatibility Mode] Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Boštjan Polajžer, Drago Dolinar, Jožef Ritonja (FERI) bostjan.polajzer@um.si Andrej Semprimožnik (ELES) KAZALNIKI KAKOVOSTI

Prikaži več

RC MNZ - kategorija U12 in U13 TRENING 3-4 SKLOP: Igra 1:1 USMERITEV TRENINGA: CILJ: Igra 1:1 v napadu Utrjevanje uspešnosti igre 1:1 v napadu UVODNI

RC MNZ - kategorija U12 in U13 TRENING 3-4 SKLOP: Igra 1:1 USMERITEV TRENINGA: CILJ: Igra 1:1 v napadu Utrjevanje uspešnosti igre 1:1 v napadu UVODNI RC MNZ - kategorija U12 in U13 TRENING 3-4 SKLOP: Igra 1:1 USMERITEV TRENINGA: CILJ: Igra 1:1 v napadu Utrjevanje uspešnosti igre 1:1 v napadu UVODNI DEL (20 minut) 1. NAVAJANJE NA ŽOGO (12 minut) S klobučki

Prikaži več

NAVODILA AVTORJEM PRISPEVKOV

NAVODILA AVTORJEM PRISPEVKOV Predmetna komisija za nižji izobrazbeni standard matematika Opisi dosežkov učencev 6. razreda na nacionalnem preverjanju znanja Slika: Porazdelitev točk pri matematiki (NIS), 6. razred 1 ZELENO OBMOČJE

Prikaži več

Poslovilno predavanje

Poslovilno predavanje Poslovilno predavanje Matematične teme z didaktiko Marko Razpet, Pedagoška fakulteta Ljubljana, 20. november 2014 1 / 32 Naše skupne ure Matematične tehnologije 2011/12 Funkcije več spremenljivk 2011/12

Prikaži več

Microsoft PowerPoint - UN_OM_G03_Marketinsko_raziskovanje

Microsoft PowerPoint - UN_OM_G03_Marketinsko_raziskovanje .: 1 od 10 :. Vaja 3: MARKETINŠKO KO RAZISKOVANJE Marketinško ko raziskovanje Kritičen del marketinškega informacijskega sistema. Proces zagotavljanja informacij potrebnih za poslovno odločanje. Relevantne,

Prikaži več

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / 24. 5. 2019 Uradni list Republike Slovenije PRILOGA 1 PRAVILA ZA OBLIKOVANJE

Prikaži več

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta 1978. Bila je ena izmed prvih streljaških iger, v kateri je igralec vodil laserski top ali vesoljsko ladjo,

Prikaži več

MERE SREDNJE VREDNOSTI

MERE SREDNJE VREDNOSTI OPIS PODATKOV ENE SPREMENLJIVKE frekvenčne porazdelitve in mere srednje vrednosti as. dr. Nino RODE Uni-Lj. Fakulteta za socialno delo O ČEM BOMO GOVORILI NAMEN OPISNE STATISTIKE Kako opisati podatke OPIS

Prikaži več

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo Turingov stroj in programiranje Barbara Strniša 12. 4. 2010 1 Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolov (običajno Σ 2) Σ n = {s 1 s 2... s n ; s i Σ, i =

Prikaži več

2

2 LETNO POROČILO O KAKOVOSTI ZA RAZISKOVANJE ČETRTLETNO STATISTIČNO RAZISKOVANJE O ELEKTRONSKIH KOMUNIKACIJSKIH STORITVAH (KO-TEL/ČL) IN LETNO STATISTIČNO RAZISKOVANJE O ELEKTRONSKIH KOMUNIKACIJSKIH STORITVAH

Prikaži več

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Trditev: idealni enosmerni tokovni vir obratuje z močjo

Prikaži več

7. VAJA A. ENAČBA ZBIRALNE LEČE

7. VAJA A. ENAČBA ZBIRALNE LEČE 7. VAJA A. ENAČBA ZBIRALNE LEČE 1. UVOD Enačbo leče dobimo navadno s pomočjo geometrijskih konstrukcij. V našem primeru bomo do te enačbe prišli eksperimentalno, z merjenjem razdalj a in b. 2. NALOGA Izračunaj

Prikaži več

Vrste

Vrste Matematika 1 17. - 24. november 2009 Funkcija, ki ni algebraična, se imenuje transcendentna funkcija. Podrobneje si bomo ogledali naslednje transcendentne funkcije: eksponentno, logaritemsko, kotne, ciklometrične,

Prikaži več

Slide 1

Slide 1 SLUČAJNE SPREMENLJIVKE Povezave med verjetnostjo P, porazdelitveno funcijo F in gostoto porazdelitve p. P F (x) =P( x) P(a b)=f (b)-f (a) F p Slučajna spremenljiva ima gostoto p. Kašno gostoto ima Y=+l?

Prikaži več

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se velikokrat zmoti. Na srečo piše v programu Microsoft

Prikaži več

Microsoft Word - Astronomija-Projekt19fin

Microsoft Word - Astronomija-Projekt19fin Univerza v Ljubljani Fakulteta za matematiko in fiziko Jure Hribar, Rok Capuder Radialna odvisnost površinske svetlosti za eliptične galaksije Projektna naloga pri predmetu astronomija Ljubljana, april

Prikaži več

NAVODILA ZA IGRANJE IGER NA PRODAJNIH MESTIH 1

NAVODILA ZA IGRANJE IGER NA PRODAJNIH MESTIH 1 NAVODILA ZA IGRANJE IGER NA PRODAJNIH MESTIH 1 Kazalo KAZALO STAVE... 4 Športne stave...4 Stave na številke...5 Cifra plus...5 Top 6...7 Virtualni športi...8 IGRE S SKUPNIM SKLADOM... 10 TOTOGOL...10

Prikaži več

DEDOVANJE BARVNE SLEPOTE

DEDOVANJE BARVNE SLEPOTE DEDOVANJE BARVNE SLEPOTE 1. UVOD: Vsak človek ima 23 parov kromosomov, od tega 22 parov avtosomih kromosomov in en par spolnih kromosomov. Ta ne določata samo spola, temveč vsebujeta tudi gene za nekatere

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Zapisovanje učnih izidov Bled, 21.1.2016 Darko Mali ECVET ekspert, CPI Pojmi: Kvalifikacija Kompetenca Učni cilji Učni izidi Enote učnih izidov Kreditne točke Programi usposabljanja NE! 2 Učni cilji kompetence

Prikaži več

Brownova kovariancna razdalja

Brownova kovariancna razdalja Brownova kovariančna razdalja Nace Čebulj Fakulteta za matematiko in fiziko 8. januar 2015 Nova mera odvisnosti Motivacija in definicija S primerno izbiro funkcije uteži w(t, s) lahko definiramo mero odvisnosti

Prikaži več

LaTeX slides

LaTeX slides Statistični modeli - interakcija - Milena Kovač 23. november 2007 Biometrija 2007/08 1 Število živorojenih pujskov Biometrija 2007/08 2 Sestavimo model! Vplivi: leto, farma Odvisna spremenljivka: število

Prikaži več

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila Programsko orodje LabVIEW za kreiranje, zajem in obdelavo signalov (statične in dinamične karakteristike hidravličnih proporcionalnih ventilov) Marko Šimic Telefon: +386 1 4771 727 e-mail: marko.simic@fs.uni-lj.si

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Brexit_Delakorda_UMAR

Brexit_Delakorda_UMAR MAKROEKONOMSKI IZGLEDI ZA EU IN SLOVENIJO KAKŠNA JE / BO VLOGA BREXITA? Aleš Delakorda, UMAR C F A S l o v e n i j a, 1 7. 1 0. 2 0 1 6 M A K R O E K O N O M S K I P O L O Ž A J I N I Z G L E D I Z A E

Prikaži več

PRILOGA 2 Minimalni standardi kakovosti oskrbe za izbrane dimenzije kakovosti oskrbe in raven opazovanja posameznih parametrov kakovosti oskrbe 1. NEP

PRILOGA 2 Minimalni standardi kakovosti oskrbe za izbrane dimenzije kakovosti oskrbe in raven opazovanja posameznih parametrov kakovosti oskrbe 1. NEP PRILOGA 2 Minimalni standardi kakovosti oskrbe za izbrane dimenzije kakovosti oskrbe in raven opazovanja posameznih parametrov kakovosti oskrbe 1. NEPREKINJENOST NAPAJANJA 1.1. Ciljna raven neprekinjenosti

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika Pisni izpit. junij 22 Ime in priimek Vpisna st Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer so

Prikaži več

Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Možina Argumentirano strojno učenje z uporabo logistične regresije MAGISTRSKO DEL

Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Možina Argumentirano strojno učenje z uporabo logistične regresije MAGISTRSKO DEL Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Možina Argumentirano strojno učenje z uporabo logistične regresije MAGISTRSKO DELO MAGISTRSKI PROGRAM DRUGE STOPNJE RAČUNALNIŠTVO IN

Prikaži več

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2 Šifra kandidata: Srednja elektro šola in tehniška gimnazija ELEKTROTEHNIKA PISNA IZPITNA POLA 1 12. junij 2013 Čas pisanja 40 minut Dovoljeno dodatno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Miklavič 30. okt. 2003 Math. Subj. Class. (2000): 05E{20,

Prikaži več

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri tem je lahko nelinearna funkcija f podana eksplicitno,

Prikaži več

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Word - avd_vaje_ars1_1.doc ARS I Avditorne vaje Pri nekem programu je potrebno izvršiti N=1620 ukazov. Pogostost in trajanje posameznih vrst ukazov računalnika sta naslednja: Vrsta ukaza Štev. urinih period Pogostost Prenosi podatkov

Prikaži več

ANALITIČNA GEOMETRIJA V RAVNINI

ANALITIČNA GEOMETRIJA V RAVNINI 3. Analitična geometrija v ravnini Osnovna ideja analitične geometrije je v tem, da vaskemu geometrijskemu objektu (točki, premici,...) pridružimo števila oz koordinate, ki ta objekt popolnoma popisujejo.

Prikaži več

PKP projekt SMART WaterNet_Opis

PKP projekt SMART WaterNet_Opis PKP projekt SMART WaterNet Po kreativni poti do znanja (PKP) opis programa Program Po kreativni poti do znanja omogoča povezovanje visokošolskih zavodov s trgom dela in tako daje možnost študentom za pridobitev

Prikaži več

Microsoft PowerPoint - 14 IntrerspecifiOna razmerja .ppt

Microsoft PowerPoint - 14 IntrerspecifiOna razmerja .ppt IV. POPULACIJSKA EKOLOGIJA 14. Interspecifična razmerja Št.l.: 2006/2007 1 1. INTERSPECIFIČNA RAZMERJA Osebki ene vrste so v odnosih z osebki drugih vrst, pri čemer so lahko ti odnosi: nevtralni (0), pozitivni

Prikaži več

Microsoft PowerPoint - OAPS1- Uvod.ppt

Microsoft PowerPoint - OAPS1- Uvod.ppt Univerza v Ljubljani Fakulteta za računalništvo in informatiko Igor Rožanc Osnove algoritmov in podatkovnih struktur I ( OAPS I ) 2. letnik VSP Računalništvo in informatika, vse smeri Študijsko leto 2006/07

Prikaži več

Teorija kodiranja in kriptografija 2013/ AES

Teorija kodiranja in kriptografija 2013/ AES Teorija kodiranja in kriptografija 23/24 AES Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 8. 3. 24 AES - zgodovina Septembra 997 je NIST objavil natečaj za izbor nove

Prikaži več