digraf - zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/md5...algorytm bellmana-forda w...

40
Digraf 13 maja 2017

Upload: others

Post on 08-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

Digraf

13 maja 2017

Page 2: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 3: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 3 / 40

Page 4: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 5: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 5 / 40

Page 6: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 7: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 8: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 9: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 10: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 11: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 12: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 13: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 14: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 14 / 40

Page 15: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 16: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 17: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 17 / 40

Page 18: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 18 / 40

Page 19: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 19 / 40

Page 20: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 20 / 40

Page 21: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 21 / 40

Page 22: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 22 / 40

Page 23: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 23 / 40

Page 24: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

Algorytm Dijkstry

13 maja 2017 24 / 40

Page 25: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

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

Page 26: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 26 / 40

Page 27: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 27 / 40

Page 28: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 28 / 40

Page 29: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 29 / 40

Page 30: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 30 / 40

Page 31: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 31 / 40

Page 32: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 32 / 40

Page 33: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 33 / 40

Page 34: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 34 / 40

Page 35: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 35 / 40

Page 36: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 36 / 40

Page 37: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 37 / 40

Page 38: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 38 / 40

Page 39: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 39 / 40

Page 40: Digraf - Zakarczemnymaciej.zakarczemny.pl/wp-content/uploads/2016/09/MD5...Algorytm Bellmana-Forda W silnie spójnym grafie ważonym (dopuszamy ujemne wagi) znaleźć najkrótsze

13 maja 2017 40 / 40