Iskanje najkrajs e poti

Σχετικά έγγραφα
Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

Booleova algebra. Izjave in Booleove spremenljivke

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Tretja vaja iz matematike 1

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

IZPIT IZ ANALIZE II Maribor,

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

Posplošena električna dominacija

13. Jacobijeva metoda za računanje singularnega razcepa

Numerično reševanje. diferencialnih enačb II

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SANDRA BOLTA LASTNE VREDNOSTI GRAFA DIPLOMSKO DELO

Kotne in krožne funkcije

Delovna točka in napajalna vezja bipolarnih tranzistorjev

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Predmetno poučevanje, matematika in računalništvo

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

1. Trikotniki hitrosti

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

1 Fibonaccijeva stevila

Gimnazija Krˇsko. vektorji - naloge

TRANZITIVNI GRAFI. Katarina Jan ar. oktober 2008

8. Diskretni LTI sistemi

Algebraične strukture

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Matematika. Funkcije in enačbe

Algoritmi nad grafi v jeziku linearne algebre

1. Έντυπα αιτήσεων αποζημίωσης Αξίωση αποζημίωσης Έντυπο Πίνακας μεταφράσεων των όρων του εντύπου...

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Osnove elektrotehnike uvod

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

DISKRETNA FOURIERJEVA TRANSFORMACIJA

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

Tabele termodinamskih lastnosti vode in vodne pare

p 1 ENTROPIJSKI ZAKON

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

3.1 Reševanje nelinearnih sistemov

Splošno o interpolaciji

II. LIMITA IN ZVEZNOST FUNKCIJ

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Diagonalni gra. 1 Predstavitev diagonalnih grafov. Zvone Klun. Maj 2007

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič

Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA. Polona Oblak

Računarska grafika. Rasterizacija linije

PONOVITEV SNOVI ZA 4. TEST

Reševanje sistema linearnih

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Problem lastnih vrednosti

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

POROČILO 3.VAJA DOLOČANJE REZULTANTE SIL

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Poglavje 7. Poglavje 7. Poglavje 7. Regulacijski sistemi. Regulacijski sistemi. Slika 7. 1: Normirana blokovna shema regulacije EM

Inverzni problem lastnih vrednosti evklidsko razdaljnih matrik

Fazni diagram binarne tekočine

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

PROCESIRANJE SIGNALOV

Algoritmi in podatkovne strukture 2. Številska drevesa

Poliedri Ines Pogačar 27. oktober 2009

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Računarska grafika. Rasterizacija linije

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Dragi polinom, kje so tvoje ničle?

VEKTORJI. Operacije z vektorji

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija

Navadne diferencialne enačbe

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

Metoda voditeljev. Poglavje 2

Kotni funkciji sinus in kosinus

Lastne vrednosti in lastni vektorji

8. Posplošeni problem lastnih vrednosti

MERITVE LABORATORIJSKE VAJE. Študij. leto: 2011/2012 UNIVERZA V MARIBORU. Skupina: 9

Ispitivanje toka i skiciranje grafika funkcija

Analiza 2 Rešitve 14. sklopa nalog

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija.

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

Osnove matematične analize 2016/17

CM707. GR Οδηγός χρήσης SLO Uporabniški priročnik CR Korisnički priručnik TR Kullanım Kılavuzu

11.5 Metoda karakteristik za hiperbolične PDE

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti

Prepoznavanje krožnic na digitalnih slikah

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

IZZIVI DRUŽINSKE MEDICINE. U no gradivo zbornik seminarjev

IZVODI ZADACI (I deo)

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

SISTEMI DIFERENCIJALNIH JEDNAČINA - ZADACI NORMALNI OBLIK

Uporabna matematika za naravoslovce

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Transcript:

Iskanje najkrajs e poti na Vojnovic, I. gimnazija v Celju nja Petkovic, Gimnazija Bez igrad, Ljubljana Matej Ros karic, SERS, Maribor Mentor: Uros Kuzman UL FMF 1 Uvod V vsakdanjem z ivljenju se velikokrat srec amo s tez avo, ko potujemo iz enega v drug kraj. Za izbiro poti imamo namrec veliko moz nosti, a odloc iti se moramo le za eno, najbolj primerno. Pri tem upos tevamo vec dejavnikov, od razdalje, c asa, cene goriva, pa do udobja, povprec ne hitrosti in s e mnogih drugih stvari. Pogosto izbiro najboljs e moz ne poti prepustimo kar elektronskim napravam kot je GPS, kljub temu, da nam je njih matematic no ozadje nepoznano. Odloc ili smo se raziskati algoritme, ki stojijo za tem. Skus ajmo prevesti problem iskanja najkrajs e poti v matematic no obliko. Cestno omrez je lahko uc inkovito ponazorimo z grafi (mnoz ico toc k in daljic). Kraji postanejo vozlis c a, ki jih bomo v c lanku oznac ili z V (G), cestno omrez je pa opis emo z mnoz ico povezavav E(G), ki jim dodamo tez o glede na dolz ino cestne povezave med kraji ali katero izmed drugih za odloc itev relevantnih kolic in. Poljubno povezavo e E(G) bomo v nadaljevanju oznac ili tudi z XY, c e bo povezovala vozlis c i X in Y. Z d(e) oziroma d(xy ) bomo oznac ili tez o omenjene povezave v omrez ju. Na grafu si bomo izbrali dve vozlis c i, zac etno S in konc no C. Nas cilj pa je torej poiskati najkrajs o moz no pot med njima. Po nekaj nadebudnih zac etnih poizkusih se izkaz e, da je problem tez ji, kot se zdi na zac etku. Namesto preverjanja vseh moz nih poti bo potrebno izbrati uc inkovitejs o in bolj sistematic no res itev z uporabo algoritmov. Belman-Fordov algoritem V tem razdelku bomo predstavili enega najosnovnejs ih algoritmov za iskanje najkrajs e poti v grafu, ki temelji na zaporednem pregledovanju vseh povezav v grafu. Za vsako vozlis c e X V (G) bomo na posameznih korakih algoritma izrac unali vrednost d(x), ki bo predstavljala dolz ino najkrajs e trenutno najdene poti od S do X. Na zac etku bomo za vrednosti nastavili d(s) = 0 in d(x) = pri vseh

Iskanje najkrajše poti Slika 1: Zemljevid poti iz Velenja do Ljubljane ostalih vozliščih. Nato bomo vsakič, ko bomo obravnavali neko povezavo XY, preverili, ali lahko trenutni vrednosti d(x) in d(y ) izboljšamo. To ponazorimo s spodnjim algoritmom. lgoritem: d(s) = 0 in d(v ) = za V S. Ponovi ( V (G) 1)-krat. XY E(G) Če je d(x) > d(xy ) + d(y ), nastavi d(x) = d(xy ) + d(y ). Če je d(y ) > d(xy ) + d(x), nastavi d(y ) = d(xy ) + d(x). Začni z V = C in ponavljaj, dokler ne prideš do V = S. Poišči V -jevega soseda W, za katerega velja d(v ) = d(w ) + d(v W ). Nastavi V = W. Zaporedje vozlišč, ki jih preteče algoritem v zadnji zanki, predstavlja najkrajšo pot od S do C, zapisano v obratnem vrstnem redu. Če smo pozorni, opazimo, da je potrebno postopek preverjanja vseh povezav ponoviti ( V (G) 1)-krat. V resnici bi lahko algoritem velikokrat zaključili že prej, v najslabšem primeru pa se lahko zgodi, da ob vsakem preverjanju povezav ponastavimo le eno vrednost d(x)

Iskanje najkrajše poti na najkrajši poti od začetka do cilja, le ta pa preteče vsa vozlišča v grafu (torej je dolžine V (G) 1). Torej je število operacij, potrebnih za izvedbo algoritma, sorazmerno z produktom števila povezav in števila vozlišč. Opazimo pa lahko, da nam algoritem ob enem poišče tudi vse ostale najkrajše poti od S do vseh ostalih oglišč v grafu, kar je lahko v nekaterih primerih tudi ugodnost. Dijkstrov algoritem V nadaljevanju bomo predstavili algoritem za iskanje najkrajše poti, ki bo časovno učinkovitejši od Belman-Fordovega. Kot prejšnji bo tudi ta algoritem poiskal najkrajše razdalje od začetnega do vseh ostalih povezav v grafu. Osnovna operacija Dijkstrovega algoritma je sprostitev vozlišča, kar pomeni dokončen izračun vrednosti d(x), ki kot prej ponazarja dolžino trenutne najkrajše poti od S do X. Sprostitev vozlišč začnemo pri vozlišču S, trenutno vrednost najkrajše povezave pa nastavimo za vsa njegova sosednja vozlišča. Nato v množico γ, ki predstavlja vsa sproščena vozlišča grafa G, dodamo tisto vozlišče X, čigar vrednost d(x) je najmanjša med vsemi nesproščenimi vozlišči. Ob tem popravimo tudi trenutne najkrajše poti za vse njegove nesproščene sosede. lgoritem se zaključi, ko so v množici γ vsa vozlišča. lgoritem: d(s) = 0 in d(x) = za X S. Za vse sosede X vozlišča S nastavi d(x) = d(sx). Poišči vozlišče V V (G) γ z najmanjšo vrednostjo d(v ). Za vse sosede X vozlišča V, ki niso v γ, naredi: Če je d(x) > d(v ) + d(xv ) nastavi d(x) = d(v ) + d(xv ). Dodaj vozlišče V v množico γ. Začni z V = C in ponavljaj, dokler ne prideš do V = S. Poišči V -jevega soseda W, za katerega velja d(v ) = d(w ) + d(v W ). Nastavi V = W.

Iskanje najkrajše poti 1 1 1 1 1 1 1 9 1 9 Slika : Primer Dijkstrovega algoritma Opazimo, da je zadnja zanka algoritma enaka tisti v Belman-Fordovem algoritmu. Torej tudi tokrat konstruiramo zaporedje najkrajše poti v obratnem vrstnem redu. Vendar pa se tokrat zdi pravilnost predstavljenega algoritma nekoliko težje razumljiva, zato bomo dodali tudi dokaz. Dokaz. Trdimo, da je v trenutku, ko sprostimo vozlišče V, vrednost d(v ) enaka dolžini najkrajše poti od S do V. Denimo, da to ni res in obstaja krajša pot od S do V, ki pa bo morala uporabiti vsaj vozlišče X, ki ni v γ. Tedaj obstajajo vozlišča V 1, V,..., V m, m 0, da je d(v ) > d(x) + d(x, V 1 ) + d(v 1, V ) +... + d(v m, V ). Vendar pa od tod sledi, da je d(v ) > d(x). Tako pridemo do protislovja, saj smo predpostavili, da želimo sprostiti vozlišče V. To pomeni, da ima V med vsemi vozlišči, ki niso v γ, najnižjo vrednosti d(v ).

Iskanje najkrajše poti lgoritem V prejšnjih dveh algoritih smo ob najkrajši poti med vozlišči S in C poiskali tudi vse ostale najkrajše povezave do vozlišča S v grafu. Ta podatek je pogosto odveč. V primeru, da iščemo pot v nek določen kraj, bi želeli, da bo le-ta v algoritmu obravnavan čim prej in lahko nato algoritem zaustavimo. Za to uporabimo postopek, podoben Dijkstrovem algoritmu, vendar pri določanju naslednjega obravnavanega vozlišča odločamo s pomočjo hevrističnih ocen. Le-te predstavljajo spodnjo mejo za najkrajšo pot od trenutnega vozlišča X do cilja C. Vsota trenutne najkrajše poti d(x) in hevristične ocene h(x) nam tako poda oceno, koliko bi lahko znašala najkrajša pot od S do C, ki teče preko vozlišča X. V algoritmu torej sprostimo vozlišče z najnižjo vsoto. Če pozorno spremljamo algoritem, opazimo, da zaradi spremenjenega ključa določanja vrstnega reda v primerjavi z Dijkstrovim algoritmom ne moremo zagotoviti, da bodo imela sproščena vozlišča že določeno najkrajšo možno pot do vozlišča S. Tako se moramo bodisi odločiti, da bomo vozlišča pregledovali večkrat ali pa se sprijaznimo, da bomo na učinkovit način našli pot, ki morebiti ne bo opitmalna. Kljub vsemu lahko v nekaterih posebnih primerih zagotovimo tudi optimalnost najdene poti. To je res, ko so hevristične ocene vozlišč konsistentne. To pomeni, da mora veljati h(x) d(xy ) + h(y ) za vsa sosednja si vozlišča X, Y. Dokaz te lastnosti prepuščamo bralcu, ki si lahko pomaga s tistim v primeru Dijkstrinega algoritma. C d = zračna razdalja med X in Y h(x) d(xy ) h(y ) h(x) h(y ) + d h(y ) + d(xy ) d Y X Slika : Ponazoritev konsistentnosti hevristične ocene z uporabo zračne razdalje Če se sedaj vrnemo k začetnemu problemu iskanja najkrajše poti med dvema krajema v omrežju cestnih povezav, je algoritem prava izbira. Za hevristične ocene vozlišč lahko izberemo zračne razdalje med kraji, ki so zagotovo manjše od

6 Iskanje najkrajše poti dolžin cestnih povezav med njimi. Hkrati pa so, zaradi trikotniške neenakosti, te hevristične ocene tudi konsistentne. Literatura [1] http://en.wikipedia.org/wiki/dijkstra%s algorithm [] http://en.wikipedia.org/wiki/bellman%e%80%9ford algorithm [] http://en.wikipedia.org/wiki/* search algorithm [] http://maps.google.com/