Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W...
Transcript of Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W...
Digraf
13 maja 2017
Graf skierowany, digraf, digraf prosty
Definicja 1Digraf prosty G to (V ,E ), gdzie
V jest zbiorem wierzchołków,
E jest rodziną zorientowanych krawędzi, między różnymiwierzchołkami,które nie mogą być wielokrotne.
Dokładniej E jest rodziną dwuelementowych par (v1, v2)różnych v1, v2 elementów V .
Zatem nie są dopuszczane skierowane pętle ani krawędzie wielokrotnejednakowo skierowane.
13 maja 2017 2 / 40
13 maja 2017 3 / 40
Multigraf skierowany
Multigraf skierowany M to (V (G ),E (G ), γ : V (G )× V (G )→ E (G )).
Jeżeli e jest krawędzią multigrafu M, gdzie γ(e) = (v1, v2),to powiemy, że krawędź e wychodzi z wierzchołka v1 do wierzchołka v2
oraz, że e jest zorientowana z wierzchołka v1 w kierunku wierzchołka v2.
13 maja 2017 4 / 40
13 maja 2017 5 / 40
Multigraf skierowany
Uwaga 2
Digraf (V (G ),E (G ), γ : V (G )× V (G )→ E (G ))to multigraf, w którym γ : V (G )× V (G )→ E (G )) jest różnowartościowa.
Piszemy wtedy e = (v ,w) zamiast γ(e) = (v ,w).Używa się też zapisu e = {v ,w}, przy czym w tej notacji zbiór jest
uporządkowany.
13 maja 2017 6 / 40
Multigraf skierowany
Jeśli γ(e1) = (v1, v2), γ(e2) = (v2, v3), to powiemy, że krawędzie są zgodniezorientowane w multigrafie.
W szczególności:
γ(e1) = (v1, v2), γ(e2) = (v2, v1), są zgodnie zorientowane, ale nie tak samozorientowane.
γ(e1) = (v1, v2), γ(e3) = (v1, v2), są nie zgodnie zorientowane, ale są tak samozorientowane.
13 maja 2017 7 / 40
Multigraf skierowany
Twierdzenie 3Pętla zorientowaną nazywamy zorientowaną krawędź e, oraz wierzchołek v takie,że e prowadzi z v do v .
13 maja 2017 8 / 40
Digraf
Twierdzenie 4Drogą T długości n nazywamy ciąg zgodnie zorientowanych krawędzi e1e2 . . . en,oraz wierzchołków v1v2 . . . vn+1, takich że ei = (vi , vi+1).W drodze krawędzie mogą się powtarzać.W drodze wierzchołki mogą się powtarzać.
13 maja 2017 9 / 40
Digraf
Drogą zamkniętą długości n nazywamy ciąg zgodnie zorientowanych krawędzie1e2 . . . en, oraz wierzchołków v1v2 . . . vn+1, takich że v1 = vn+1.W drodze zamkniętej krawędzie mogą się powtarzać.W drodze zamkniętej wierzchołki mogą się powtarzać.
13 maja 2017 10 / 40
Digraf
Drogą prostą P długości n nazywamy ciąg różnych zgodnie zorientowanychkrawędzi e1e2 . . . en, oraz wierzchołków v1v2 . . . vn+1, takich że ei = {vi , vi+1}(tu uporządkowany zbiór, zatem lepszy zapis w postaci pary uporządkowanejei = (vi , vi+1)).W drodze prostej krawędzie nie mogą się powtarzać.W drodze prostej wierzchołki mogą się powtarzać.
13 maja 2017 11 / 40
Digraf
Ścieżką prostą S długości n nazywamy ciąg różnych zgodnie zorientowanychkrawędzi e1e2 . . . en, oraz ciąg różnych wierzchołków v1v2 . . . vn+1, takich żeei = {vi , vi+1}(tu para uporządkowana ei = (vi , vi+1)).W ścieżce prostej krawędzie nie mogą się powtarzać.W ścieżce prostej wierzchołki nie mogą się powtarzać.
13 maja 2017 12 / 40
Digraf
Cyklem C długości n nazywamy ciąg różnych zgodnie zorientowanych krawędzie1e2 . . . en, oraz ciąg różnych wierzchołków v1v2 . . . vn+1, takich że v1 = vn+1.Przy czym zakładamy, że n ≥ 2.W cyklu krawędzie nie mogą się powtarzać.W cyklu wierzchołki v1, v2, . . . , vn nie mogą się powtarzać.
13 maja 2017 13 / 40
13 maja 2017 14 / 40
Digraf
Twierdzenie 5(Droga acykliczna)
Niech G multigraf skierowany (dopuszczamy pętle i krawędzie wielokrotne).Niech u i v to różne wierzchołki G .Jeżeli istnieje w G droga z u do v ,to istnieje w G droga acykliczna z u do v .
13 maja 2017 15 / 40
Digraf
Twierdzenie 6
Niech G multigraf skierowany (dopuszczamy pętle i krawędzie wielokrotne).Niech u to wierzchołek w G
Jeżeli istnieje w G droga zamknięta z u do u,to istnieje w G cykl z u do u lub krawędź prowadząca z u do u (pętla).
13 maja 2017 16 / 40
13 maja 2017 17 / 40
13 maja 2017 18 / 40
13 maja 2017 19 / 40
13 maja 2017 20 / 40
13 maja 2017 21 / 40
13 maja 2017 22 / 40
13 maja 2017 23 / 40
Algorytm Dijkstry
13 maja 2017 24 / 40
Algorytm Bellmana-Forda
W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźćnajkrótsze ścieżki proste od wybranego startowego 0 wierzchołka dowszystkich pozostałych wierzchołków.
Niezbędne założenie graf nie zawiera ujemnego cyklu, pętli czyli cyklu,w którym suma wag krawędzi jest ujemna lub pętli o ujemnej wadze.
Tworzymy dwie n elementowe tablice danych, n = |V (G )|.
D(i) to waga najkrótszej ścieżki prostej z wierzchołka startowego do i−tegowierzchołka grafu. D(0) = 0.P(i) to numer wierzchołka grafu, który jest poprzednikiem wierzchołka na
najkrótszej ścieżce. P(0) = −1.
13 maja 2017 25 / 40
13 maja 2017 26 / 40
13 maja 2017 27 / 40
13 maja 2017 28 / 40
13 maja 2017 29 / 40
13 maja 2017 30 / 40
13 maja 2017 31 / 40
13 maja 2017 32 / 40
13 maja 2017 33 / 40
13 maja 2017 34 / 40
13 maja 2017 35 / 40
13 maja 2017 36 / 40
13 maja 2017 37 / 40
13 maja 2017 38 / 40
13 maja 2017 39 / 40
13 maja 2017 40 / 40