Algoritma Floyd Warshall dapat mendeteksi siklus negatif dalam graf, namun nilai entry matriks hasilnya dapat membesar secara eksponensial jika graf memiliki siklus negatif. Penelitian menunjukkan contoh graf dengan siklus negatif dimana norma maksimum matriks hasil algoritma setara dengan 2 · 6n-1 kali nilai mutlak terbesar bobot sisi graf.
1. ALGORITMA FLOYDWARSHALL DENGAN
SIKLUS NEGATIF
Fajar Maulana Putra
Ahmad Yusuf Syaifuddin
Agus Budi Raharjo
Adam
[5109100057]
[5109100134]
[5109100164]
[5109100702]
2. PENDAHULUAN
Algoritma Floyd Warshall adalah algoritma
untuk mencari jarak terpendek dari semua
simpul dalam graf
Hanya bisa untuk graf tanpa siklus negatif,
namun bisa mendeteksi keberadaan siklus
negatif dalam graf
3. PENELITIAN SEBELUMNYA
Banyak peneliti yang sudah menemukan
alternatif algoritma Floyd Warshall, diantaranya
:
Michael L. Fredman, New bounds on the complexity of the shortest
path problem, SIAM Journal on Computing 5 (1) (1976) 83–89.
Tadao Takaoka, A new upper bound on the complexity of the all pairs
shortest path problem, Information Processing Letters 43 (1992) 195–
199.
Yijie Han, A note of an O(n3 / log n) time algorithm for all pairs
shortest paths, Information Processing Letters 105 (2008) 114–116
Tadao Takaoka, A faster algorithm for the all-pairs shortest path
problem and its application, in: K.-Y. Chwa, J.I. Munro (Eds.),
COCOON 2004, in: Lecture Notes in Computer Science, vol. 3106,
SpringerVerlag, Berlin–Heidelberg, 2004, pp. 278–289.
Uri Zwick, A slightly improved sub-cubic algorithm for the all pairs
shortest paths problem with real edge lengths, Algorithmica 46 (2006)
181–192.
4.
Tadao Takaoka, An O(n3 log log n / log n) time algorithm for the
allpairs shortest path problem, Information Processing Letters
96(2005) 155–161.
Timothy M. Chan, All-pairs shortest paths with real weights in O(n3 /
log n) time, Algorithmica 50 (2008) 236–243.
Yijie Han, An O(n3(log log n / log n)5/4) time algorithm for all pairs
shortest paths, Algorithmica 51 (2008) 428–434.
Timothy M. Chan, More algorithms for all-pairs shortest paths in
weighted graphs, in: STOC’07, 2007, pp. 590–598.
Yijie Han, An O(n3 log log n/ log2n) time algorithm for all pairs
shortest paths, Manuscript, 2009.
Akan tetapi, algoritma-algoritma di atas jauh lebih
rumit dan seringkali melibatkan struktur data yang
kompleks, sehingga dalam banyak kasus algoritma
Floyd Warshall tetap menjadi pilihan
5. TUJUAN
Tujuan Stefan Hougardy membuat paper ini
adalah untuk menunjukkan bahwa untuk
algoritma Floyd Warshall yang standar, terdapat
contoh sederhana (dengan siklus negatif) yang
bisa menyebabkan overflow
7. METODE PENELITIAN
Algoritma Floyd Warshall
Masukan: Sebuah graf berarah G dengan V(G) ={1,...,n} dan bobot
c : E(G) → R
Keluaran: Sebuah matriks M berukuran n x n dimana M[i, j]
berisi jarak terpendek dari simpul i ke simpul j.
1. M[i,j] := ∞ ∀i ≠ j
2. M[i,i] := 0 ∀i
3. M[i,j] := c((i,j)) ∀(i,j) ∈ E(G)
4. for i := 1 to n do
5.
for j := 1 to n do
6.
for k := 1 to n do
7.
if M[j,k] > (M[j,i]+M[i,k]) then
8.
M[j,k] := M[j,i] + M[i,k]
9. for i := 1 to n do
10.
if M [i,i] < 0 then return (‘graf memiliki siklus
negatif’)
8. Dari deskirpsi masukan diatas, kita memisalkan
cmax sebagai nilai mutlak terbesar dari sebuah
sisi dalam graf, atau bisa ditulis
cmax := maxe ∈ E(G) {|c(e)|}
║M║max adalah norma maksimum dari matriks
M dengan mengabaikan nilai ∞,atau bisa ditulis
:
║M║max := maxi,j{|M[i,j]| dimana M[i,j] ≠ ∞}
9.
Dari fakta diatas menghasilkan proposisi
berikut:
Jika masukan pada Algoritma Floyd Warshall
tidak memiliki siklus negatif, maka ║M║max ≤
n.cmax selama eksekusi algoritma
Bukti : Jika tidak ada siklus negatif, maka
selama algoritma bekerja, M[i,j] ≠ ∞ berisi jarak
dari simpul i ke simpul j. Dengan demikian
sebuah path bisa berisi paling banyak n-1 sisi
dari hasil akhir
10.
Sekarang akan dibuktikan bahwa entry dari matriks
M bisa membesar secara eksponensial jika masukan
berisi siklus negatif, diberikan teorema berikut :
Terdapat sebuah graf dimana
║M║ max = 2 · 6n-1· cmax
selama eksekusi Algoritma Floyd Warshall.
Bukti : misalkan ada graf dengan simpul 1…n dan
himpunan sisi E = {(1,i) | 1 ≤ i ≤ n} U {(I,1) | 2 ≤ i ≤ n}.
Berikan c(e) = -1 untuk semua e ∈ E
Contoh matriks dan penyelesaian
13. HASIL PENELITIAN
Hasil dari penelitian yang dilakukan oleh Stefan
Hougardy adalah kebenaran teorema berikut :
Terdapat sebuah graf dimana
║M║ max = 2 · 6n-1· cmax
selama eksekusi Algoritma Floyd Warshall.