TEORIA GRAFÓW I SIECI

Podobne dokumenty
Matematyczne Podstawy Informatyki

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

TEORIA GRAFÓW I SIECI

G. Wybrane elementy teorii grafów

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

a) 7 b) 19 c) 21 d) 34

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

TEORIA GRAFÓW I SIECI

Algorytmiczna teoria grafów

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

6. Wstępne pojęcia teorii grafów

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Graf. Definicja marca / 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Matematyczne Podstawy Informatyki

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

E ' E G nazywamy krawędziowym zbiorem

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Podstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Teoria grafów - Teoria rewersali - Teoria śladów

Grafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Sortowanie topologiczne skierowanych grafów acyklicznych

Digraf. 13 maja 2017

Matematyka dyskretna

Niektóre własności 1-diagnozowalnych struktur typu PMC

Podstawowe własności grafów. Wykład 3. Własności grafów

Złożoność obliczeniowa klasycznych problemów grafowych

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.

Grafy. Graf ( graf ogólny) to para G( V, E), gdzie:

Spis treści Podstawowe definicje Wielomian charakterystyczny grafu Grafy silnie regularne

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

KURS MATEMATYKA DYSKRETNA

Wykłady z Matematyki Dyskretnej

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Spacery losowe generowanie realizacji procesu losowego

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Harmonogramowanie przedsięwzięć

9. METODY SIECIOWE (ALGORYTMICZNE) ANALIZY OBWODÓW LINIOWYCH

Wprowadzenie do teorii grafów. Dr inż. Krzysztof Lisiecki

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

AiSD zadanie trzecie

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Technologie i systemy oparte na logice rozmytej

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Ogólne wiadomości o grafach

Algorytmy z powracaniem

Programowanie obiektowe

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Matematyka dyskretna - 5.Grafy.

Ilustracja S1 S2. S3 ściana zewnętrzna

Wykład 7. Algorytmy grafowe

Algorytmiczna teoria grafów

Zadania z ćwiczeń #18 (pon. 7 maja) Matematyka Dyskretna

Wykład z Technologii Informacyjnych. Piotr Mika

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

ELEMENTY TEORII WĘZŁÓW

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

10. Kolorowanie wierzchołków grafu

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Teoria grafów dla małolatów

Elementy teorii grafów Elementy teorii grafów

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków

Egzaminy i inne zadania. Semestr II.

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Programowanie obiektowe

Algorytm Chaitin a. Problem kolorowania grafu. Krzysztof Lewandowski Mirosław Jedynak

Sprawozdanie do zadania numer 2

Kolorowanie wierzchołków

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH

WSTĘP DO INFORMATYKI. Grafy i struktury grafowe

Tworzenie gier na urządzenia mobilne

Wykład 10 Grafy, algorytmy grafowe

Transkrypt:

TEORIA GRAFÓW I SIECI Temat nr 1: Definicja grafu. Rodzaje i części grafów dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100 Zakład Badań Operacyjnych i Wspomagania Decyzji Instytut Systemów Informatycznych Wydział Cybernetyki, Wojskowa Akademia Techniczna

Grafy Podstawą budowania modelu formalnego danego obiektu zainteresowań powinien być zawsze określony cel modelowania, tzn. cel tworzenia modelu matematycznego tego obiektu. Zależnie od celu modelowania danego obiektu, model może przyjąć różne formy. Najczęściej przy modelowaniu obiektów istnieje potrzeba i konieczność z punktu widzenia celu modelowania wyróżnienia w obiekcie pewnego zbioru elementów X (np. operacji wykonywanych w trakcie procesu produkcyjnego, stanowisk obróbki, itp.). Z chwilą wyróżnienia tych elementów modelowany obiekt proponuje się traktować jako system, a uzyskany w następstwie model nazywać będziemy modelem systemu.

Grafy, c.d. STRUKTURA S SYSTEMU: S = { X, {R m } } gdzie R m m-ta relacja wiążąca elementy zbioru X; Modelem systemowym obiektu nazywa się bądź samą strukturę, bądź strukturę opisaną ilościowo; Jeżeli przy modelowaniu obiektu wystarczające jest uwzględnienie tylko relacji dwuczłonowych, to model systemowy może być formalnie zapisany bądź grafem (struktura S), bądź siecią (graf opisany ilościowo); w przeciwnym przypadku wykorzystuje się hipergrafy i/lub hipersieci.

Definicja grafu G G = W, U, P gałęzie wierzchołki gdzie: W, U zbiory P W U W Własności relacji P : 1. x, u, y u U x, y W P 2. x, u, y P v, u, z P uu x, y, v, zw x v y z x z y v a a

Rodzaje gałęzi grafu Rodzaje gałęzi grafu U ~ U o U krawędzie: x, u, y P y, u, x P x y łuki: x, u, y P y, u, x P pętle: x, u, y P x = y U ~ U U o U

Przykład grafu W = 1, 2, 3, 4, 5, 6 ~ U = a, b, c, d, e, f, g, h, i, j, k = U U U ~ ={ d, e, f } U ={ a, b, c, g, h, j} o U ={ i, k } o U P = 3, a, 1,1, b, 3,1, c, 2,1, d, 2,2, d, 1, 2, e, 4,4, e, 2, 2, f, 4,4, f, 2, -wierzchołki -krawędzie - łuki - pętle 3, g, 4,3, h, 4,4, i, 4, 5, j, 2,6, k, 6 c 1 d 2 j 5 Grafy skończone: W U a b f e g 3 4 h i 6 k

Modelowanie obiektów rzeczywistych z wykorzystaniem grafów Za pomocą grafu możemy opisywać (modelować) wszelkiego rodzaju obiekty rzeczywiste (obiekty fizyczne, zjawiska, procesy itp.), które posiadają pewne cechy (wierzchołki grafu) i pewne relacje między cechami (gałęzie grafu); Typowe reprezentacje obiektów rzeczywistych za pomocą grafów: struktura sieci dróg (wierzchołki - miasta lub skrzyżowania, łuki odcinki dróg); struktura sieci społecznej (wierzchołki osoby, krawędzie znajomość między osobami); struktura dowolnego systemu (wierzchołki elementy systemu, łuki powiązania między elementami systemu); mapa polityczna świata (wierzchołki państwa, łuki/krawędzie sąsiedztwo między państwami); struktura przedsięwzięcia (wierzchołki zdarzenia, łuki - czynności); problem przydziału, np. pracowników do zadań (wierzchołki pracownicy i zadania do wykonania, łuki zdolność pracownika do wykonania zadania); drzewo genealogiczne (wierzchołki osoby, łuki relacja typu rodzicdziecko ).

Macierz incydencji: a x, u 0 x x x x Macierzowe reprezentacje grafu u u u u A G a xu W U, w przeciwnym przypadku Uwaga! Macierz incydencji jest jedyną reprezentacją macierzową grafu, za pomocą której możemy reprezentować graf dowolnej klasy (rodzaju). Incydencja: wierzchołek x jest incydentny z gałęzią u (i na odwrót) jeśli: x u y P y u y W,,,, x P

Binarna macierz incydencji: Macierzowe reprezentacje grafu A G A( G) : 1 b A b G np.: a a a 1 2, e 2, e 2, e 1 3 4 a a a 0 2, e 2, e 2, e 2 5 6

Binarna macierz incydencji: Macierzowe reprezentacje grafu A b ( G ) a b c d e f g h i j k 1 1 1 1 1 0 0 0 0 0 0 0 2 0 0 1 1 1 1 0 0 0 1 0 3 1 1 0 0 0 0 1 1 0 0 0 4 0 0 0 0 1 1 1 1 1 0 0 5 0 0 0 0 0 0 0 0 0 1 0 6 0 0 0 0 0 0 0 0 0 0 1

Macierzowe reprezentacje grafu Macierz przyległości wierzchołków: R G r xy, WW rxy, u U : x, u, y P y, u, x P R( G) 0 2 2 0 0 0 2 0 0 2 1 0 2 0 0 2 0 0 0 2 2 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Wierzchołek x jest przyległy do wierzchołka y (i na odwrót) jeśli: x u y P y u x P u U,,,,

Macierzowe reprezentacje grafu Binarna macierz przyległości wierzchołków: R r b G r b, x y 1 r 0 b x, y x, y WW Macierz przyległości gałęzi: B R T G A G G b A b 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 ( G ) 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 b

Macierz przejść: P Macierzowe reprezentacje grafu G p xy, WW Binarna macierz przejść: pxy, u U : x, u, y P P p b 0 2 1 0 0 0 1 0 0 2 0 0 1 0 0 2 0 0 P( G) 0 2 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 b G p b x, y x, y 1 p x, y W W 0

Macierzowe reprezentacje grafu: porównanie A b a b c d e f g h i j k 1 1 1 1 1 0 0 0 0 0 0 0 2 0 0 1 1 1 1 0 0 0 1 0 3 1 1 0 0 0 0 1 1 0 0 0 ( G ) 4 0 0 0 0 1 1 1 1 1 0 0 5 0 0 0 0 0 0 0 0 0 1 0 6 0 0 0 0 0 0 0 0 0 0 1 0 2 2 0 0 0 0 2 1 0 0 0 2 0 0 2 1 0 1 0 0 2 0 0 2 0 0 2 0 0 1 0 0 2 0 0 R( G) P( G) 0 2 2 1 0 0 0 2 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 R b 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 ( G ) 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 ( G Pb ) 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1

Graf jako struktura danych w informatyce

Reprezentacje grafu w pamięci komputera: graf nieskierowany Pytanie: która z macierzy wcześniej przedstawionych odpowiada macierzy sąsiedztwa grafu nieskierowanego?

Reprezentacje grafu w pamięci komputera: graf skierowany Pytanie: która z macierzy wcześniej przedstawionych odpowiada macierzy sąsiedztwa grafu skierowanego?

Stopień wierzchołka x: s(x) = s + (x) + s - (x) + s ~ (x) + s (x) gdzie: Charakterystyki grafu s + (x) liczba łuków wychodzących z x (stop. zewn. x); s - (x) liczba łuków wchodzących do x (stop. wewn. x); s ~ (x) liczba krawędzi incydentnych z x; sº(x) liczba pętli incydentnych z x; Rozwidlenie wierzchołka x: r(x) = s(x) + s(x) Dla każdego grafu zachodzi: xw r x Stopień grafu: 2 U max s x S G xw s(1) = r(1) = 2+1+1+0 = 4 s(2) = r(2) = 0+2+3+0 = 5 s(4) = 0+2+2+1 = 5 r(4) = 6

Krotność połączeń wierzchołków x, y: gdzie: k Charakterystyki grafu x, y max x, y, x, y, x, y x, y u U : x, u, y P x, y u U : x, u, y P x, y u U : x, u, y P Krotność grafu: V x, y x, y x, y max x, y W W max xy, W W max xy, W W K G maxv, ~,

Rodzaje grafów Graf G = W, U, P jest rodzaju (lub należy do klasy): Graf niezorientowany (nieskierowany): Graf zorientowany (skierowany, digraf): Graf bez pętli: V,, V V V,, N 0 o V,,0,U V,0, ; U 0,, ;U Graf (2) jest równocześnie grafem bez pętli (1) Graf nieskierowany (2) Graf skierowany

Rodzaje grafów Graf zdegenerowany: Graf pusty: Multigraf: Unigraf: G 0 0,0,0, U, K K G 1 KG 1 0,0, ; U, U (1) Graf zdegenerowany (2) Graf pusty (3) Multigraf (K(G) = 2 > 1) Grafy (1) i (2) z poprzedniego slajdu są unigrafami

Rodzaje grafów Graf pełny w klasie V,, przy ustalonym W: G W, U, P taki, że p p p x,yw x y x, y V x, y x, x xw Dopełnienie grafu (w danej klasie): d G W, U p \ U Pd G, Pewien graf (z lewej) i jego dopełnienie (z prawej) w klasie 1, 0, 0 Trzy (5-, 4- i 3- wierzchołkowe) grafy pełne w klasie: 1,0,0 (tzw. kliki)

Graf zwykły: o tzn. 1,0,0 U U, K G 1 Inna definicja: G W, U, U x, y W Rodzaje grafów = unigraf niezorientowany, bez pętli, Graf Berge a: 0,1,1 ~ = digraf i unigraf, tzn. U, KG 1 Inne definicje: G W, U 1) 2) W U W W G W, : W 2, y x x, y U x - zbiór bezpośr. następników wierzchołka xw, 1 x - zbiór bezpośr. poprzedników wierzchołka xw. 3) G W, 1 1 W 1 : 2,, W y x y x U

Grafy zwykłe: Rodzaje grafów Grafy Berge a:

Graf dwudzielny: 1 2 1 2 Rodzaje grafów G W W, U, P przy czym W W oraz x y x W y W x oraz y nie są przylege, i 1,2 i i Dlaczego ten graf nie jest grafem Königa? Graf Königa: zwykły i dwudzielny

Szkielet grafu G taki graf zwykły Rodzaje grafów G W, s U s x yu x y oraz i są przyległ, że:, s x y e w G Graf (z lewej) oraz jego szkielet (z prawej) Graf rzadki: graf, w którym liczba gałęzi jest dużo mniejsza od kwadratu liczby wierzchołków. Graf gęsty: graf, w którym liczba gałęzi jest bliska kwadratowi liczby wierzchołków.

Rodzaje grafów Dwa grafy G1 W1, U1 i G2 W2, U2 nazywamy izomorficznymi, gdy istnieje wzajemnie jednoznaczne odwzorowanie (bijekcja) zbiorów ich wierzchołków takie, że liczba krawędzi łączących dane dwa wierzchołki pierwszego grafu jest równa liczbie krawędzi łączących odpowiadające im wierzchołki grafu drugiego. Te dwa grafy są izomorficzne. Dlaczego? A=7, B=4, C=3, D=6, E=5, F=2, G=1

Rodzaje grafów Graf planarny: graf, który możemy narysować na płaszczyźnie w taki sposób, aby jego gałęzie nie przecinały się. Uwaga: fakt, że rysunek grafu zawiera przecinające się gałęzie nie oznacza, że graf nie jest planarny!

Rodzaje grafów Przykład postępu, jaki dokonał się w dziedzinie projektowania algorytmów badających planarność grafu: Czas obliczeń dla Rozmiar analizowanego Algorytm c 10 ms grafu w przypadku n 100 udostępniania komputera na okres Symbol Autor [rok] Złożoność minuty godziny A 1 A 2 A 3 A 4 A 5 Kuratowski [1930] Goldstein [1963] Lempel et al. [1967] Hopcroft- Tarjan [1971] Hopcroft- Tarjan [1974] 6 cn 325 lat 4 8 3 cn 2.8 godzin 18 71 2 cn 100 sekund 77 6 000 cnlog 2 n 7 sekund 643 24 673 4 cn 1 sekunda 6 000 36 10

Część grafu 1. 2. 3. G' - graf W' W U' U x, u, y W ' U ' W ' G W, U, P : G ' W ', U ', P ', że x, u, y P ' x, u, y P Części grafów

Części grafów Podgraf grafu G: taki graf G' W ', U ', P', że 1. G - część grafu G 2. x, u, y P u U ' x, yw ' uu UWAGA: podgraf jest jednoznacznie określony przez W

Graf częściowy grafu G: taki graf 1. G - część grafu G 2. W' W Części grafów G' W ', U ', P', że UWAGA: graf częściowy jest jednoznacznie określony przez U

Części grafów Podgraf częściowy grafu G graf częściowy podgrafu grafu G; Przykład różnych części grafu: Część grafu G (jedna z możliwych) 1 2 1 2 G 4 3 5 G1 3 5 1 G2 2 1 2 3 5 Podgraf grafu G (jeden z możliwych) G3 4 3 5 Graf częściowy grafu G (jeden z mozliwych) 1 G4 2 3 5 Podgraf częściowy grafu G (graf częściowy podgrafu G2 grafu G)

Zakład Badań Operacyjnych i Wspomagania Decyzji Instytut Systemów Informatycznych Wydział Cybernetyki, Wojskowa Akademia Techniczna DZIĘKUJĘ ZA UWAGĘ dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl