PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI

Size: px
Start display at page:

Download "PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI"

Transcription

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

2 2 Diplomsko delo univerzitetnega študijskega programa PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI Študent: Študijski program: Janko Juršič UN ŠP Računalništvo in informacijske tehnologije Smer: / Mentor(ica): Somentor(ica): Lektor(ica): izred. prof. dr. Janez Brest asist. mag. Aleš Zamuda Mateja Pučko, univ. dipl. prof. slov. Maribor, september 2010

3 3 ZAHVALA Zahvaljujem se mentorju izred. prof. dr. Janezu Brestu in somentorju asis. mag. Alešu Zamudi za pomoč in vodenje pri opravljanju diplomskega dela. Posebna zahvala velja staršem, ki so mi omogočili študij.

4 4 PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI Ključne besede: simetrični trgovski potnik, genetski algoritem, optimizacija UDK: 004.8:004.45(043.2) Povzetek V tem diplomskem delu predstavljamo problem simetričnega trgovskega potnika, različne pristope k reševanju problema ter optimizacijo iskanja rešitve problema z genetskimi algoritmi. Opišemo, kaj problem simetričnega trgovskega potnika predstavlja, kako so ga reševali v preteklosti in kakšne rezultate so dosegli. V diplomskem delu uporabimo naslednje hevristike: metoda najbližjega soseda, genetski algoritem, kombinacijo genetskega algoritma z metodo najbližjega soseda in eksaktni algoritem metodo sestopanje. Opišemo tudi dobljene rezultate s posamezno hevristiko.

5 5 SYMMETRIC TRAVELING SALESMAN PROBLEM AND GENETIC ALGORITHM OPTIMIZATION Key words: symmetric traveling salesman, genetic algorithm, optimization UDK: 004.8:004.45(043.2) Abstract In this diploma work, we introduce traveling salesman problem, different methods for solving the problem, and optimization using genetic algorithms. We introduce the core of the problem, its history, ways to solve it and accomplished results. We also introduce all heuristics we used in this diploma: nearest neighbour heuristic, genetic algorithms, combination of genetic algorithms with nearest neighbour heuristic and exact algorithm backtracking method. We also introduce results we obtained.

6 6 Kazalo vsebine 1 UVOD REŠEVANJE PROBLEMA TRGOVSKEGA POTNIKA Računalniška predstavitev problema Algoritmi za reševanje TSP Reševanje problema s hevristikami Lokalno iskanje Eksaktni algoritmi Genetski algoritmi Kodiranje Ovrednotenje Kriţanje Mutacija IMPLEMENTIRANE METODE Reševanje TSP s sestopanjem Reševanje TSP z genetskimi algoritmi Naš algoritem Časovna zahtevnost algoritmov PREGLED REZULTATOV IMPLEMENTIRANIH METOD Opis konfiguracije strojne in programske opreme Pregled rezultatov,dobljenih z metodo sestopanje Pregled rezultatov, dobljenih z metodo najbližji sosed Pregled rezultatov, dobljenih z genetskim algoritmom Pregled rezultatov, dobljenih z našim algoritmom Primerjava genetskega in našega algoritma... 31

7 7 5 SKLEP VIRI IN LITERATURA Kazalo slik Slika 1: Urejeno kriţanje, kriţanje z delnim ujemanjem in kroţno kriţanje Slika 2: Primer matrike sosednosti Slika 3: Povezanost vozlišč glede na podatke v matriki sosednosti Slika 4: Drevo povezav Slika 5: Genetski algoritem za reševanje TSP Kazalo tabel Tabela 1: Reševanje TSP z metodo sestopanje Tabela 2: Reševanje TSP z metodo najbliţjega soseda Tabela 3: Reševanje TSP z genetskim algoritmom Tabela 4: Reševanje TSP z našim algoritmom... 30

8 8 UVOD Problem trgovskega potnika (TSP) opisuje pot osebe, ki ţeli prehoditi določeno pot, na kateri ima zastavljene točke. Te točke ţeli obiskati tako, da obišče vse točke največ enkrat in se vrne nazaj v prvotno točko izhodišče. Pri tem je pomembno, da je pot, ki jo opravi, čim krajša. Ker gre za NP-poln problem (TSP zaenkrat še ni mogoče rešiti v polinomskem času 1 ), se je skozi zgodovino razvilo veliko različnih metod reševanja problema. Vsaka metoda rešuje TSP na svoj način. Metode, ki smo jih preučili za potrebe tega diplomskega dela, kot osnovo za iskanje rešitve potrebujejo matriko sosednosti. V matriki sosednosti vse povezave grafa 2 predstavimo v obliki matrike 3. Pri tem matriko oblikujemo tako, da vrstice predstavljajo povezave iz določenega vozlišča v druga vozlišča, stolpci pa predstavljajo vhodne povezave v določeno vozlišče. V diplomskem delu preučimo problem simetričnega trgovskega potnika, pri katerem je dolţina poti med dvema vozliščema grafa enaka v obeh smereh. Cilj diplomskega dela je primerjati kakovost in hitrost rešitev, ki jih lahko pridobimo z reševanjem TSP s pomočjo posamezne metode na razpoloţljivih računalniških virih. TSP je namreč računsko zahteven, zato je potrebno obseg problema ustrezno omejiti, da lahko dobimo uporabne rešitve v sprejemljivem času. Različne metode reševanja TSP, ki jih predstavimo v tem diplomskem delu, ponujajo različno dobre in različno hitre rešitve, ki so različno blizu znanim optimalnim rešitvam. 1 polinomski čas: problem je rešljiv v polinomskem času, če čas iskanja rešitve narašča počasneje kot eksponentno in so eksponenti v oceni časa iskanja rešitve fiksni (polinomski). 2 graf: način prikaza povezanosti mest, kjer mesto nadomestimo z vozliščem, pot med mesti s povezavo ter dolţino poti s ceno povezave. 3 matrika: posebna oblika tabele, kjer so števila urejena v vrstice in stolpce.

9 9 V diplomskem delu uporabimo več različnih metod reševanja TSP, ki jih primerjamo med seboj glede na čas, ki je potreben za iskanje rešitve za določen obseg TSP. Za reševanje smo uporabili metodo sestopanje, metodo lokalnega iskanja po principu najbližjega soseda in optimizacijo z genetskimi algoritmi. V prvem sklopu diplomskega dela predstavimo splošno plat TSP. Bralca poučimo o TSP iz stališča računalništva. Predstavimo zgodovino reševanja TSP in doseţke drugih avtorjev. V drugem sklopu podrobneje opišemo metode reševanja TSP, ki smo jih uporabili pri izdelavi diplomskega dela. Predstavimo tudi dobljene rezultate in podamo ugotovitve, ki smo jih oblikovali na podlagi dobljenih rezultatov. V zadnjem sklopu predstavimo sklep, ki smo ga oblikovali na podlagi celotnega procesa nastajanja diplomskega dela in podamo seznam virov, ki so nam pomagali še bolje spoznati TSP in ga s pomočjo uporabljenih metod v dovolj velikem obsegu tudi uspešno rešiti.

10 10 Reševanje problema trgovskega potnika Problem trgovskega potnika je prvič iz matematičnega stališča predstavil irski matematik W. R. Hamilton skupaj z britanskim kolegom Thomasom Kirkmanom okoli leta Osnovne metode reševanja TSP podobne današnjim so se pojavile okoli leta 1930 na univerzah na Dunaju in Harvardu. V tem času je največ prispeval Karl Menger, ki je definiral problem trgovskega potnika, ampak problema ni poimenoval tako. Razvil je še brute-force algoritem za reševanje TSP in dokazal neoptimalnost metode najbližjega soseda 4 [1]. Hassler Whitney iz univerze Princeton je kmalu za Mengerjem prvič predstavil pojem problem trgovskega potnika [1]. TSP je pridobival popularnost v 50. in 60.-ih letih 20. stoletja v znanstvenih krogih Evrope in ZDA. Pomembnejše doseţke so v tem času dosegli George Dantzing, Delbert Ray Fulkerson in Seldmer M. Johnson v korporaciji RAND v Santa Monici [9]. Slednji so reševali TSP z metodo celoštevilskega linearnega programiranja. Izdelali so še model rezanja nivojev, s katerim so rešili problem z devetinštiridesetimi mesti in dokazali, da ne obstaja boljša rešitev. V naslednjih desetletjih so TSP reševali številni matematiki, kemiki, računalničarji, fiziki in ostali znanstevniki. Richard M. Karp je leta 1972 predstavil NP-polnost Hamiltonovega cikla 5, s čimer je dokazal tudi NP-polnost problema trgovskega potnika [14]. Velik doseţek so dosegli v 70. in 80.-ih letih Grötschel, Padberg, Rinaldi in ostali. Uspešno so rešili TSP z največ 2392 mesti, z uporabo metod rezanja nivojev in razveji in omeji. 4 metoda najbliţjega soseda: v kroţno pot trgovskega potnika dodajamo povezavo med trenutnim in najbliţjim najbliţjim sosednjim mestom. 5 Hamiltonov cikel: vsako vozlišče grafa obiščemo natanko enkrat po najkrajši moţni poti.

11 11 V 90.-ih letih so Applegate, Bixby, Chvatal in Corby izdelali programsko knjiţnico Concorde [3], ki je uporabljena v mnogih današnjih rešitvah. Leta 1991 je Gerhard Reinelt objavil TSPLIB [11], ki predstavlja knjiţnjico mnogih rešitev z različno zahtevnostjo in uspešnostjo ter znanimi najboljšimi rešitvami. Leta 2005 so omenjeni znanstveniki uspešno rešili problem s mesti. Ta rešitev ostaja ena največjih še danes [4]. Računalniška predstavitev problema TSP lahko predstavimo kot graf, kjer mesta predstavljajo vozlišča grafa, poti med mesti so povezave grafa, cena poti pa pomeni dolţino povezave med dvema vozliščema. Najboljša rešitev problema trgovskega potnika predstavlja Hamiltonov cikel. Poznamo simetrično in asimetrično obliko TSP: pri simetrični obliki so razdalje med dvema mestoma (vozliščema) enake v obe smeri, pri asimetrični se lahko razlikujejo. Vzrok za to tiči v realnih razmerah v prometu: enosmerne ulice, zastoji v prometu, razna gradbena dela in ostale ovire na cestah. Obstaja tudi več modelov predstavitve povezav med mesti: v metričnih modelih 6 problema trgovskega potnika vmesna mesta tvorijo trikotniško neenakost: direktna povezava med mestoma A in B načeloma ni nikoli daljša, kot pot iz mesta A preko mesta C do mesta B, kar je vidno v enačbi: c ij <= c ik + c kj (1) V evklidskem modelu je razdalja med dvema mestoma enaka evklidski razdalji 7 med dvema točkama grafa. V pravokotno-linearnem modelu je razdalja enaka vsoti razlik x in y koordinat dveh mest v posameznem grafu. Model se imenuje tudi manhattanska razdalja oziroma mestni-blokovski model. 6 metrični modeli: znane so razdalje med mesti, ki jih ţelimo obiskati. 7 evklidska razdalja: razdalja se izračuna kot koren vsote kvadratov razlik med y in x koordinato posameznega para točk.

12 12 Algoritmi za reševanje TSP Reševanja TSP se lahko lotimo s pomočjo eksaktnih algoritmov, ki delujejo dobro za relativno majhne TSP. Lahko pa uporabimo eno izmed mnogih hevristik, ki sicer ponujajo moţnost pridobitve rešitve za obseţne TSP, vendar ne zagotavljajo optimalne rešive. Najbolj direktna moţna rešitev bi bila sledeča: preizkusimo vse moţne permutacije (načine povezovanja oglišč v sklenjeno celoto) in izberimo najboljšo. Postopek ima eksponentno časovno zahtevnost 8 (O(n!)). Izkaţe se za neučinkovitega ţe pri problemih z več kot dvajset mesti. Najstarejša oblika metode dinamičnega programiranja reši TSP z dvajset mesti v časovni zahtevnosti O(n 2 2 n ). Različni postopki metode razveji in omeji rešijo TSP s štirideset do šestdeset mesti, ob nadgradnji postopka z različnimi tehnikami linearnega programiranja pa vse do dvesto mest. V projektu Concorde so Applegate in ostali leta 2006 implementirali algoritem, ki daje optimalno rešitev za TSP z mesti [4]. Leta 2001 so George Dantzig, Ray Fulkerson in Selmer Johnson predstavili optimalno rešitev za nemških mest z modelom, ki temelji na linearnem programiranju [9]. Maja 2004 so našli rešitev za švedskih mest, marca 2005 rešitev za mest in aprila 2006 rešitev za mest. Za reševanje teh treh problemov so uporabili postopke iz projekta knjiţnice Concorde, ki so jih ustrezno nadgradili in izboljšali [2][3]. 8 časovna zahtevnost: bralec razlago časovne zahtevnosti najde v poglavju 3.4

13 13 Reševanje problema s hevristikami Do današnjega dne so se razvile številne hevristike za reševanje TSP. Sodobne hevristike omogočajo reševanje TSP v razmeroma kratkem času za zelo obseţne TSP, katerih rešitev je zelo blizu optimalni rešitvi. - Hevristika najbliţjega soseda Hevristika najbliţjega soseda ali t.i. požrešni algoritem deluje tako, da pri izdelavi poti vedno izbere najbliţje mesto, kot točko premika iz trenutnega mesta. Algoritem hitro najde krajše rešitve. Nekateri strokovnjaki iz tega področja (Gutin, Yeo, Zverovich) so dokazali, da rešitev ni nujno najboljša [10]. - menjava parov ali Lin-Kerrnigan-ova hevristika Hevristika iterativno odstranjuje dve vozlišči in ju nadomešča z novima dvema, ki hkrati poveţeta nastale drobce mreţe povezav in tvorita novo, krajšo skupno pot. - Hevristika k-opt Dana je pot trgovskega potnika, iz katere izbrišemo k vzajemno povezanih vozlišč. Dobljene koščke mreţe povezav zdruţimo v novo pot tako, da v njej ne obstajajo vzajemne povezave vozlišč. Najbolj popularna oblika je 3-opt metoda, ki jo je predstavil Shen Lin leta 1965 [5]. - Hevristika v-opt Metoda optimizacije spremenljivk je povezana in posplošena oblika k-opt metode. Medtem ko k-opt metoda odstranjuje konstantno število vozlišč iz originalne poti, metoda optimizacije spremenljivk povečuje nabor vozlišč za odstranitev skozi celoten proces iskanja poti. Prva oblika tovrstne metode je bila predstavljena iz strani Shen Lin-a in Briana Kernighana kot Lin-Kernighan-ova metoda (ali metoda 2-opt) leta Metoda se je izkazala kot najbolj učinkovita v naslednjih dveh desetletjih. Izboljšave je v 80.-ih letih objavil David Johnson s skupino raziskovalcev. Lin-Kernighan-Johnson-ova metoda deluje na osnovi 2-opt metode, nato pa iz poti s pomočjo mutacije odstrani vsaj štiri vozlišča in dobljene koščke poveţe v skupno pot. Metode v-opt so ene najbolj učinkovitih za reševanje TSP [5].

14 14 - Naključne izboljšave Gre za izboljšane algoritme Markovove verige 9. Metoda najde rešitve izjemno blizu optimalni rešitvi za mest [6]. Algoritmi spreminjanja naključnih poti so trenutno najbolj popularna metoda v iskalnih algoritmih, ki delujejo na mnoţici do mest. Najprej izberemo naključno pot in štiri bliţnje točke. Poti s temi točkami premešamo tako, da dobimo novo naključno pot in hkrati niţamo zgornjo mejo dolţine poti. Lokalno iskanje Testiranja različnih metod in pristopov k reševanju TSP so pokazala, da konstruktivni algoritmi pripeljejo do slabših rezultatov, kot lokalni iskalni algoritmi [8]. Lokalni iskalni algoritmi namreč pri iskanju rešitve TSP izbirajo najbljiţje točke mesta, kamor se pri napredovanju premaknemo. Tako obstaja večja verjetnost, da bomo našli krajšo pot. Algoritmi lokalnega iskanja obsegajo predvsem hevristike v-opt, ki so se izkazale za najboljše in so v praksi tudi največkrat uporabljene. Pri 2-opt optimizaciji iz trenutne rešitve TSP naključno izberemo dva para vozlišč. Nato jih skušamo povezati tako, da je skupna razdalja med njimi manjša od trenutno določene. Primer je viden na enačbi za 2-opt krajšanje razdalj: c ab + c cd > c ac + c db (2) Podoben primer je 3-opt optimizacija, kjer namesto dveh izberemo 3 pare vozlišč in jih ustrezno poveţemo: c ab + c cd + c ef > c ac + c be + c df (3) 9 Markovova veriga: ime je dobila po avtorju Andreju Markovu, gre za posebno obliko diskretnih naključnih procesov, kjer vsak naslednji korak pri iskanju rešitve ne temelji na ţe narejenih korakih.

15 15 Algoritem za 2-opt optimizacijo: do{ for (vsako začetno točko i) { for (vsako končno točko j) { if (( (i,i+1) + (j,j+1)) > ( (i,j) + (i+1,j+1))) { zamenjamo povezave, ter popravimo pripadajoče zaporedje } } } } Izbira lokalnega iskalnega algoritma je odvisna od zastavljenega problema. Za TSP se kot najboljša izkaţeta 2-opt in 3-opt, ki iterativno zamenjujeta po dve ali tri povezave, dokler ne najdeta boljše rešitve. Eksaktni algoritmi V to skupino spadajo algoritmi, ki delujejo po načelu razveji in omeji. To pomeni, da za iskanje rešitve problema, ki ga skušamo rešiti s pomočjo tovrstnih algoritmov tvorimo drevo rešitev, ki jih nato sistematično pregledamo in poiščemo najboljšo rešitev. V to skupino med drugim spada tudi metoda sestopanje. Sestopanje je ena izmed zelo pogostih iskalnih strategij, ki je zelo podobna iskanju v globino 10. Prednost sestopanja pred drugimi iskalnimi strategijami je v tem, da ne zahteva posebnega poznavanja problema in da v povprečju zelo uspešno rešuje probleme, pri katerih to metodo uporabljamo. Najbolj znan problem, ki ga lahko rešujemo s sestopanjem, je iskanje poti iz labirinta. Pri preiskovanju moţnih rešitev sledimo poti do prve slepe ulice in se nato vrnemo do zadnjega kriţišča in od tam nadaljujemo po novi poti, dokler spet ne naletimo na slepo ulico ali pridemo do moţne rešitve problema. 10 iskanje v globino: pri iskanju rešitve se spuščamo do konca posamezne veje drevesa povezav; ko pridemo do konca, se vrnemo do zadnjega kriţišča in ponovimo iskanje po novi veji.

16 16 Pri neugodnih vhodnih podatkih je potrebno preiskati vse moţne rešitve, preden najdemo pravo. Kadar uporabljamo sestopanje pri reševanju NP-polnih problemov, to lahko pomeni zelo veliko časa. GENETSKI ALGORITMI Genetski algoritmi [7] so optimizacijska tehnika, ki skuša posnemati naravno evolucijo. Delujejo tako, da v iskalnih algoritmih ohranijo le najboljšo rešitev, ostale pa se zavrţejo. Skozi zgodovino razvoja algoritmov, ki temeljijo na genetskih operatorjih, se je izkazalo, da se genetski algoritmi najbolje izkaţejo pri reševanju zahtevnih kombinatoričnih problemov [7]. Proces genetskih algoritmov je v glavnem sestavljen iz naslednjih korakov: - kodiranje, - ovrednotenje, - selekcija, - kriţanje, - mutacija in - dekodiranje. Za vsako rešitev danega TSP vedno obstaja primerno kodiranje, ki je edinstveno in navadno predstavljeno v obliki niza znakov. Sledi izbor začetne populacije, nad katero izvedemo kriţanje in mutacijo z namenom ohranjanja samo najboljših posameznikov. Pri kriţanju zdruţimo dva posameznika v enega skupnega v novi generaciji. Kriţanju sledi mutacija, kjer spremenimo naključno izbrane posameznike 11. Z mutacijo oblikujemo populacijo, ki jo izboljšujemo v naslednji iteraciji (generacija 12 ). 11 posameznik: v genetski procesu imenovan tudi kromosom. Predstavlja moţno rešitev problema. 12 generacija: skupina kromosomov v posamezni iteraciji procesa genetskih algoritmov.

17 17 Kodiranje Proces kodiranja je pogosto najbolj zahtevna operacija reševanja problemov z uporabo genetskih algoritmov [7]. Potrebno je namreč najti dovolj dobro predstavitev rešitve, ki bo uporabljena v procesu kriţanja. Da bi ustvarili populacijo 13 elementov, je potrebno kodirati veliko moţnih rešitev, ki jih najlaţje predstavimo kot niz ničel in enic (s tem skrčimo nabor znakov, s katerim predstavimo posamezen element na zgolj dva znaka). Ovrednotenje Ovrednotenje igra prav tako pomembno vlogo v procesu genetskih algoritmov [7]. S to funkcijo določimo uporabno vrednost kromosoma ocenimo posamezno rešitev za dani obseg TSP. Kromosomi z višjo oceno so kandidati za populacijo v naslednji generaciji, saj predstavljajo največjo moţnost za izboljšanje trenutno najboljše rešitve. Proces vrednotenja kromosomov se izvaja, dokler ne doseţemo izhodnega kriterija (omejeno število generacij, časovna omejitev, ocena posameznega kromosoma) oziroma najboljše znane rešitve za dani obseg problema. Križanje Kriţanje je lahko precej enostaven postopek [7]. Najlaţji primer kriţanja je izbor dveh naključnih elementov iz točke kriţanja, nato pa elementoma za izbrano točko kriţanja zamenjamo gene (posamezne dele kodiranega niza - kromosoma). Tako dobimo dva nova kromosoma, ki jih uvrstimo v populacijo v novi generaciji. Vsak kromosom ni nujno tudi uporabljen v operaciji kriţanja. V tej operaciji namreč uporabimo zgolj naključno izbrane kromosome. Križanje z delnim ujemanjem Naključno izberemo dve točki za kriţanje nad trenutno najboljšo rešitvijo: v 1 = v 1 ' = v 2 = v 2 ' = Na ta način ne dobimo pravilne rešitve, saj je iz zgornjega primera vidno, da posamezna rešitev ne obišče vseh mest, nekatera pa se vsebuje večkrat. Zato preučevana metoda 13 populacija: skupek vseh kromosomov.

18 18 poskrbi za ustrezno zamenjavo vozlišč (v tem primeru v naboru v 1 zamenjamo 3 s 5 in 4 s 7 in obratno): v' 1 = v'' 1 = v' 2 = v'' 2 = Tako dobimo dobimo dva povsem pravilna kromosoma, ki ju lahko uporabimo kot del nove generacije. Znane so tudi številne druge metode kriţanja, ki jih bralec lahko najde v veliko virih, primer je [7]. Primer dodatnih metod kriţanja je kriţanje na osnovi hevrističnih podatkov. Pri tej obliki kriţanja naključno izberemo začetno vozlišče in nato hkrati ustvarjamo dve poti, tako da dodajamo vozlišča, ki ne tvorijo cikla. Če obe poti tvorita cikel, izberemo novo začetno vozlišče, ki ciklov ne ustvari. Na sliki 1 vidimo primer ustvarjanja poti, kjer bi lahko z napačno izbiro vozlišč ustvarili cikel. Slika 1: Urejeno križanje, križanje z delnim ujemanjem in krožno križanje.

19 19 Mutacija Operacijo mutacije uporabimo predvsem zato, da se pri izboljševanju rešitve ne ujamemo v lokalni optimum [7]. Zaradi naključnosti genetskega procesa imamo včasih kromosome, ki so blizu lokalnim optimumom, namesto globalnim. Iz tega razloga obstaja večja verjetnost, da bodo v genetskem procesu izbrani kromosomi, ki so bliţje lokalnemu optimumu. Zaradi večje ocenjene vrednosti je manjša verjetnost, da bomo pri iskanju rešitve naleteli na globalni optimum. Z mutacijo odkrivamo naključne moţne rešitve, ki jih sicer sploh ne bi opazili. Mutacija se izvede po operaciji kriţanja z naključno izbiro kromosomov v novi generaciji, katerim mutiramo posamezne gene. Pri tem običajno zamenjamo vrednost gena iz 0 na 1 oziroma obratno, odvisno od trenutne vrednosti gena. Pri mutaciji lahko izvedemo tudi operacijo inverzije tako, da zamenjamo vrednosti genov med dvema specifično določenima točkama.

20 20 Implementirane metode Reševanje TSP s sestopanjem Da lahko začnemo reševati TSP, moramo eno od vozlišč grafa določiti za izhodiščno vozlišče. Naj bo to vozlišče 1. Kot naslednjo moramo določiti kriterijsko funkcijo, s pomočjo katere bomo rešitev iskali. Naša kriterijska funkcija naj izpolni naslednji zahtevi: ali obstaja povezava iz trenutnega vozlišča, do katerega smo med potovanjem prišli pa do naslednjega vozlišča, ki ga še nismo obiskali in ga ţelimo vključiti v kroţno pot; ali je cena do sedaj prehojene poti, povečana za ceno nove povezave do vozlišča, ki ga ţelimo vključiti v kroţno pot, še vedno manjša od do sedaj najcenejše rešitve prve moţne rešitve, ki smo jo našli pri preiskovanju grafa. Če kriterijska funkcija izpolni obe zahtevi, novo vozlišče sprejmemo v kroţno pot in ponovimo postopek, sicer sestopimo. Pri sestopanju se vrnemo do zadnjega kriţišča, oziroma se vrnemo v koren drevesa povezav. Pri iskanju rešitve sproti preverjamo, ali smo enako rešitev ţe našli in take rešitve ne upoštevamo več (rešitev ne podvajamo). Ko obiščemo vsa vozlišča grafa, preverimo ali ima zadnje vključeno vozlišče povezavo do izhodiščnega. Če je cena pravkar opravljene kroţne poti niţja od cene trenutno sprejete rešitve, trenutno rešitev zavrţemo in jo nadomestimo s to novo kroţno potjo. V kolikor sta ceni nove kroţne poti in trenutne rešitve enaki, novo kroţno pot pridruţimo mnoţici rešitev. Če je cena nove kroţne poti višja od cene trenutne rešitve novo rešitev zavrţemo in sestopimo. Z opisanim postopkom najdemo optimalno pot v grafu.

21 21 Primer delovanja metode: Dana je matrika C s štirimi vozlišči mesti, kot jo vidimo na sliki 2. Vsaka vrednost v tej matriki pomeni oddaljenost med posameznimi mesti. Na sliki 3 vidimo, kako so ta mesta povezana med seboj. Na sliki 4 vidimo drevo vseh povezav, ki smo jih vključili pri iskanju rešitve. Poti, ki smo jih označili s kriţcem, smo pri iskanju najcenejše rešitve problema zavrgli jih nismo upoštevali. Slika 2: Primer matrike sosednosti. Slika 3: Povezanost vozlišč glede na podatke v matriki sosednosti. Slika 4: Drevo povezav.

22 22 V naslednjem psevdokodu vidimo način implementacije metode sestopanja za TSP: procedure SESTOPI(n, s, resitev, cena_min) begin resitev := Ø; x := {s}; // vstavimo izhodiščno vozlišče k := 1; //nivo v drevesu moţnih povezav cena_min := ; //cena najkrajše poti cena := 0; //trenutna cena poti while k > 0 do begin if obstaja dosegljivo vozlišče p x and CENA_POTI(x,p)) cena_min then begin if k = n then if RESITEV_USTREZA(x,cena) and cena<cena_min then resitev := {x}; cena_min := cena; else resitev := resitev {x}; else begin k := k + 1; //spustimo se v globino cena := cena + CENA_POTI(x,p); //iščemo moţne rešitve x := x {p}; //sproti preverjamo da nimamo enakih end; // iščemo moţne rešitve in sproti preverjamo da end; // nimamo enakih else begin k := k 1; //sestopimo eno vozlišče nazaj ODSTRANI_ZADNJI_ELEMENT(x,cena); end; end; end

23 23 Reševanje TSP z genetskimi algoritmi Številni raziskovalci na področju reševanja TSP ugotavljajo, da imajo genetski algoritmi dobre moţnosti za pridobivanje dobrih rešitev za večje in zahtevne TSP. Za potrebe tega diplomskega dela smo dali največji poudarek operaciji kriţanja, ki omogoča razmeroma enostavno implementacijo in je v veliko virih navedena kot najbolj uspešna pri optimizaciji iskanja rešitev TSP [7]. Da smo sploh lahko izvedli operacijo kriţanja, smo najprej z operacijo selekcije izbrali dve različni poti 14, ki smo jih nato kriţali in izboljševali v kombinaciji z ostalimi potmi. Nato smo z operacijo mutacije ustrezno spremenili pot, ki smo jo izbrali za izboljševanje. Strokovnjaki na področju raziskovanja TSP s pomočjo genetskih algoritmov priporočajo tovrstno reševanje, ker daje najboljši rezultat [12]. Na sliki 5 vidimo primer genetskega algoritma. Opazimo spremenljivke P (populacija), i (posamezen kromosom v populaciji), i a in i b (starša) ter i c (otrok nov kromosom). Algoritem zahteva več posameznih operacij [12]. Najprej je potrebno ustrezno ovrednotiti kromosome v generaciji (initialize population), glede na dolţino poti (cikla), ki jo predstavljajo. Za to operacijo lahko uporabimo več različnih metod, na sliki 5 pa vidimo, da je izbrana metoda najbliţjega soseda (nearest neighbour heuristic). Sledi operacija kriţanja (crossover), kjer naključno izberemo dva starša, nato pa z Lin-Kernighanovo optimizacijo (Lin-Kernighan-Opt) izboljšujemo trenutno najboljšo rešitev TSP. Sledi še mutacija (mutation) novih kromosomov, s katero lahko dodatno izboljšamo dobljeno rešitev. Tako morebiti izboljšano rešitev nadomestimo z eno izmed tistih, ki so ţe v populaciji P (replace an individual of P by i c ). Genetski algoritem zaključimo, ko doseţemo izhodni kriterij (until converged). 14 pot: ko poti dodamo povezavo do izhodišča, dobimo cikel.

24 24 Slika 5: Genetski algoritem za reševanje TSP. Naš algoritem V tem diplomskem delu smo poleg testiranja reševanja problema s konstruktivnimi algoritmi 15 preverili tudi učinkovitost algoritmov za lokalno iskanje 16 ter genetske algoritme. Pri raziskovanju se je pojavila ideja, da bi obe metodi zdruţili se pravi, da bi najprej poiskali rešitev z metodo lokalnega iskanja, nato bi pridobljeno rešitev skušali izboljšati s pomočjo genetskih algoritmov. Na voljo je kar nekaj metod za lokalno iskanje, med katerimi sta največkrat uporabljeni metodi 2-opt in 3-opt, v tem diplomskem delu pa smo preverili učinkovitost metode najbliţjega soseda [13]. Metoda najbliţjega soseda deluje na naslednji način: - izberemo naključno vozlišče/mesto, ki nam bo sluţilo kot izhodišče naše poti, - v sklenjeno kroţno pot dodajamo vozlišča/mesta, ki so najbliţje mestu, v katerem se trenutno nahajamo, - postopek ponavljamo, dokler obstaja še kakšno neobiskano mesto in - ko smo obiskali vsa mesta, se vrnemo v izhodišče in zaključimo iskanje. 15 konstruktivni algoritmi: pri iskanju rešitve, se pot ustvarja postopoma z napredovanjem med mesti. 16 lokalno iskanje: pri napredovanju iskanja rešitve problema, izbiramo samo najbliţje sosede.

25 25 Omenjena metoda po trditvah strokovnjakov na področju reševanja TSP deluje dobro za manjše TSP in je včasih daleč od optimalne rešitve [13]. Časovna zahtevnost algoritmov Iskanje rešitve TSP je računsko zahtevna operacija, zato zahteva določen čas, da najdemo najboljšo rešitev. Vsi algoritmi se v praksi ne izkaţejo enako dobro, zato so se razvile tehnike merjenja časovne zahtevnosti, s katerimi merimo učinkovitost algoritma. Niţja kot je stopnja zahtevnosti, boljši je algoritem. Časovna zahtevnost T(I) je število računskih korakov, ki jih potrebuje program ali algoritem pri danih vhodnih podatkih I, da izračuna rezultat. Računske korake (operacije) merimo v osnovnih opravilih, ki jih je sposoben izvesti človek, računalnik ali katera druga naprava, v nekaterih primerih pa tudi bolj abstraktno (na primer, štejemo samo aritmetične operacije in primerjave). Poznamo tri vrste časovne zahtevnosti za izbrano obseţnost I vhodnih podatkov I: povprečno - koliko korakov bo program porabil pri "običajnih" (povprečnih) podatkih, v najslabšem primeru (worst-case) koliko bo porabil v primeru, ko so podatki kar najbolj neurejeni: T max (n) = max{t(i); I = n}. v najbolj ugodnem primeru ko so podatki, kar se da urejeni: T min (n) = min{t(i); I = n} Časovno zahtevnost običajno izraţamo v O notaciji. Primer: Algoritem potrebuje za urejanje n števil po velikosti v povprečju 10 * n * log n operacij, n * log n + 5 v najboljšem in n 2 /2 + n v najslabšem primeru. Pišemo, da povprečno porabi O(n log n) operacij, v najboljšem primeru O(n log n) operacij in O(n 2 ) v najslabšem primeru (vedno se vpiše le člen z največjim vplivom).

26 26 Nekaj primerov časovnih zahtevnosti: - O(1) - konstantna zahtevnost - hitrost ni odvisna od obseţnosti vhodnih podatkov, - O(log n) - logaritemska zahtevnost, - O(n) - linearna zahtevnost, - O(n log n) - zgled za subkvadratno zahtevnost (narašča hitreje kot linearna, počasneje od kvadratne), - O(n 2 ) - kvadratna zahevnost, - O(n c ) - polinomska zahtevnost - kjer je c konstanta, - O(e log n ) - zgled za subeksponentno (vmesno) zahtevnost - (narašča hitreje kot katerikoli polinom in počasneje kot eksponentna) in - O(e n ) - eksponentna zahtevnost.

27 27 Pregled rezultatov implementiranih metod V tem poglavju najprej predstavimo strojno in programsko opremo računalnika, ki smo ga uporabili, da smo dobili rezultate, ki so predstavljeni v naslednjih podpoglavjih. Predstavimo tudi rezultate, ločene glede na uporabljeno metodo. Na koncu poglavja podamo tudi kratek pregled nad rezultati genetskega in našega algoritma. Opis konfiguracije strojne in programske opreme Za implementacijo programov in iskanje rešitev smo uporabili prenosni računalnik znamke HP, z naslednjo konfiguracijo strojne opreme: - procesor: AMD TurionX2 2,2 GHz (1MB cache), - RAM: 4GB DDR2 in - matična plošča: Quanta 3060 Operacijski sistem, v katerem smo implementirali in testirali programe, je bil Windows 7 Professional z 32-bitno arhitekturo, kar pomeni, da je dejansko naslovljenega zgolj pribliţno 3 GB delovnega pomnilnika. Pri testiranju delovanja programa se je uporabljajo izvajalno okolje Microsoftovega produkta Visual Studio 2010 Ultimate. Zaradi načina implementacije programov se je pri izvajanju uporabljalo samo eno procesorsko jedro. Ideja za nadaljno raziskovanje je, da bi se s pomočjo ustreznih metod izdelani programi nadgradili tako, da bi se pri izvajanju uporabljali obe procesorski jedri. Tako bi zagotovo skrajšali čas iskanja.

28 28 Pregled rezultatov z metodo sestopanje Tabela 1: Reševanje TSP z metodo sestopanje. 5 mest 10 mest 12 mest izmerjen čas v sekundah 1.zagon 0 0,09 0,718 2.zagon 0 0,57 0,624 3.zagon 0 0,08 0,593 V tabeli 1 smo predstavili rezultate, ki smo jih pridobili po treh zaporednih zagonih aplikacije za metodo sestopanje. Podatki v tabeli predstavljajo čas, ki je bil potreben zato, da program vrne rešitev danega problema. Najboljša rešitev za določen obseg problema je označena s krepkim tiskom. Iz dobljenih rezultatov je vidno, da je metoda»sestopanje«uporabna za zelo majhne obsege problema, saj vidimo, da je bil čas iskanja rešitve za 12 mest kar pribliţno 7,4-krat večji kot za 10 mest. Dobljeni rezultati jasno kaţejo, da je časovna zahtevnost metode eksponentna in da hitro izgubimo moţnost dobivanja rešitve problema v sprejemljivem času. Pregled rezultatov z metodo najbližji sosed Tabela 2: Reševanje TSP z metodo najbližjega soseda. 5 mest 10 mest 12 mest izmerjen čas v sekundah 1.zagon 0 0,078 0,811 2.zagon 0 0,078 0,811 3.zagon 0 0,078 0,764 V tabeli 2 smo predstavili rezultate, ki smo jih pridobili po treh zaporednih zagonih aplikacije (enako kot pri metodi»sestopanje«). Podatki v tabeli predstavljajo čas, ki je bil potreben zato, da program vrne rešitev danega problema. Tudi tukaj je najboljša rešitev označena s krepkim tiskom. Iz dobljenih rezultatov vidimo, da je metoda najbližji sosed nekoliko počasnejša od metode sestopanje, saj je v vsakem trenutku potrebno poiskati naslednjo točko za premik katero mesto bomo obiskali. Časovna zahtevnost metode je

29 29 glede na dobljene rezultate v primerjavi s sestopanjem večja, saj je čas iskanja rešitve za 12 mest kar 10-krat večji od časa iskanja rešitve za 10 mest. Pregled rezultatov, dobljenih z genetskim algoritmom Tabela 3: reševanje TSP z genetskim algoritmom. rand5 rand10 rand12 eil51 berlin52 izmerjen čas v sekundah 1. zagon 0,639 (12) 0,92 (55) 0,936 ( 56) 14,95 (1417) 7,05 (27590) 2. zagon 0,734 (12) 1,37 (55) 0,905 (56) 7,68 (1767) 7,51 (26886) 3. zagon 0,874 (12) 0,811 (55) 0,905 (56) 7,5 (1342) 8,32 (24139) 4. zagon 0,936 (12) 0,983 (55) 0,92 (56) 17,64 (1551) 9,98 (24767) 5. zagon 0,749 (12) 0,795 (55) 1,092 (56) 8,72 (1489) 7,32 (24596) 6. zagon 0,624 (12) 0,78 (55) 0,904 (56) 7,13 (1449) 6,59 (25601) 7. zagon 0,749 (12) 1,31 (55) 0,921 (56) 6,16 (1594) 8,76 (27289) 8. zagon 0,655 (12) 0,842 (55) 0,905 (56) 13,43 (1552) 9,24 (26833) 9. zagon 0,687 (12) 0,811 (55) 0,905 (56) 8,31 (1587) 8,21 ( zagon 0,702 (12) 1,077 (55) 0,873 (56) 5,6 (1654) 9,4 (29126) najhitrejša rešitev: najkrajša rešitev: 0,624 (12) 0,78 (55) 0,873 (56) 7,5 (1342) 8,32 (24139) V tabeli 3 smo predstavili rezultate, ki smo jih pridobili po desetih zaporednih zagonih aplikacije. Podatki v tabeli predstavljajo čas, ki je bil potreben zato, da program vrne rešitev danega problema, v oklepaju pa je navedena vsota dolţin poti, ki so bile opravljene med iskanjem rešitve. Vrednosti, prikazane za probleme rand5, rand10 in rand12 pomenijo rezultate, ki smo jih dobili z algoritmi, ki generirajo 5, 10 ali 12 naključnih mest. Slednja so naključno povezana z naključno dolgimi povezavami. Rezultati, prikazani za problema eil51 in berlin52, predstavljajo vrednosti za problema, ki smo jih vzeli iz knjiţnice TSPLIB, kjer so shranjene številne instance za reševanje TSP z ţe znanimi najboljšimi rešitvami. Pri naključnih algoritmih smo dobljene vrednosti dobili s pomočjo funkcije rand(), sam proces genetskega algoritma pa smo izvedli 25-krat. Za problema iz knjiţnice TSPLIB pa smo kot omejitev za zaključek procesa genetskega algoritma določili 60 ponovitev posamezne rešitve. Za rezultate, ki smo jih dobili v procesu naključnega generiranja

30 30 podatkov, smo s krepkim tiskom označili najhitrejšo rešitev; za rezultate, dobljene s pomočjo podatkov iz TSPLIB pa smo označili najkrajšo rešitev. Pregled rezultatov, dobljenih z našim algoritmom Tabela 4: Pregled rezultatov, dobljenih z našim algoritmom. rand5 rand10 rand12 eil51 berlin52 izmerjen čas v sekundah 1.zagon 0,39 (13) 0,531 (48) 0,593 (68) 0,92 (1516) 7,85 (10734) 2.zagon 0,39 (13) 0,562 (48) 0,624 (68) 10,31 (557) 3,66 (12184) 3.zagon 0,39 (13) 0,531 (48) 0,624 (68) 36,74 (507) 7,59 (13099) 4.zagon 0,39 (13) 0,484 (48) 0,608 (68) 6,88 (554) 7,75 (12831) 5.zagon 0,39 (13) 0,531 (48) 0,608 (68) 23,54 (508) 8,58 (13722) 6.zagon 0,39 (13) 0,53 (48) 0,608 (68) 4,39 (867) 6,96 (9926) 7.zagon 0,405 (13) 0,53 (48) 0,608 (68) 10,83 (578) 11,86 (9905) 8.zagon 0,312 (13) 0,515 (48) 0,577 (68) 4,88 (739) 16,47 (8658) 9.zagon 0,421 (13) 0,53 (48) 0,609 (68) 17,28 (493) 8,38 (9784) 10.zagon 0,375 (13) 0,546 (48) 0,609 (68) 2,15 (1164) 1,01 (25138) najhitrejša rešitev: najkrajša rešitev: 0,312 (13) 0,484 (48) 0,577 (68) 17,28 (493) 16,47 (8658) V tabeli 4 predstavimo rezultate, ki smo jih pridobili po desetih zaporednih zagonih aplikacije. Podatki v tabeli predstavljajo čas, ki je bil potreben zato, da program vrne rešitev danega problema, v oklepaju pa je navedena vsota dolţin poti, ki so bile opravljene med iskanjem rešitve. Pri poganjanju aplikacije smo uporabili enake parametre, kot smo jih pri aplikaciji, predstavljeni v poglavju 4.4, s to razliko, da gre v tem primeru za aplikacijo, ki vsebuje naš algoritem. Primerjava genetskega in našega algoritma Če primerjamo podatke, ki smo jih dobili s poganjanjem aplikacij za genetski in naš algoritem vidimo, da zdruţevanje različnih metod za reševanje TSP prinese izboljšanje rezultatov, ki jih dobimo za enak obseg TSP z uporabo posamezne metode ob enakih parametrih. Rezultati, ki smo jih dobili z našim algoritmom, so v primerjavi z genetskim

31 31 algoritmom za instance iz knjiţnice TSPLIB boljši, pa tudi rešitev smo dobili večinoma veliko prej, kot samo pri genetskem algoritmu. Za naključno generirane grafe naš algoritem kot rešitev problema najde nekoliko daljšo pot, vendar pa za iskanje porabi manj časa kot genetski algoritem.

32 32 Sklep V diplomskem delu smo preučili različne metode reševanja TSP. Primerjali smo čas, potreben za iskanje rešitve TSP s pomočjo treh različnih metod in ene kombinacije metod. Metoda sestopanje spada v skupino eksaktnih algoritmov, metoda najbližji sosed pa spada v skupino algoritmov lokalnega iskanja. Pri iskanju rešitve obe sproti tvorita pot najboljše rešitve. Uporabni sta za reševanje manjših problemov rešitev za 40 mest bi se dalo dobiti v še sprejemljivem času. Iskanje rešitve za obseţnejše probleme trgovskega potnika bi lahko bilo preveč dolgotrajno. Genetski algoritmi predstavljajo dobro moţnost za iskanje rešitev TSP. Njihova učinkovitost je v veliki meri odvisna od metod posameznih operacij (selekcija, kriţanje, mutacija), od vhodnih podatkov in od nastavitev parametrov, ki so potrebni za izvedbo operacij. Uporabni so predvsem za reševanje obseţnejših problemov trgovskega potnika. Slabost pri genetskih algoritmih predstavlja zamudno iskanje najboljše kombinacije vhodnih parametrov za posamezno operacijo. V diplomskem delu smo predstavili tudi kombinacijo genetskega algoritma in algoritmov lokalnega iskanja. Izbrana metoda najbliţjega soseda v kombinaciji z genetskim algoritmom poda nekoliko boljši rezultat, kot ga metodi podata ločeno. Moţno je, da bi z izbiro druge metode lokalnega iskanja lahko pridobili še boljše rezultate.

33 33 VIRI IN LITERATURA [1] K. Aardal, G.L. Nemhauser, R. Weismantel; On the history of combinatorial optimization (till 1960). Handbook of Discrete Optimization, Elsevier, Amsterdam, 2005, pp [2] Sweden home, zadnjič posodobljeno april 2010, zadnjič obiskano , dostopno na naslovu: [3] Concorde home, zadnjič posodobljeno januar 2005, zadnjič obiskano , dostopno na naslovu: [4] D. L. Applegate, R. E. Bixby, V. Chvátal, W. J. Cook; The Traveling Salesman Problem: A Computational Study, Princeton University Press, [5] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein; The traveling-salesman problem", Introduction to Algorithms (2nd ed.), MIT Press and McGraw-Hill, pp , [6] A.A. Markov. "Rasprostranenie zakona bol'shih chisel na velichiny, zavisyaschie drug ot druga". Izvestiya Fiziko-matematicheskogo obschestva pri Kazanskom universitete, pp , [7] Kyle Briant: Genetic algorithms and the traveling salesman problem, Harvey Mudd college, december [8] Ivan Pešl, Viljem Ţumer, Janez Brest: Optimizacija s pomočjo kolonij mravelj, Elektrotehniški vestnik 73(2-3): 93-98, [9] G. B. Dantzig, R. Fulkerson, S. M. Johnson; "Solution of a large-scale traveling salesman problem", Operations Research 2: , november [10] G. Gutin, A. Yeo, A. Zverovich; "Traveling salesman should not be greedy: domination analysis of greedy-type heuristics for the TSP", Discrete Applied Mathematics 117 (1 3): 81 86, [11] TSPLIB, ustvarjeno , zadnjič obiskano , dostopno na naslovu

34 34 [12] B. Freisleben, P. Merz; A genetic local search algorithm for solving symmetric and asymmetric traveling salesman problems, Evolutionary Computation, 1996., Proceedings of IEEE International Conference, pp , maj [13] C.Nilsson; Heuristics for the traveling salesman problem, tech. report, Linköping University, Sweden, [14] Richard M. Karp, R. E. Miller and J. W. Thatcher (editors); Reducibility Among Combinatorial Problems:Complexity of Computer Computations. New York, Plenum., pp , 1972.

35 35

36 36

37 37

Reševanje problemov in algoritmi

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

More information

Iskanje najcenejše poti v grafih preko polkolobarjev

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

More information

OPTIMIRANJE IZDELOVALNIH PROCESOV

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

More information

Stiskanje slik z algoritmi po vzorih iz narave

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

More information

OPTIMIZACIJA Z ROJEM DELCEV

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

More information

Hipohamiltonovi grafi

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

More information

TEORIJA GRAFOV IN LOGISTIKA

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

More information

NIKJER-NIČELNI PRETOKI

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

More information

TOPLJENEC ASOCIIRA LE V VODNI FAZI

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

More information

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

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

More information

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

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

More information

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

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

More information

Hadamardove matrike in misija Mariner 9

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

More information

METAHEVRISTIČNO REŠEVANJE

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

More information

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

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

More information

Zbornik seminarjev iz hevristik

Zbornik seminarjev iz hevristik Zbornik seminarjev iz hevristik Izbrana poglavja iz optimizacijskih metod (2010-11) 2. marec 2012 Ljubljana, 2011 Zbornik seminarskih nalog sta po knjigi [3] izbrala in uredila R. Škrekovski (FMF) in Vida

More information

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

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

More information

ENAČBA STANJA VODE IN VODNE PARE

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

More information

Attempt to prepare seasonal weather outlook for Slovenia

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

More information

Eulerjevi in Hamiltonovi grafi

Eulerjevi in Hamiltonovi grafi Eulerjevi in Hamiltonovi grafi Bojan Možina 30. december 006 1 Eulerjevi grafi Štirje deli mesta Königsberg v Prusiji so bili povezani s sedmimi mostovi (glej levi del slike 1). Zdaj se Königsberg imenuje

More information

Iterativne metode podprostorov 2010/2011 Domače naloge

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

More information

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

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

More information

Linearna regresija. Poglavje 4

Linearna regresija. Poglavje 4 Poglavje 4 Linearna regresija Vinkove rezultate iz kemije so založili. Enostavno, komisija je izgubila izpitne pole. Rešitev: Vinko bo kemijo pisal še enkrat. Ampak, ne more, je ravno odšel na trening

More information

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

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

More information

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

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

More information

Problem umetnostne galerije

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

More information

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

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

More information

Multimedijska predstavitev globalne poravnave dveh nizov

Multimedijska predstavitev globalne poravnave dveh nizov Radovan Bajković Multimedijska predstavitev globalne poravnave dveh nizov Diplomsko delo Maribor, september 2011 I Diplomsko delo univerzitetnega študijskega programa MULTIMEDIJSKA PREDSTAVITEV GLOBALNE

More information

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

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

More information

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

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

More information

Izvedbe hitrega urejanja za CPE in GPE

Izvedbe hitrega urejanja za CPE in GPE Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jernej Erker Izvedbe hitrega urejanja za CPE in GPE DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE Mentor: doc. dr. Tomaž

More information

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

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

More information

Zgoščevanje podatkov

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

More information

Particija grafa, odkrivanje skupnosti in maksimalen prerez

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

More information

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

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

More information

OPTIMIZACIJA S KOLONIJAMI MRAVELJ

OPTIMIZACIJA S KOLONIJAMI MRAVELJ OPTIMIZACIJA S KOLONIJAMI MRAVELJ PREDAVANJA 2011/12 J.Tasič E. Plesnik OPTIMIZACIJA S KOLONIJAMI MRAVELJ = ANT COLONY OPTIMIZATION (ACO) VSEBINA Poglavje I (Uvod) Zgodovinsko ozadje Sistem mravljišča

More information

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

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

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

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

More information

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

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

More information

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Univerza v Ljubljani Fakulteta za elektrotehniko Boštjan Murovec Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Doktorska disertacija Mentor: prof. dr. Peter

More information

DOMINACIJSKO TEVILO GRAFA

DOMINACIJSKO TEVILO GRAFA UNIVERZA V LJUBLJANI PEDAGO KA FAKULTETA tudijski program: MATEMATIKA in RAƒUNALNI TVO DOMINACIJSKO TEVILO GRAFA DIPLOMSKO DELO Mentor: doc. dr. Primoº parl Kandidatka: Neja Zub i Ljubljana, maj, 2011

More information

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika 1. stopnja Ana Mlinar Fulereni Delo diplomskega seminarja Mentor: izred. prof. dr. Riste Škrekovski Ljubljana, 2011 Kazalo 1. Uvod 4 2.

More information

Excel. Matjaž Željko

Excel. Matjaž Željko Excel Matjaž Željko Elektronska preglednica Excel Excel je zmogljiv kalkulator. Omogoča izdelavo grafikonov statistično analizo podatkov lepo oblikovanje poročila za natis Podatke predstavljamo tabelarično,

More information

Modeliranje časovnih vrst z metodami teorije informacij

Modeliranje časovnih vrst z metodami teorije informacij Elektrotehniški vestnik 76(4): 240 245, 2009 Electrotechnical Review, Ljubljana, Slovenija Modeliranje časovnih vrst z metodami teorije informacij Marko Bratina 1, Andrej Dobnikar 2, Uroš Lotrič 2 1 Savatech,

More information

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

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

More information

JERNEJ TONEJC. Fakulteta za matematiko in fiziko

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

More information

IZPELJANKE ALGORITMA LZW

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

More information

Računalniška izdelava ocenjevalne razdelitve na mednarodnih razstavah mačk

Računalniška izdelava ocenjevalne razdelitve na mednarodnih razstavah mačk UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dean Lamper Računalniška izdelava ocenjevalne razdelitve na mednarodnih razstavah mačk DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE

More information

Hibridizacija požrešnih algoritmov in hitrega urejanja

Hibridizacija požrešnih algoritmov in hitrega urejanja Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nina Vehovec Hibridizacija požrešnih algoritmov in hitrega urejanja DIPLOMSKO DELO INTERDISCIPLINARNI UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE

More information

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

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

More information

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

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

More information

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

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

More information

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO.

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO. UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO Jana Miklavič Mentor: prof. dr. Juš Kocijan Nova Gorica, 2012 NASLOV

More information

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

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

More information

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

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

More information

Vsebina Od problema do načrta programa 1. del

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

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

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

More information

Jernej Azarija. Štetje vpetih dreves v grafih

Jernej Azarija. Štetje vpetih dreves v grafih UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO FAKULTETA ZA MATEMATIKO IN FIZIKO Jernej Azarija Štetje vpetih dreves v grafih DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM ŠTUDIJU

More information

Samo-nastavljivo vodenje z DMC-jem in proporcionalnim regulatorjem

Samo-nastavljivo vodenje z DMC-jem in proporcionalnim regulatorjem Samo-nastavljivo vodenje z DMC-jem in proporcionalnim Matija Arh, Igor Škrjanc Fakulteta za elektrotehniko, Univerza v Ljubljani Tržaška cesta 25, 1000 Ljubjana matija.arh@fe.uni-lj.si, igor.skrjanc@fe.uni-lj.si

More information

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija University of Ljubljana Faculty of Mathematics and Physics Modelska Analiza 1 3. naloga - Numeri na minimizacija Avtor: Matic Lubej Asistent: dr. Simon ƒopar Predavatelj: prof. dr. Alojz Kodre Ljubljana,

More information

Topološka obdelava slik

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

More information

Katja Tuma Generiranje in reševanje sudokuja

Katja Tuma Generiranje in reševanje sudokuja Univerza v Ljubljani Fakulteta za računalništvo in informatiko Katja Tuma Generiranje in reševanje sudokuja DIPLOMSKO DELO UNIVERZITETNI BOLONJSKI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVA IN INFORMATIKE

More information

arxiv: v1 [cs.dm] 21 Dec 2016

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

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

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

More information

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

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

More information

Gaja Velkavrh. Problem maksimalnega pretoka

Gaja Velkavrh. Problem maksimalnega pretoka UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO FAKULTETA ZA MATEMATIKO IN FIZIKO Gaja Velkavrh Problem maksimalnega pretoka DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM ŠTUDIJU

More information

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Boštjan Markežič Zaznavanje gibov Zaključna naloga Koper, september 2011 Mentor: doc. dr. Peter Rogelj Kazalo Slovarček

More information

Verodostojnost in kvaliteta spletno dostopnih informacij

Verodostojnost in kvaliteta spletno dostopnih informacij Univerza v Ljubljani Filozofska fakulteta Oddelek za bibliotekarstvo, informacijsko znanost in knjigarstvo Verodostojnost in kvaliteta spletno dostopnih informacij Mentor: dr. Jure Dimec Lea Očko Katja

More information

Osnove numerične matematike

Osnove numerične matematike Univerza v Ljubljani Fakulteta za računalništvo in informatiko Osnove numerične matematike Bojan Orel Ljubljana, 2004 Kazalo 1 Uvod 1 1.1 Zakaj numerične metode..................... 1 1.2 Napake in numerično

More information

KVANTITATIVNE METODE V PROMETU

KVANTITATIVNE METODE V PROMETU KVANTITATIVNE METODE V PROMETU Vaja Primer : Pri pripravi neke eksotične slaščice potrebujemo dve vrsti moke M, M. Moko lahko kupimo v dve različni embalaži E, E. Prvo pakiranje E vsebuje enoto moke M

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Naknadna stabilizacija videoposnetkov

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Naknadna stabilizacija videoposnetkov UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Naknadna stabilizacija videoposnetkov (Subsequent video stabilization) Ime in priimek: Kevin Sedevcic

More information

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika - uporabna smer (UNI) Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM Diplomsko delo Ljubljana, 2006 Zahvala Zahvaljujem

More information

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

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

More information

The consequences of quantum computing

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

More information

Izbrana poglavja iz velikih omreºij 1. Zbornik seminarskih nalog iz velikih omreºij

Izbrana poglavja iz velikih omreºij 1. Zbornik seminarskih nalog iz velikih omreºij Izbrana poglavja iz velikih omreºij 1 Zbornik seminarskih nalog iz velikih omreºij Ljubljana, 2015 CIP Kataloºni zapis o publikaciji Narodna in univerzitetna knjiºnica, Ljubljana 123.45(678)(9.012.3) Izbrana

More information

Gradnja Vietoris-Ripsovega simplicialnega kompleksa

Gradnja Vietoris-Ripsovega simplicialnega kompleksa Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Leonard Štefančič Gradnja Vietoris-Ripsovega simplicialnega kompleksa DIPLOMSKO DELO NA INTERDISCIPLINARNEM

More information

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov Izbrana poglavja iz algebrai ne teorije grafov Zbornik seminarskih nalog iz algebrai ne teorije grafov Ljubljana, 2015 CIP Kataloºni zapis o publikaciji Narodna in univerzitetna knjiºnica, Ljubljana 519.24(082)(0.034.2)

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba Kalmanovega filtra pri vrednotenju izbranih finančnih instrumentov (Using Kalman filter

More information

Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan

Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan Računalnik iz domin Primož Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan Povzetek Naša naloga je bila ugotoviti kako sestaviti računalnik (Turingov stroj) iz domin in logičnih izrazov.

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Gregor Kralj PARITETNE KODE Z NIZKO GOSTOTO DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Gregor Kralj PARITETNE KODE Z NIZKO GOSTOTO DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gregor Kralj PARITETNE KODE Z NIZKO GOSTOTO DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2010 UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO

More information

Projekcija visokodimenzionalnih podatkov ob upoštevanju domenskih omejitev

Projekcija visokodimenzionalnih podatkov ob upoštevanju domenskih omejitev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Omanović Amra Projekcija visokodimenzionalnih podatkov ob upoštevanju domenskih omejitev MAGISTRSKO DELO MAGISTRSKI PROGRAM DRUGE STOPNJE

More information

D I P L O M S K A N A L O G A

D I P L O M S K A N A L O G A FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU D I P L O M S K A N A L O G A UNIVERZITETNEGA ŠTUDIJSKEGA PROGRAMA PRVE STOPNJE ALEŠ HOČEVAR FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU DIPLOMSKA

More information

Obisk iz rezultatov iskanj na iskalniku Google

Obisk iz rezultatov iskanj na iskalniku Google Univerza v Ljubljani Fakulteta za računalništvo in informatiko Uroš Okorn Obisk iz rezultatov iskanj na iskalniku Google DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Preverjanje optimiziranosti spletnih strani

Preverjanje optimiziranosti spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Hozjan Preverjanje optimiziranosti spletnih strani DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2016 UNIVERZA V LJUBLJANI

More information

Optimizacija delovanja in povečanje obiska na spletni strani

Optimizacija delovanja in povečanje obiska na spletni strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Adlešič Optimizacija delovanja in povečanje obiska na spletni strani DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: doc.

More information

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

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

More information

OPTIMIZACIJSKE METODE skripta v pripravi

OPTIMIZACIJSKE METODE skripta v pripravi OPTIMIZACIJSKE METODE skripta v pripravi Vladimir Batagelj Ljubljana 17. december 2003 2 Kazalo Predgovor 5 1 Optimizacijske naloge 7 1.1 Osnovni pojmi........................... 7 1.2 Primeri optimizacijskih

More information

Simulation System Design

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

More information

Optimizacija indukcijskega segrevanja z numeričnim modeliranjem in genetskim algoritmom

Optimizacija indukcijskega segrevanja z numeričnim modeliranjem in genetskim algoritmom Elektrotehniški vestnik 76(1-2): 63-68, 2009 Electrotechnical Review: Ljubljana, Slovenija Optimizacija indukcijskega segrevanja z numeričnim modeliranjem in genetskim algoritmom Matej Kranjc, Anže Županič,

More information

R V P 2 Predavanje 05

R V P 2 Predavanje 05 R V P 2 Predavanje 05 Kreiranje programskih modulov - Scripts RVP2 Kreiranje programskih modulov 1/44 Programski moduli -Scripts Možnosti: Omogočajo: Izvajanje ukazov Izvajanje logičnih operacij Ob določenih

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Kromatično število in kromatični indeks grafa (The chromatic number and the chromatic index of

More information

Metode rangiranja spletnih strani

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

More information

2 Zaznavanje registrske tablice

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

More information

Klemen Kregar, Mitja Lakner, Dušan Kogoj KEY WORDS

Klemen Kregar, Mitja Lakner, Dušan Kogoj KEY WORDS G 2014 V ROTACIJA Z ENOTSKIM KVATERNIONOM GEODETSKI VESTNIK letn. / Vol. 58 št. / No. 2 ROTATION WITH UNIT QUATERNION 58/2 Klemen Kregar, Mitja Lakner, Dušan Kogoj UDK: 512.626.824:528 Klasifikacija prispevka

More information

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

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

More information

23. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, Nevena SREĆKOVIĆ, Ernest BELIČ, Gorazd ŠTUMBERGER

23. posvetovanje KOMUNALNA ENERGETIKA / POWER ENGINEERING, Maribor, Nevena SREĆKOVIĆ, Ernest BELIČ, Gorazd ŠTUMBERGER 23. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2014 1 PRIMERJAVA METOD ZA IZRAČUN PRETOKOV ENERGIJE V NIZKONAPETOSTNEM DISTRIBUCIJSKEM OMREŽJU S PRIKULJUČENIMI RAZPRŠENIMI VIRI Nevena

More information

Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI

Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA UNIVERZITETNI ŠTUDIJSKI

More information

APLIKACIJA ZA DELO Z GRAFI

APLIKACIJA ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: MATEMATIKA IN RAČUNALNIŠTVO APLIKACIJA ZA DELO Z GRAFI DIPLOMSKO DELO Mentor: doc. dr. Primož Šparl Kandidat: Luka Jurković Somentor: asist.

More information

Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours

Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours RMZ Materials and Geoenvironment, Vol. 59, No. 4, pp. 331 346, 2012 331 Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours Določitev

More information

Vzporedni algoritmi za urejanje podatkov

Vzporedni algoritmi za urejanje podatkov Univerza v Ljubljani Fakulteta za računalništvo in informatiko Darko Božidar Vzporedni algoritmi za urejanje podatkov MAGISTRSKO DELO ŠTUDIJSKI PROGRAM DRUGE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA Mentor:

More information