Anda di halaman 1dari 9

BAB 7

SINGLE-SOURCE SHORTEST PATHS

Weight dari path : W(P) = ∑ ( )

Shortest-Path Weight :

( )
( ) {

 Single Source Single Destination Shortest Path  Diberikan


vertex u, v, …..carilah shortest path dari u ke v.
 Single Source Multiple Destination Shortest Path  Diberikan

vertex u, …..carilah shortest path dari u ke v,  vV.


 Multiple Source Single Destination Shortest Path  Diberikan

vertex v, …..carilah shortest path dari u ke v,  uV


 All Pairs Shortest Path   u, vV, carilah shortest path dari u

ke v.

RELAXING AN EDGE

 d[v] = upperbound dari (s, v) , disebut juga perkiraan weight dari


shortest path < s, …, v >.
 π[v] = current predecessor dari v ( menunjukkan path dari s ke v
dengan weight d[v])
 Relax ← Tes apakah shortest path ke v sekarang dapat
diperbaiki dengan melalui “ vertex u “, jika dapat maka update
d[v] dan π[v].

RELAX(u, v, w)
if d[v] >= d[u] + w(u, v)
then d[v] = d[u] + w(u, v)
π[v]← u

CONTOH:
Dengan menggunakan relaxing an edge, carilah shortest path dari
graf berikut ini (start dari s ):
INITIALIZE SINGLE SOURCE (G,s)

RELAX(s, a, w)
if d[a] > =d[s] + w(s, a) ? YA
then d[a] = d[s] + w(s, a) = (0+2=2)
π[a]← s

RELAX(s, e, w)
if d[e] > =d[s] + w(s, e) ? YA
then d[e] = d[s] + w(s, e) = (0+4=4)
π[e]← s
RELAX(a, b, w)
if d[b] > =d[a] + w(a, b) ? NO

RELAX(e, b, w)
if d[b] > =d[e] + w(e, b) ? YA
then d[b] = d[e] + w(e, b) = (4+3=7)
π[b]← e

RELAX(e, f, w)
if d[f] > =d[e] + w(e, f) ? YA
then d[f] = d[e] + w(e, f) = (4+5=9)
π[f]← e

RELAX(b, c, w)
if d[c] > =d[b] + w(b, c) ? YA
then d[c] = d[b] + w(b, c) = (7+2=9)
π[c]← b
Shortest path ini jumlah bobotnya adalah = 2 + 9 + 5 = 16

ALGORITMA DIJKSTRA

 Merupakan jawaban dari SSSPP (Single Source Sorthest Path


Problem ) dimana w(u, v) ≥0 ,  (u,v)E.
 DIJKSTRA(G,s,w)
Initialize single-source(G,s)
S←
Q←V(G)
While Q   do
u←extract-min (Q)
S←S{u}
For each vertex v adj[u] do
RELAX(u, v, w)

 S=Himpunan vertex yang jarak terpendek ke source (s) nya


sudah “final”.
 Jadi  vS, maka d[v] = [s, v].

CONTOH:

s, d[s] = 0 (*)
u, d[u] = 
v, d[v] = 
x, d[x] = 
y, d[y] = 

u, d[u] = 10
v, d[v] = 
x, d[x] = 5 (*)
y, d[y] = 
u, d[u] = min(10, 5+3) =8
v, d[v] = min(, 5+9) = 14
y, d[y] = min(, 5+2) = 7 (*)

u, d[u] = min(8, 7+) =8 (*)


v, d[v] = min(14, 7+6) = 13

v, d[v] = min(13, 8+1) = 9 (*)

Jadi dengan algoritma Dijkstra, dari graf yang diberikan didapat


SSSP ( Single Source Shortest Path ) sebagai berikut :

Graf inputnya :

SSSP nya :
Jumlah bobot dari SSSP nya = 5+3+1+2 = 11
Tugas:
1. Dengan menggunakan algoritma Dijkstra, carilah SSSP dari
graf berikut ini ( start dari vertex s ):

Hitung jumlah bobot dari SSSP yang didapat.


2. Dengan menggunakan relaxation, carilah shortest path dari
graf berikut ini (start dari vertex s):

Hitung jumlah bobot dari shortest path yang anda peroleh.

Anda mungkin juga menyukai