Zaawansowane algorytmy i struktury danych/Wykład 5

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

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 O(|V||E|). 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 G=(V,E), funkcję w:E przypisującą wagi krawędziom oraz jeden wybrany wierzchołek s. Wagę ścieżki p=(v0,v1,,vk) definiujemy jako wagę tworzących ją krawędzi:


w(p)=i=0k1w(vi,vi+1).


Odległość z wierzchołka u do wierzchołka v definiujemy jako


δ(u,v)={min{w(p):p ścieżka z u do v},jeżeli istnieje ścieżka z u do v,w przeciwnym przypadku.


Najkrótszą ścieżką z wierzchołka u do wierzchołka v jest każda ścieżka p z u do v, której waga w(p)jest równa odległości δ(u,v) z u do v.

Historia Problemu