SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.

Slides:



Advertisements
Podobne prezentacje
TRADYCYJNE METODY PLANOWANIA I ORGANIZACJI PROCESÓW PRODUKCYJNYCH
Advertisements

ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Grafy spełniające nierówność Γ(G) < IR(G)
ALGORYTMY GRAFOWE.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Wykład 10 Metody Analizy Programów Specyfikacja Struktur Danych
Grafy inaczej, czyli inne modele grafów
Kolorowanie grafów Niech G = (V, E) będzie spójnym grafem nieskierowanym bez pętli. Kolorowaniem wierzchołków grafu nazywa się przypisanie wierzchołkom.
Homologia, Rozdział I „Przegląd” Homologia, Rozdział 1.
WYKŁAD 6. Kolorowanie krawędzi
ELEMENTY TEORII GRAFÓW
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Algorytm Dijkstry (przykład)
Techniki konstrukcji algorytmów
Badania operacyjne. Wykład 2
ALGORYTMY I STRUKTURY DANYCH
Ciągi de Bruijna generowanie, własności
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 5. Skojarzenia – ciąg dalszy
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
WYKŁAD 1. Grafy są wokół nas. Pojęcia wstępne.
WYKŁAD 4. Skojarzenia Skojarzenie w grafie G to niezależny zbiór krawędzi (rozłączne, bez wspólnych konców). Skojarzenie M w G traktujemy jak podgraf.
WYKŁAD 8. Siła spójności Wierzchołek v nazywamy wierzchołkiem cięcia grafu G, gdy podgraf G-v ma więcej składowych spójności niż G. Krawędź e nazywamy.
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
GRAFY PLANARNE To grafy, które można narysować na płaszczyźnie tak, by krawędzie nie przecinały się (poza swoimi końcami). Na przykład K_4, ale nie K_5.
WYKŁAD 4. Skojarzenia Skojarzenie w grafie G to niezależny zbiór krawędzi (rozłączne, bez wspólnych konców). Skojarzenie M w G traktujemy jak podgraf G.
Dariusz Odejewski Krzysztof Wójcik
Materiały pomocnicze do wykładu
12 grudnia 2001Matematyka Dyskretna, Elementy Kombinatoryki G.Mirkowska, PJWSTK 1 Wykład 11 Elementy Kombinatoryki.
Macierz incydencji Macierzą incydencji grafu skierowanego D = (V, A), gdzie V = {1, ..., n} oraz A = {a1, ..., am}, nazywamy macierz I(D) = [aij]i=1,...,n,
Algorytmy grafowe Reprezentacja w pamięci
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Kod Graya.
Przepływy w sieciach. Twierdzenie minimaksowe.
O relacjach i algorytmach
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Algorytmy i struktury danych
Badania operacyjne Wykład 5.
Reprezentacja grafów i operacje na grafach na przykładzie algorytmu Dijkstry i algorytmu na odnajdywanie Silnych Spójnych Składowych Temat Opracowali:
Rodzaje, przechodzenie grafu
PODSTAWOWE WŁASNOŚCI PRZESTRZENI
Zasady przywiązywania układów współrzędnych do członów.
Algorytmika.
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Algorytmy i Struktury Danych
Algorytm znajdowania Największego Wspólnego Dzielnika.
PLANARNOŚĆ i KOLOROWANIE MAP. Problem Jaka jest minimalna liczba kolorów, za pomocą których można pokolorować obszary województw na mapie Polski tak,
Algorytmy i Struktury Danych Grafy
Drogi i cykle Eulera w grafach nieskierowanych
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
Algorytmy grafowe Minimalne drzewa rozpinające
Literatura podstawowa
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Autor: Michał Salewski
Grafy.
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Metody Badań Operacyjnych Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
Działania na grafach Autor: Anna Targońska.
Model matematyczny przydziału częstotliwości w sieciach komórkowych
Algorytm Dijkstry Podano graf Zdefiniowano jego listę sąsiedztwa 1 2 3
Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Kinga Cichoń.
Algorytmy i struktury danych
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek

2 3 1 Co to są grafy? To są kropki połączone kreskami! Przy czym ^ kropki nazywamy wierzchołkami a kreski ^ krawędziami Krawędź ^ jest skierowana od wierzchołka ^ 2 do wierzchołka ^ 3 5 4

Graf skierowany nazywany jest DIGRAFEM DEFINICJA: 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. Graf skierowany nazywany jest DIGRAFEM

Popularna dziecięca zabawa „połącz kropki” to graf…

„Graf Zeppelin”

W zadaniach matematycznych w szkole podstawowej

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. 1 2 Podobnie dwie krawędzie grafu są sąsiednie, jeśli mają przynajmniej jeden wspólny wierzchołek. 1 2 3

Stopień wejściowy 2 3 1 Znamy stopnie grafu. W grafach skierowanych oprócz stopni grafu są stopnie wejściowe 4

Stopień wyjściowy 2 3 1 I wyjściowe 4

2 3 1 Jaka może być droga pomiędzy wierzchołkami ^ 1 i ^ 5? 5 4

2 3 1 Droga prowadzi krawędziami między wierzchołkami 1 – 4 – 5 lub ^ 5 4

2 3 1 1 – 2 – 3 – 4 – 5. Dlaczego nie można udać się z wierzchołka numer 1 do wierzchołka numer 5 bezpośrednio ? 5 4

Ścieżka to taka droga w której wierzchołki są różne 1-2-3-4-5 Droga to ciąg krawędzi wzajemnie incydentnych 1-2-3-4-5-1-4 Każda ścieżka jest drogą nie każda droga jest ścieżką

Digraf symetryczny. 1 2 Digraf asymetryczny 1 2 Digraf nazywamy symetrycznym wtedy i tylko wtedy gdy dla każdych dwóch wierzchołków 1, 2  V prawdziwa jest implikacja: że dla każdego łuku/krawędzi między wierzchołkami 1-2 istnieje łuk/krawędź 2-1. Łatwo się domyśleć, że digraf asymetryczny posiada tylko jeden łuk/krawędź 1 2

2 1 3 5 4 Cykl to taka droga w której wierzchołek „startowy” i „końcowy” to ten sam wierzchołek 1-2-3-4-5-1 Już wiemy co to jest cykl…

2 1 3 5 4 Graf acykliczny Graf nie posiada „połączenia” by mógł powstać cykl

CYKL EULERA R 2 3 1 Cykl Ojlera to ścieżka w której droga prowadzi dokładnie raz przez wszystkie krawędzie grafu 5 4 1 – 2 – 3 – 1 – 4 – 5 – 1

CYKL HAMILTONA R 2 3 1 Cykl Hamiltona to ścieżka w której droga prowadzi dokładnie raz przez wszystkie wierzchołki grafu 5 4 1 – 3 – 2 – 4 – 5 – 1

Co można powiedzieć o tym grafie? 1 2 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

Co można powiedzieć o tym grafie? 1 2 3 4 5 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

Co można powiedzieć o tym grafie? 1 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ą

Macierz sąsiedztw

1 4 5 2 3 6 1 2 3 4 5 6 Macierz sąsiedztw jest to tablica w której wiersze określają początek krawędzi a kolumny jej koniec. Jaka jest najkrótsza droga między V1 a V3?

3 1 4 1 5 3 4 6 1 2 3 1 2 3 6 1 2 3 4 5 6 A to przykład grafu z wagami krawędzi. Wagi krawędzi można traktować jako koszt „podróży” między wierzchołkami grafu. Jaka jest najkrótsza (najlżejsza) droga między V1 a V3 A jaka najdłuższa (najcięższa)? Uwaga! Wagi mogą być wartością ujemną! Jak znaleźć najkrótszą drogę między dwoma wierzchołkami

Algorytm Dijkstry Algorytmu tego nie wolno używać kiedy w grafie występują ujemne wartości wag.

http://optlab-server. sce. carleton. ca/POAnimations2007/DijkstrasAlgo http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html

Dany jest graf skierowany W grafie wyróżniamy jeden z wierzchołków Dany jest graf skierowany W grafie wyróżniamy jeden z wierzchołków. Tutaj jest to wierzchołek 1. Będziemy wyznaczać najniższe koszty dojścia od wyróżnionego wierzchołka do wszystkich pozostałych wierzchołków w grafie oraz najkrótsze ścieżki pomiędzy wyróżnionym wierzchołkiem, a wszystkimi pozostałymi wierzchołkami w grafie.

Tworzymy dwa zbiory S (wierzchołki, dla których są policzone najkrótsze ścieżki) oraz Q (wierzchołki jeszcze nie przetworzone). Zbiór S jest początkowo pusty. Zbiór Q obejmuje wszystkie wierzchołki grafu.

Dla każdego wierzchołka v ustawiamy d(v) ← ¥ Dla każdego wierzchołka v ustawiamy d(v) ← ¥. Dla wybranego wierzchołka vo ustawiamy d(vo)← 0. Ustawiamy również p(v) ← 0. indeks 1 2 3 4 5 6 d(indeks) ¥ p(indeks)

W zbiorze Q szukamy wierzchołka o najmniejszym d W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 1 (czyli nasze vo). 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 1 2 3 4 5 6 d(indeks) ¥ p(indeks)

W zbiorze Q szukamy wierzchołka o najmniejszym d 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]. indeks 1 2 3 4 5 6 d(indeks) ¥ p(indeks)

W zbiorze Q szukamy wierzchołka o najmniejszym d 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]. indeks 1 2 3 4 5 6 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. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

W zbiorze Q szukamy wierzchołka o najmniejszym d 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. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

Do zbioru S przenosimy ostatni wierzchołek z Q 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. Jest wiele algorytmów znajdowania drogi. Ich zastosowanie uzależnione jest od rodzaju grafu (cykliczny, acykliczny) czy wartości wag (może się zdarzyć, że wagi maja wartości ujemne) indeks 1 2 3 4 5 6 d(indeks) p(indeks)

Zastosowanie algorytmów grafów skierowanych Programy do nawigacji samochodowych W systemach kartograficznych W systemach hydrologicznych Analizowanie DNA Do czego można wykorzystać grafy?

Graf de Bruijna Gn rzędu n 2n-1 wierzchołków – słowa binarne (n-1)-literowe krawędzie: a1a2…an-1 → a2…an-10 (etykieta: 0) i a1a2…an-1→a2…an-11 (etykieta: 1) cykle Eulera w grafach de Bruijna odpowiadają ciągom de Bruijna! Są różne rodzaje grafów

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

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.

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 .

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

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.

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.

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ą).

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

Dziękujemy za uwagę