Mencari jalur terpendek antara 1 source node ke titik-titik lainnya didalam jaringan.
—Jarak dapat positif atau negatif.
—Diasumsikan tidak ada cycle dengan jarak negatif.
—di,j = ∞, jika (i,j) bukan arc dari graph.
—Didalam algoritma B-F, yang dicari mula-mula adalah.
Jarak terpendek dengan maksimum 1 arc.
Jarak terpendek dengan maksimum 2 arc, dst.
Jarak terpendek dengan maksimum h arc.
à SHORTEST (≤ h) path.
—Di(h) adalah jalur terpendek (≤h) dari node 1 (source node) ke node I
—= 0, untuk semua h
—Start : Di(0) = ∞, untuk semua I ≠ 1.
—Untuk setiap successive h ≥ 0,
Di(h+1) = minj[Dj(h) + dji], untuk semua I ≠ 1
—
—jumlah step maks = |N| - 1
—dij = jarak dari source i ke destination j
—
—dij = 0 ® i=j
—dij = ~ ® i ≠ j
—dij = 0 ® i=j
2.Algoritma Dijkstra
—Complexity algoritma Dijkstra = Φ(N2).
—Semua jarak d/p arc harus positif.
—Terdapat 1 set node P.
—Mencari jalur terpendek dari node 1 (source node) ke setiap node lainnya didalam graph.
—Estimasi jalur terpendek di update setiap kali, dan jika estimasi sudah mencapai actual distance, masukkan node dalam set P.
—Kondisi mula:
P = {1}, D1 = 0, Dj = dij, j ≠ 1
—Step 1: Untuk setiap i* € P,
dimana: Di* = min Dj ; j € P
set P = P U{i*}; jika P = N à stop, else
—Step 2: Update Dj untuk j € P
Dj = min[Dj, Di* + di*j]
Kembali ke step 1.3. Algoritma Floyd-Warshall
— Mencari jalur terpendek diantara semua pasangan node secara bersama-sama —Jarak arc dapat positif atau negatif, tetapi tidak ada cycle dengan jarak negatif —Algoritma F-W melakukan iterasi pada set node, yang diperbolehkan sebaga intermediate nodes (titik-titik antara) didalam graph —Start dengan arc tunggal (tanpa intermediate nodes) —Selanjutnya jarak terpendek dihitung dengan batasan hanya node 1 (asumsi sebagai souce node) yang dapat digunakan sebagai intermediate node, diteruskan dengan batasan bahwa hanya node 1 dan node 2 yang dapat digunakan sebagai intermediate node, dst.
—Definisi : Dij(n) = jalur terpendek antara node i dan node j dengan batasan (ketentuan) bahwa hanya node 1,2,…..,n yang dapat digunakan sebagai intermediate nodes —Step (1): Start à Dij(0) = dij, untuk semua i,j; i≠j —Step (2): Untuk n=0,1,…,N-1 Dij(n+1) = min [Dij(n),Di(n+1)(n) + D(n+1)j(n)] untuk semua i≠j dst. Algoritma stop setelah n = N – 1, dimana N = jumlah node dalam jaringan —Kompleksitas algoritma F-W adalah Φ(N3) àkarena N step dalam algoritma F-W harus dieksekusi untuk setiap node. = jika algoritma Dijkstra diulang untuk setiap pilihan yang mungkin untuk source node.
4.Distance Vector Algorithm
Tidak ada komentar:
Posting Komentar