Zaawansowane algorytmy i struktury danych/Wykład 5: Różnice pomiędzy wersjami
Linia 43: | Linia 43: | ||
== Historia Problemu == | == Historia Problemu == | ||
< | <!-- aa --!> | ||
W dalszej części tego wykładu zajmiemy się przedstawieniem algorytm | W dalszej części tego wykładu zajmiemy się przedstawieniem algorytm | ||
Bellmana-Forda, który jest jednym z kilku kilku rozwiązań dla | Bellmana-Forda, który jest jednym z kilku kilku rozwiązań dla | ||
Linia 228: | Linia 228: | ||
co stoi w sprzeczności z [[#wzor_cykl|nierównością (1)]]. Jeżeli więc w grafie istnieje cykl o ujemnej wadze osiągalny z <math>s</math>, to algorytm zwróci FALSE. | co stoi w sprzeczności z [[#wzor_cykl|nierównością (1)]]. Jeżeli więc w grafie istnieje cykl o ujemnej wadze osiągalny z <math>s</math>, to algorytm zwróci FALSE. | ||
}} | }}--> |
Wersja z 19:34, 20 lip 2006
Abstrakt
Pierwsza część tego wykładu poświęcona będzie problemowi obliczania najkrótszych ścieżek w grafie z jednego źródła w przypadku, w którym wagi krawędzi mogą być ujemne. Zaprezentujemy algorytm Bellmana-Forda, który rozwiązuje ten problem w czasie . W drugiej części zajmiemy się problemem obliczania odległości między wszystkimi parami wierzchołków. Pokażemy związki tego problemu z mnożeniem macierzy.
Definicja problemu
W wykładzie tym zajmiemy się problemem obliczania najkrótszych ścieżek w grafie wychodzących z jednego wierzchołka. Załóżmy, że mamy dany graf , funkcję przypisującą wagi krawędziom oraz jeden wybrany wierzchołek . Wagę ścieżki definiujemy jako wagę tworzących ją krawędzi:
Odległość z wierzchołka do wierzchołka
definiujemy jako
Najkrótszą ścieżką z wierzchołka do wierzchołka
jest każda ścieżka z do
, której waga jest równa odległości
z do .