Rozważ najkrótszą ścieżkę od do t , s , v 1 , v 2 , … , v k , t . Ta ścieżka składa się co najwyżej | V | - 1 krawędzie, ponieważ powtarzanie wierzchołka na najkrótszej ścieżce jest zawsze złym pomysłem (lub przynajmniej istnieje najkrótsza ścieżka, która nie powtarza wierzchołków), jeśli nie mamy ujemnych cykli wagi.sts,v1,v2,…,vk,t|V|−1
W pierwszej rundzie wiemy, że krawędź zostanie rozluźniona, więc oszacowanie odległości dla v 1 będzie poprawne po tej rundzie. Zauważ, że nie mamy pojęcia, czym w tym momencie jest v 1 , ale ponieważ rozluźniliśmy wszystkie krawędzie, musieliśmy również złagodzić ten. W drugiej rundzie relaksujemy się ( v 1 , v 2 ) w pewnym momencie. Nadal nie mamy pojęcia, czym są v 1 lub v 2 , ale wiemy, że ich szacunki odległości są prawidłowe.(s,v1)v1v1(v1,v2)v1v2
Powtarzając to, po pewnym okrążeniu rozluźniliśmy się ( v k , t ) , po czym oszacowanie odległości dla t jest poprawne. Nie mamy pojęcia, czym jest k, dopóki nie skończy się cały algorytm, ale wiemy, że to się stanie w pewnym momencie (zakładając brak ujemnych cykli masy).k+1(vk,t)tk
Zatem kluczową obserwacją jest to, że po rundzie , i -ty węzeł najkrótszej ścieżki musi mieć ustawione oszacowanie odległości na prawidłową wartość. Ponieważ ścieżka jest co najwyżej | V | - 1 krawędź długa, | V | - 1 runda wystarczy, aby znaleźć tę najkrótszą ścieżkę. Jeśli | V | runda wciąż coś zmienia, potem dzieje się coś dziwnego: wszystkie ścieżki powinny już zostać „ustalone” do ich ostatecznych wartości, więc musimy mieć sytuację, w której istnieje pewien ujemny cykl wagowy.ii|V|−1|V|−1|V|