Algoritmalar ers En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
Negatif-ağırlıklı çevrimler Hatırlatma: Eğer graf G = (V, E) negatif ağırlıklı bir çevrim içeriyorsa, en kısa yollardan bazıları bulunmayabilir. Örnek: < 0 u u vv November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
Negatif-ağırlıklı çevrimler Hatırlatma: Eğer graf G = (V, E) negatif ağırlıklı bir çevrim içeriyorsa, en kısa yollardan bazıları bulunmayabilir. Örnek: < 0 u u Bellman-Ford algoritması:bir s V kaynağından tüm v V' lere bütün kısa yol uzunluklarını bulur ya da negatif ağırlıklı bir çevrim olduğunu saptar. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson vv
Bellman-Ford algoritması d[s] 0 for each v V {s} do(yap) d[v] for i to V do for each edge (u, v) E do if d[v] > d[u] + w(u, v) then d[v] d[u] + w(u, v) for each edge (u, v) E do if d[v] > d[u] + w(u, v) ilklendirme Gevşetme adımı then bunu negatif ağırlık çevrimi var diyerek raporla. Algoritma sonunda eğer negatif ağırlıklı bir çevrim yoksa her v tepesi için d[v] = δ(s, v) verir. Süre = O(V E). November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 BB İlklendirme. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7 tepe gevşetme düzeni Ayrıtların üzerindeki siyah renkli sayılar ayrıtların numarasını belirtiyor. Farklı numaralandırmalar da olabilir. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 7
BB 0 7 İşlem numaralı ayrıttan başlıyor. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 9
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 0
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
BB 0 7. geçişin sonunda November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 7
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 9
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 0
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 7 BB November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
0 November, 00 opyright 00- by Erik. emaine and harles E. Leiserson BB. geçişin sonu 7 ( ve. geçişler de aynıdır) Tepelerin üzerindeki rakamlar kaynaktan (burada kaynak A tepesi) o tepeye olan en kısa yol uzunluklarını belirtiyor.
oğruluk Teorem.Eğer G = (V, E) hiç negatif ağırlık çevrimi içermiyorsa, sonrasında Bellman-Ford algoritması, bütün v V' ler için d[v] = δ(s, v)' yi çalıştırır. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
En kısa yollar Tek-kaynaklı en kısa yollar Negatif olmayan kenar ağırlıkları ijkstra algoritması: O(E + V lgv) Genel Bellman-Ford algoritması: O(VE) November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 7
En kısa yollar Tek-kaynaklı en kısa yollar Negatif olmayan kenar ağırlıkları ijkstra algoritması: O(E + V lg V) Genel Bellman-Ford: O(VE) Tüm-ikili en kısa yollar Negatif olmayan kenar ağırlıkları ijkstra algoritması çarpı V : O(VE + V lg V) Genel Floyd Warshal November, 00 opyright 00- by Erik. emaine and harles E. Leiserson
Tüm-ikili en kısa yollar Girdi: G = (V, E) yönlü grafında, V={,,, n} İken w : E R ayrıt ağırlık fonksiyonu olsun. Çıktı:Tüm i, j V için δ(i, j) en kısa yol uzunluklarını veren n n matrisidir. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 9
Tüm-ikili en kısa yollar Girdi: G = (V, E) yönlü grafında, V={,,, n} İken w : E R ayrıt ağırlık fonksiyonu olsun. Çıktı:Tüm i, j V için δ(i, j) en kısa yol uzunluklarını veren n n matrisidir. Fikir: Her tepeden Bellman-Ford' u bir kere çalıştır. Çalışma zamanı = O(V E). Yoğun graflarda (n ayrıtlı) Θ(n ) süre. November, 00 opyright 00- by Erik. emaine and harles E. Leiserson 0
Floyd-Warshall için sözde kod for k to n do for i to n do for j to n if c ij > c ik + c kj then c ij c ik + c kj Notlar: Θ(n ) zamanında çalışır. Kodlaması basittir. Pratikte verimlidir. Gevşetme November, 00 opyright 00- by Erik. emaine and harles E. Leiserson