You are on page 1of 4

Algoritmi za tra zenje optimalnog puta

Veliki broj problema optimizacije na realnim mre zama, kao sto su elektri cne, telekomunikacione, putne, mo ze da se modelira nekim od karakteristi cnih problema na grafovima za koje postoje razvijeni ekasni algoritmi. Problem nakra ceg puta je jedan od osnovnih i najjednostavnijih optimizacionih problema. Neka je G orjentisani graf (multigraf) i : E (G) R . Ured eni par (G, ) je te zinski graf. Svakoj grani funkcija pridru zuje te zinu (e). Ako je H G podgraf grafa G, tada je te zina podgrafa H denisana sa (H ) = eE (G) (e). Grane orjentisanog grafa su ured eni parovi njegovih cvorova, pa se u geometrijskoj reprezentaciji gra cki pedstavljaju strelicama. Ako je (u, v ) E (G) i (v, u) E (G), ta cke pridri zene cvorovima u i v se spajaju neorjentisanom linijom. Ako je (u, v ) E (G) i (v, u) / E (G), linija koja spaja ta cke u i v orjentisana je od u ka v . Mnogi problemi optimizacije svode se na to da se u zadatom te zinskom grafu nad e podgraf odred enog tipa sa najmanjom ili najve com te zinom. Jedan od njih je problem najkra ceg puta: U te zinskom grafu (G, ) za ksirane cvorove u, v G, na ci (u v )- put najmanje te zine. Jednostavnosti radi, umjesto ,,te zina puta govori cemo ,,du zina ili ,,cijena puta. Koristi cemo i sljede ce oznake: cij - du zina (cijena) grane (i, j ), (i) = {j V (G)|(i, j ) E (G)} - skup cvorova koji slijede iz i, 1 (i) = {j V (G)|(j, i) E (G)} - skup cvorova koji prethode cvoru i, s - po cetni i t - zavr sni ili ciljni cvor. Najve ci broj algoritama najkra ceg puta sastoji se u pridru zivanju, u svakom algoritamskom koraku, privremenih oznaka d(v ), za svaki cvor v . Promjenjiva d(v ) predstavlja gornju granicu te zine najkra ceg puta od polazi sta s do v . Promjenjivu d(v ) nazivamo procjenom najkra ceg (s v )puta. Algoritmi se razlikuju po na cinu kako ,,pobolj savaju privremene oz1

nake iz koraka u korak i kako ,,konvergiraju ka najkra cim rastojanjima. Label-setting algoritmi u svakom koraku odred uju po jednu stalnu oznaku. Label-correcting algoritmi sve oznake smatraju privremenima, do poslednjeg koraka, kada sve oznake postaju kona cne. Label-setting algoritmi su primjenjivi samo za tra zenje najkra cih puteva na te zinskim grafovima sa nenegativnom te zinskom funkcijom i acikli cnim grafovima sa proizvoljnom te zinskom funkcijom. Label-correcting algoritmi su op stiji, primjenjivi na sve te zinske grafove. Ipak, label-setting algoritmi su ekasniji, u smislu da imaju manju slo zenost u najgorem slu caju.

Dijkstrin algoritam

Dijkstrin algoritam rje sava problem najkra ceg puta iz jednog polazi sta u usmjerenom te zinskom grafu u slu caju kada su sve te zine nenegativne. Smatra se najekasnijim za odred ivanje najkra ceg puta izmed u dva cvora, za ovakvu klasu te zinskih grafova. 1.U inicijalnom koraku, cvorovima dodjeljujemo po cetna obilje zja na slede ci na cin: - po cetnom cvoru s dodjeljujemo stalno obilje zje d+ (s) = 0 - svim ostalim cvorovima dodjeljujemo privremena obilje zja d (v ) = , v V (G)\{s} -stavljamo i = s 2. Odredimo skup Ai = {v |v (i) d(v ) = d (v )} cvorova v koji nemaju stalno obilje zje i slijede iz i. 3. Za svako v Ai odredimo nova privremena obilje zja d (j ) = min{d (j ), d (j ) + ci,j } 4. Od svih cvorova na grafu sa privremenim obilje zjima tra zimo onaj za koji je privremeno obilje zje minimalno. Ozna cimo ga sa j . d (j ) = minvV (G) {d (v )}

Cvor j dobija stalno obilje zje d+ (j ) = d (j ). 5. Provjeriti da li je j zavr sni cvor t. Ako nije, staviti i = j i vratiti se na korak 2. Ako jeste, odred ena je du zina najkra ceg (s t)-puta i ona je jednaka d+ (t). 6.Najkra ci (s t)-put P = (s, v1 , v2 , . . . , vk , t) rekonstrui semo vra caju ci se unazad od t ka s tako da va zi: vk vk1 . . s : : . . : d+ (t) = d+ (vk ) + cvk t d+ (vk ) = d+ (vk1 ) + cvk1 vk . . d+ (v1 ) = d+ (s) + csv1

Ovaj poslednji korak rekonstrukcije najkra ceg puta obi cno se pojednostavljuje tako sto se u koraku 4. uz stalno obilje zje pamti i cvor na osnovu kog je to stalno obilje zje dobijeno.

Flojdov algoritam

Flojdov algoritam nalazi najkra ce puteve izmed u svaka dva cvora u grafu. Primjenljiv je i kada su du zine grana negativne, ali u grafu ne smije postojati kontura negativne du zine. Neka je G te zinski graf sa n cvorova. Matrica rastojanja cvorova grafa G je ciji elementi predstavljaju du zine odgovaraju cih n n matrica C = (cij )i,j =1,n grana grafa G, to jeste: (ij ) = 0 , (i, j ) E (G) , (i, j ) / E (G) cij = 0 , i=j U Flojdovom algoritmu formira se niz matrica C 0 , C 1 , . . . C n , tako da za k svako k {1, 2, . . . , n} element ck zinu najkra ceg ij matrice C predstavlja du (i j )-puta za sve cvorove i, j {1, 2, . . . k }. 3

1. Neka je k = 0 i C 0 = C 2. k = k + 1 3. Odred ujemo skupove


1 1 I = {i|i = k, ck = } i J = {j |j = k, ck ik kj = }

4. Formiramo matricu C k na slede ci na cin:


k 1 k 1 k 1 ck ij = min{cij , cik + ckj } k1 za sve i I i j J. Ostali elementi ostaju nepromijenjeni, t.j. ck ij = cij .

cvor i, elementi matrice C n su du zine 5. (1) ako je k = n i cn ii 0 za svaki najkra cih puteva (2) ako je k < n i ck cvor i, vratiti se na korak 2. ii 0 za svaki k cvor i, u grafu postoji kontura negativne (3) ako je k n i cii < 0 za neki du zine, pa ne postoji najkra ci put.

You might also like