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

Podobne dokumenty