Zadanie 1
Pokaż, że iloczyn odległości jest przemienny względem dodawania, tzn. że dla macierzy ,
i rozmiaru zachodzi:
oraz
Wskazówka
Te dwie równości wynikają ponownie z definicji iloczynu odległości - wzoru (1) oraz przemienności operacji względem dodawania.
Zadanie 2
Zaproponuj, jak wykorzystać algorytm Bellmana-Forda do sprawdzenia, czy w grafie i wagach krawędzi opisanych funkcją istnieje cykl o ujemnej wadze.
Rozwiązanie
Dodaj nowy wierzchołek i skonstruuj graf oraz
funkcję wagową taką, że:
.
Zauważmy, że w grafie są te same cykle co w grafie . Jednak teraz wszystkie te cykle są osiągalne z wierzchołka . Możemy więc do wykrycia cykli o ujemnej wadze użyć algorytmu Bellmana-Forda uruchomionego dla wierzchołka .
Zadanie 3
Mając dane graf , funkcję wagową , odległości z wybranego wierzchołka do w grafie , zaproponuj algorytm obliczania drzewa najkrótszych ścieżek w czasie
Wskazówka
W celu otrzymania drzewa najkrótszych ścieżek z grafu usuniemy krawędzie, które na pewno nie należą do żadnej najkrótszej ścieżki. Zdefiniujmy graf jako:
Zauważmy, że wszystkie ścieżki w są najkrótszymi ścieżkami, a więc dowolne drzewo przeszukiwania grafu ukorzenione w jest drzewem najkrótszych ścieżek.