Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.

Podobne prezentacje


Prezentacja na temat: "SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek."— Zapis prezentacji:

1 SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek

2 12345

3 Grafem skierowanym nazywamy strukturę G = (V, E) złożoną z niepustego zbioru wierzchołków V, zwanych także węzłami, oraz zbioru skierowanych krawędzi E, zwanych inaczej łukami. DEFINICJA: Graf skierowany nazywany jest DIGRAFEM

4

5

6

7 Dwa wierzchołki grafu nazywamy wierzchołkami sąsiednimi, jeśli istnieje łącząca je krawędź. Mówimy wówczas, że wierzchołki te są incydentne z tą krawędzią, krawędź z tymi wierzchołkami Podobnie dwie krawędzie grafu są sąsiednie, jeśli mają przynajmniej jeden wspólny wierzchołek.

8 123 Stopień wejściowy 4

9 1234 Stopień wyjściowy

10 12345

11 12345

12 12345

13 12345 Ścieżka to taka droga w której wierzchołki są różne Droga to ciąg krawędzi wzajemnie incydentnych

14 Digraf symetryczny. 12 Digraf asymetryczny 12

15 12345 Cykl to taka droga w której wierzchołek startowy i końcowy to ten sam wierzchołek

16 Graf acykliczny 12345

17 12345 CYKL EULERA 1 – 2 – 3 – 1 – 4 – 5 – 1 R

18 CYKL HAMILTONA 1 – 3 – 2 – 4 – 5 – 1 R 12345

19 12 Co można powiedzieć o tym grafie? 1) Jest acykliczny 2) Posiada dwa wierzchołki i jedną krawędź skierowaną, wierzchołki są incydentne (sąsiadujące) 3) Wierzchołek 1 to źródło wierzchołek 2 to ujście Każdy skończony graf acykliczny posiada co najmniej jedno źródło i jedno ujście

20 23145 Co można powiedzieć o tym grafie? 1) Jest acykliczny 2) Posiada pięć wierzchołków i pięć krawędzi skierowanych 3) Wierzchołki 3 i 5 to źródła wierzchołki 4 i 1 to ujścia

21 1 Co można powiedzieć o tym grafie? 1) Jest cykliczny, eulerowski i hamiltonowski 2) Posiada jeden wierzchołek i jedną krawędź skierowaną 3) Źródło jest jednocześnie ujściem Graf z jedną krawędzią skierowaną na jeden i ten sam wierzchołek nazywamy pętlą

22 Macierz sąsiedztw

23

24

25 Algorytm Dijkstry

26 server.sce.carleton.ca/POAnimations2007/Dijk strasAlgo.html

27

28

29 Dla każdego wierzchołka v ustawiamy d(v) ¥. Dla wybranego wierzchołka v o ustawiamy d(v o ) 0. Ustawiamy również p(v) 0. indeks d(indeks)0¥¥¥¥¥ p(indeks)000000

30 W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 1 (czyli nasze v o ). Wierzchołek ten przenosimy do zbioru S. Następnie sprawdzamy wartość d wszystkich sąsiadów przeniesionego wierzchołka (2 i 4). Jeśli ich d jest większe od kosztu d(1) + waga krawędzi do sprawdzanego wierzchołka, to modyfikujemy odpowiednio d i p dla tych wierzchołków. indeks d(indeks)03¥3¥¥ p(indeks)010100

31 indeks d(indeks)0353¥¥ p(indeks) W zbiorze Q szukamy wierzchołka o najmniejszym d. Są dwa takie wierzchołki: 2 i 4 o d=3. Wybieramy arbitralnie wierzchołek nr 2 i przenosimy go do zbioru S. Wierzchołek 2 posiada tylko jednego sąsiada - 3. Modyfikujemy odpowiednio d[3] i p[3].

32 indeks d(indeks)03534¥ p(indeks) W zbiorze Q szukamy wierzchołka o najmniejszym d. Teraz jest to wierzchołek 4 o d[4] = 3. Przenosimy go do zbioru S. Wierzchołek 4 posiada tylko jednego sąsiada - 5. Modyfikujemy odpowiednio d[5] i p[5].

33 indeks d(indeks) p(indeks) W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 5 o d[5] = 4. Przenosimy go do zbioru S. Wierzchołek 5 posiada dwóch sąsiadów: 3 i 6. Ponieważ d[3]=5 jest takie samo jak d[5] + waga(5-3) = 4+1=5, nie modyfikujemy parametrów d i p dla wierzchołka 3. Do modyfikacji jest tylko wierzchołek 6.

34 indeks d(indeks) p(indeks) W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 3 o d[3] = 5. Przenosimy go do zbioru S. Wierzchołek 3 posiada dwóch sąsiadów: 1 i 6. Ponieważ wierzchołek 1 jest już w zbiorze S, to nie bierzemy go pod uwagę. Drugi wierzchołek posiada d[6]=6, czyli takie samo jak d[3]+waga(3-6)=5+1=6. Nie modyfikujemy zatem wierzchołka 6.

35 Do zbioru S przenosimy ostatni wierzchołek z Q. Wierzchołek ten nie posiada sąsiadów w Q połączonych z nim krawędzią, dlatego nic nie modyfikujemy. Ponieważ zbiór Q stał się pusty, algorytm kończymy. indeks d(indeks) p(indeks)012145

36 Zastosowanie algorytmów grafów skierowanych Programy do nawigacji samochodowych W systemach kartograficznych W systemach hydrologicznych Analizowanie DNA

37 Graf de Bruijna G n rzędu n 2 n-1 wierzchołków – słowa binarne (n-1)-literowe krawędzie: a 1 a 2 …a n-1 a 2 …a n-1 0 (etykieta: 0) i a 1 a 2 …a n-1a 2 …a n-1 1 (etykieta: 1) cykle Eulera w grafach de Bruijna odpowiadają ciągom de Bruijna!

38 Zastosowania grafu de Bruijna W elektronice, W sieciach komputerowych, W biologii obliczeniowej, W kryptografii

39 Algorytm Bellmana-Forda Algorytm służy do rozwiązywania problemu najkrótszych ścieżek z jednego źródła w ogólnym przypadku, gdzie wagi mogą być ujemne (w(u,v) ). Algorytm zwraca wartość FALSE, jeśli w grafie istnieje cykl o ujemnej wadze osiągalny ze źródła. W przeciwnym wypadku oblicza najkrótsze ścieżki i ich wagi.

40 Algorytm Bellmana-Forda Algorytm znajduje najkrótsze ścieżki między wszystkimi parami wierzchołków skierowanych w grafie skierowanym G = (V,E). Zakłada się, że wagi mogą być ujemne, ale brak jest cykli z wagami ujemnymi. Algorytm wylicza rekurencyjnie macierz najkrótszych ścieżek.

41 Algorytm Floyda-Warshalla służy do znajdowania najkrótszych ścieżek pomiędzy wszystkimi parami wierzchołków w grafie ważonym. Pseudokod algorytmu Floyda-Warshalla

42 Kolorowanie grafu Kolorowanie grafu to przyporządkowanie wierzchołkom grafu liczb naturalnych w taki sposób, aby końce żadnej krawędzi nie miały przypisanej tej samej liczby (koloru). Optymalnym pokolorowaniem grafu nazywamy pokolorowanie zawierające najmniejszą możliwą liczbę kolorów. Liczbą chromatyczną grafu G nazywamy liczbę χ(G) równą minimalnej liczbie kolorów wystarczającej do prawidłowego pokolorowania wierzchołków grafu G. Problem znalezienia optymalnego pokolorowania a także znalezienia liczby chromatycznej jest NP zupełny.

43 Do kolorowania grafu służą następujące algorytmy: Algorytm zachłanny Algorytm DSATUR Algorytm MAXIS Algorytm zachłanny - przechodząc kolejno wszystkie wierzchołki grafu, kolorujemy każdy z nich najmniejszym możliwym kolorem, tzn. takim, który dotychczas nie został użyty dla żadnego z sąsiadów rozważanego wierzchołka.

44 Algorytm DSATUR działa podobnie jak algorytm zachłanny ale kolejność rozpatrywania wierzchołków grafu wyznaczana jest dynamicznie w zależności od liczby kolorów, które mogą być użyte do pomalowania poszczególnych wierzchołków. Najpierw kolorowane są te wierzchołki, dla których jest najmniej możliwości. Algorytm MAXIS opiera się na algorytmie znajdującym największy zbiór niezależny wśród wierzchołków danego grafu (żadne dwa wierzchołki takiego zbioru nie sąsiadują ze sobą).

45 Kolorowanie grafów ma wiele odmian, m.in.: Kolorowanie krawędzi – jest to przyporządkowywanie krawędziom liczb naturalnych symbolizujących kolory Listowe kolorowanie – kolorowanie wierzchołków, przy czym każdy wierzchołek posiada odpowiadającą mu listę kolorów Całkowite kolorowanie – kolorowanie wierzchołków oraz krawędzi Harmoniczne kolorowanie – kolorowanie wierzchołków, gdzie każda para kolorów użyta jest co najwyżej raz w stosunku do sąsiadującej pary wierzchołków Kompletne kolorowanie - kolorowanie wierzchołków, gdzie każda para kolorów użyta jest co najmniej raz w stosunku do sąsiadującej pary wierzchołków Dokładne kolorowanie - kolorowanie wierzchołków, gdzie każda para kolorów użyta jest dokładnie raz w stosunku do sąsiadującej pary wierzchołków

46


Pobierz ppt "SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek."

Podobne prezentacje


Reklamy Google