Digraf 13 maja 2017
Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami, które nie mogą być wielokrotne. Dokładniej E jest rodziną dwuelementowych par (v 1, v 2 ) różnych v 1, v 2 elementów V. Zatem nie są dopuszczane skierowane pętle ani krawędzie wielokrotne jednakowo 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) = (v 1, v 2 ), to powiemy, że krawędź e wychodzi z wierzchołka v 1 do wierzchołka v 2 oraz, że e jest zorientowana z wierzchołka v 1 w kierunku wierzchołka v 2. 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 γ(e 1 ) = (v 1, v 2 ), γ(e 2 ) = (v 2, v 3 ), to powiemy, że krawędzie są zgodnie zorientowane w multigrafie. W szczególności: γ(e 1 ) = (v 1, v 2 ), γ(e 2 ) = (v 2, v 1 ), są zgodnie zorientowane, ale nie tak samo zorientowane. γ(e 1 ) = (v 1, v 2 ), γ(e 3 ) = (v 1, v 2 ), są nie zgodnie zorientowane, ale są tak samo zorientowane. 13 maja 2017 7 / 40
Multigraf skierowany Twierdzenie 3 Pę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 4 Drogą T długości n nazywamy ciąg zgodnie zorientowanych krawędzi e 1 e 2... e n, oraz wierzchołków v 1 v 2... v n+1, takich że e i = (v i, v i+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ędzi e 1 e 2... e n, oraz wierzchołków v 1 v 2... v n+1, takich że v 1 = v n+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 zorientowanych krawędzi e 1 e 2... e n, oraz wierzchołków v 1 v 2... v n+1, takich że e i = {v i, v i+1 } (tu uporządkowany zbiór, zatem lepszy zapis w postaci pary uporządkowanej e i = (v i, v i+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 zorientowanych krawędzi e 1 e 2... e n, oraz ciąg różnych wierzchołków v 1 v 2... v n+1, takich że e i = {v i, v i+1 } (tu para uporządkowana e i = (v i, v i+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ędzi e 1 e 2... e n, oraz ciąg różnych wierzchołków v 1 v 2... v n+1, takich że v 1 = v n+1. Przy czym zakładamy, że n 2. W cyklu krawędzie nie mogą się powtarzać. W cyklu wierzchołki v 1, v 2,..., v n 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 do wszystkich 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 tego wierzchoł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