Pokaż działanie algorytmu Dijkstry stosowanego w protokole stan
Transkrypt
Pokaż działanie algorytmu Dijkstry stosowanego w protokole stan
Pokaż działanie algorytmu Dijkstry stosowanego w protokole stan łącza obliczając w węźle A ścieżki mające najmniejszy koszt do pozostałych węzłów, jak również dodatkowo wypisz najkrótsze ścieżki będące rezultatem działania algorytmu. Rozwiązanie: D(B) -> koszt do węzła B p(B) -> ostatni przeskok przed osiągnięciem węzła B Tabelka: N 0 1 2 3 4 5 D(B), p(B) A 1, A AB ABC ABCD ABCDF ABCDFE D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 3, A 2, B 4, A 4, A 3, C ∞ 11, B 11, B 7, D 6, F ∞ 5, B 5, B 5, B wyjaśnienie: krok 0: w tym kroku sprawdzamy wszystkie bezpośrednie połączenia zwęzła A do reszty. jak jest takie połączenie to wstawiamy koszt i przeskok (1,A; 3,A; 4A) jak nie ma to znaczek nieskończoności ∞. krok 1-n: z poprzedniego kroku wybieramy najmniejszy koszt (jak są dwa równe to bierzemy ten bardziej z lewej strony... nie ma to znaczenia dla algorytmu), sprawdzamy, który węzeł wybraliśmy (sprawdzamy to w kolumnie tabeli) piszemy go z boku i przeglądamy sieć „patrząc” z tego węzła. Jeżeli ścieżka z tego węzła jest lepsza niż poprzednio znaleziona to zamieniamy ścieżkę. (uwaga na dodawanie kosztu ścieżki do kosztu dotarcia do węzła, z którego „oglądamy” sieć). Postępujemy tak aż skończą nam się węzły. Po obliczeniu tabelki trzeba wykonać sprawdzenie-podsumowanie. Najkrótsze ścieżki : Z punktu A do punktu : B – (AB), 1 C – (ABC), 2 D – (ABCD), 3 E - (ABFE), 6 F – (ABF), 5