Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
|
|
- Aleksandra Orzechowska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Wykład 6. Drzewa cz. II 1 / 65
2 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem grafu G (T G) oraz zawiera wszystkie jego wierzchołki, czyli V G = V T. Jeżeli graf G nie jest grafem spójnym, to zbiór drzew spinających każdej składowej tego grafu, nazywamy lasem rozpinającym grafu G. x 5 e 4 x 4 x 5 x 4 x 5 x 4 e 5 e 11 e 10 e 3 e 11 e 10 e 11 e 3 e 12 e 9 x x 1 6 x 3 e 12 e 9 x x 1 6 x 3 e 12 x x 1 6 x 3 e 6 e 7 e 8 e 2 e 7 e 8 e 7 e 2 x 1 x 2 e 1 x 1 x 2 x 1 x 2 e 1 a) graf G b) 2 / 65
3 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem grafu G (T G) oraz zawiera wszystkie jego wierzchołki, czyli V G = V T. Jeżeli graf G nie jest grafem spójnym, to zbiór drzew spinających każdej składowej tego grafu, nazywamy lasem rozpinającym grafu G. x 5 e 4 x 4 x 5 x 4 x 5 x 4 e 5 e 11 e 10 e 3 e 11 e 10 e 11 e 3 e 12 e 9 x x 1 6 x 3 e 12 e 9 x x 1 6 x 3 e 12 x x 1 6 x 3 e 6 e 7 e 8 e 2 e 7 e 8 e 7 e 2 x 1 x 2 e 1 x 1 x 2 x 1 x 2 e 1 a) graf G b) 3 / 65
4 Drzewo spinające Drzewa spinające Zliczanie drzew spinających x 5 e 4 x 4 x 5 x 4 x 5 x 4 e 5 e 11 e 10 e 3 e 11 e 10 e 11 e 3 e 12 e 9 x x 1 6 x 3 e 12 e 9 x x 1 6 x 3 e 12 x x 1 6 x 3 e 6 e 7 e 8 e 2 e 7 e 8 e 7 e 2 x 1 x 2 e 1 x 1 x 2 x 1 x 2 e 1 a) graf G b) Graf G ma 320 drzew spinających. Twierdzenie Każdy graf spójny ma drzewo spinające. 4 / 65
5 Drzewo spinające Drzewa spinające Zliczanie drzew spinających x 5 e 4 x 4 x 5 x 4 x 5 x 4 e 5 e 11 e 10 e 3 e 11 e 10 e 11 e 3 e 12 e 9 x x 1 6 x 3 e 12 e 9 x x 1 6 x 3 e 12 x x 1 6 x 3 e 6 e 7 e 8 e 2 e 7 e 8 e 7 e 2 x 1 x 2 e 1 x 1 x 2 x 1 x 2 e 1 a) graf G b) Graf G ma 320 drzew spinających. Twierdzenie Każdy graf spójny ma drzewo spinające. 5 / 65
6 Drzewo spinające Drzewa spinające Zliczanie drzew spinających x 5 e 4 x 4 x 5 x 4 x 5 x 4 e 5 e 11 e 10 e 3 e 11 e 10 e 11 e 3 e 12 e 9 x x 1 6 x 3 e 12 e 9 x x 1 6 x 3 e 12 x x 1 6 x 3 e 6 e 7 e 8 e 2 e 7 e 8 e 7 e 2 x 1 x 2 e 1 x 1 x 2 x 1 x 2 e 1 a) graf G b) Graf G ma 320 drzew spinających. Twierdzenie Każdy graf spójny ma drzewo spinające. 6 / 65
7 Algorytm generowania drzewa spinającego. Zliczanie drzew spinających 1 T G 2 wybierz cykl w grafie T 3 usuwamy z cyklu dowolną krawędź e 4 T T {e} 5 jeżeli w T są inne cykle, to ponownie wybierz krok 1. 6 jeżeli nie ma cykli w T, to T jest drzewem spinającym graf G Własność Każde drzewo spinające T lub las drzew spinających otrzymujemy z grafu G przez usunięcie pewnej liczby krawędzi grafu G i pozostawienie wszystkich jego wierzchołków. 7 / 65
8 Rząd cykliczności. Drzewa spinające Zliczanie drzew spinających Rzędem cykliczności lub liczbą cyklomatyczną grafu G nazywamy liczbę λ(g) := m n + k. gdzie m = E liczba krawędzi w grafie G, n = V liczba wierzchołków w grafie G, k liczba składowych w grafie G. Własność Łączna liczba krawędzi usuniętych z grafu G w efekcie działania poprzedniego algorytmu wynosi λ(g). 8 / 65
9 Rząd cykliczności. Drzewa spinające Zliczanie drzew spinających Rzędem cykliczności lub liczbą cyklomatyczną grafu G nazywamy liczbę λ(g) := m n + k. gdzie m = E liczba krawędzi w grafie G, n = V liczba wierzchołków w grafie G, k liczba składowych w grafie G. Własność Łączna liczba krawędzi usuniętych z grafu G w efekcie działania poprzedniego algorytmu wynosi λ(g). 9 / 65
10 Liczba drzew spinających Drzewa spinające Zliczanie drzew spinających Twierdzenie Graf K n ma n n 2 drzew spinających. Twierdzenie Graf K 2,s ma s 2 s 1 drzew spinających. 10 / 65
11 Liczba drzew spinających Drzewa spinające Zliczanie drzew spinających Twierdzenie Graf K n ma n n 2 drzew spinających. Twierdzenie Graf K 2,s ma s 2 s 1 drzew spinających. 11 / 65
12 Twierdzenie o liczbie drzew spinających grafu Zliczanie drzew spinających 4 Twierdzenie Niech G będzie spójnym grafem prostym o n wierzchołkach i niech M = [m ij] będzie macierzą wymiaru n n, taką, że m ii = deg(v i), m ij = 1, gdy wierzchołki v i i v j są sąsiednie, oraz m ij = 0 w przeciwnym razie. Wtedy liczba drzew spinających graf G jest równa dopełnieniu algebraicznemu dowolnego wyrazu macierzy M. 1 M = Mamy 8 drzew spinających. 3 2 Dopełnienie algebraiczne wyrazu m 44 wynosi [ ] ( 1) 4+4 det = 12 (2 + 2) = / 65
13 Twierdzenie o liczbie drzew spinających grafu Zliczanie drzew spinających 4 Twierdzenie Niech G będzie spójnym grafem prostym o n wierzchołkach i niech M = [m ij] będzie macierzą wymiaru n n, taką, że m ii = deg(v i), m ij = 1, gdy wierzchołki v i i v j są sąsiednie, oraz m ij = 0 w przeciwnym razie. Wtedy liczba drzew spinających graf G jest równa dopełnieniu algebraicznemu dowolnego wyrazu macierzy M. 1 M = Mamy 8 drzew spinających. 3 2 Dopełnienie algebraiczne wyrazu m 44 wynosi [ ] ( 1) 4+4 det = 12 (2 + 2) = / 65
14 Zliczanie drzew spinających / 65
15 Metody generowania MST Własności MST Euklidesowe MST Minimalne drzewo spinające - Minimal Spanning Tree Niech G = (V, E, w) i niech T = (V, E T ) będzie drzewem spinającym graf G. Wagą drzewa T nazywamy liczbę w(t ) := w(e) e E T Drzewo spinające T nazywamy minimalnym drzewem spinającym MST grafu G, jeśli T ma najmniejszą wagę spośród wszystkich drzew spinających graf G: w(t ) min / 65
16 Metody generowania MST Własności MST Euklidesowe MST Minimalne drzewo spinające - Minimal Spanning Tree Niech G = (V, E, w) i niech T = (V, E T ) będzie drzewem spinającym graf G. Wagą drzewa T nazywamy liczbę w(t ) := w(e) e E T Drzewo spinające T nazywamy minimalnym drzewem spinającym MST grafu G, jeśli T ma najmniejszą wagę spośród wszystkich drzew spinających graf G: w(t ) min / 65
17 Metody generowania MST Własności MST Euklidesowe MST Minimalne drzewo spinające - Minimal Spanning Tree Niech G = (V, E, w) i niech T = (V, E T ) będzie drzewem spinającym graf G. Wagą drzewa T nazywamy liczbę w(t ) := w(e) e E T Drzewo spinające T nazywamy minimalnym drzewem spinającym MST grafu G, jeśli T ma najmniejszą wagę spośród wszystkich drzew spinających graf G: w(t ) min / 65
18 Metody generowania MST Własności MST Euklidesowe MST Przekrojem grafu G = (V, E) nazywamy parę zbiorów S = (X, V \ X) Niech S = (X, V \ X) będzie pewnym przekrojem grafu G = (V, E), mówimy, że krawędź e = {u, v} krzyżuje się z przekrojem S, gdy u X oraz v V \ X. Zbiór wszystkich krawędzi grafu G krzyżujących się z przekrojem S oznaczamy E(S). Niech A będzie podzbiorem krawędzi pewnego grafu G = (V, E), S = (X, V \ X) pewnym przekrojem. Mówimy, że przekrój S uwzględnia zbiór A jeśli żadna krawędź z A nie krzyżuje się z S tzn. A E(S) =. Krawędź e krzyżującą się z przekrojem S nazywamy lekką, jeśli jej waga jest najmniejsza spośród wszystkich krawędzi krzyżujących się z S, tzn.: e nazywamy lekką w(e) w(e ) dla e E(S). 18 / 65
19 Metody generowania MST Własności MST Euklidesowe MST Przekrojem grafu G = (V, E) nazywamy parę zbiorów S = (X, V \ X) Niech S = (X, V \ X) będzie pewnym przekrojem grafu G = (V, E), mówimy, że krawędź e = {u, v} krzyżuje się z przekrojem S, gdy u X oraz v V \ X. Zbiór wszystkich krawędzi grafu G krzyżujących się z przekrojem S oznaczamy E(S). Niech A będzie podzbiorem krawędzi pewnego grafu G = (V, E), S = (X, V \ X) pewnym przekrojem. Mówimy, że przekrój S uwzględnia zbiór A jeśli żadna krawędź z A nie krzyżuje się z S tzn. A E(S) =. Krawędź e krzyżującą się z przekrojem S nazywamy lekką, jeśli jej waga jest najmniejsza spośród wszystkich krawędzi krzyżujących się z S, tzn.: e nazywamy lekką w(e) w(e ) dla e E(S). 19 / 65
20 Metody generowania MST Własności MST Euklidesowe MST Przekrojem grafu G = (V, E) nazywamy parę zbiorów S = (X, V \ X) Niech S = (X, V \ X) będzie pewnym przekrojem grafu G = (V, E), mówimy, że krawędź e = {u, v} krzyżuje się z przekrojem S, gdy u X oraz v V \ X. Zbiór wszystkich krawędzi grafu G krzyżujących się z przekrojem S oznaczamy E(S). Niech A będzie podzbiorem krawędzi pewnego grafu G = (V, E), S = (X, V \ X) pewnym przekrojem. Mówimy, że przekrój S uwzględnia zbiór A jeśli żadna krawędź z A nie krzyżuje się z S tzn. A E(S) =. Krawędź e krzyżującą się z przekrojem S nazywamy lekką, jeśli jej waga jest najmniejsza spośród wszystkich krawędzi krzyżujących się z S, tzn.: e nazywamy lekką w(e) w(e ) dla e E(S). 20 / 65
21 Metody generowania MST Własności MST Euklidesowe MST Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Wówczas krawędzie ze zbioru E T \ A nazywamy bezpiecznymi dla zbioru A. Uwaga Jeśli T jest minimalnym drzewem spinającym, to krawędź e / A jest krawędzią bezpieczną dla zbioru A E T wtedy i tylko wtedy, gdy A {e} E T. Prezentowane w niniejszym wykładzie algorytmy wyznaczania MST są strategiami zachłannymi. Wyznaczane w efekcie ich działania minimalne drzewo rozpinające powstaje w wyniku konstrukcji zbioru A zawartego w zbiorze krawędzi wyznaczanego drzewa poprzez dodawanie do A krawędzi bezpiecznych. 21 / 65
22 Metody generowania MST Własności MST Euklidesowe MST Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Wówczas krawędzie ze zbioru E T \ A nazywamy bezpiecznymi dla zbioru A. Uwaga Jeśli T jest minimalnym drzewem spinającym, to krawędź e / A jest krawędzią bezpieczną dla zbioru A E T wtedy i tylko wtedy, gdy A {e} E T. Prezentowane w niniejszym wykładzie algorytmy wyznaczania MST są strategiami zachłannymi. Wyznaczane w efekcie ich działania minimalne drzewo rozpinające powstaje w wyniku konstrukcji zbioru A zawartego w zbiorze krawędzi wyznaczanego drzewa poprzez dodawanie do A krawędzi bezpiecznych. 22 / 65
23 Metody generowania MST Własności MST Euklidesowe MST Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Wówczas krawędzie ze zbioru E T \ A nazywamy bezpiecznymi dla zbioru A. Uwaga Jeśli T jest minimalnym drzewem spinającym, to krawędź e / A jest krawędzią bezpieczną dla zbioru A E T wtedy i tylko wtedy, gdy A {e} E T. Prezentowane w niniejszym wykładzie algorytmy wyznaczania MST są strategiami zachłannymi. Wyznaczane w efekcie ich działania minimalne drzewo rozpinające powstaje w wyniku konstrukcji zbioru A zawartego w zbiorze krawędzi wyznaczanego drzewa poprzez dodawanie do A krawędzi bezpiecznych. 23 / 65
24 Metody generowania MST Własności MST Euklidesowe MST Twierdzenie Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Niech S będzie dowolnym przekrojem uwzględniającym A oraz niech e będzie krawędzią lekką krzyżującą się z S. Wówczas e jest bezpieczna dla A. GENERIC-MST(G, w) 1 A 2 while A nie tworzy drzewa rozpinającego 3 do 4 znajdź krawędź e bezpieczną dla A 5 A A {e} 6 return A Strategia 1: Algorytm Kruskala. Strategia 2: Algorytm Prima. Strategia 3: Algorytm Boruvki. 24 / 65
25 Metody generowania MST Własności MST Euklidesowe MST Twierdzenie Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Niech S będzie dowolnym przekrojem uwzględniającym A oraz niech e będzie krawędzią lekką krzyżującą się z S. Wówczas e jest bezpieczna dla A. GENERIC-MST(G, w) 1 A 2 while A nie tworzy drzewa rozpinającego 3 do 4 znajdź krawędź e bezpieczną dla A 5 A A {e} 6 return A Strategia 1: Algorytm Kruskala. Strategia 2: Algorytm Prima. Strategia 3: Algorytm Boruvki. 25 / 65
26 Metody generowania MST Własności MST Euklidesowe MST Twierdzenie Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Niech S będzie dowolnym przekrojem uwzględniającym A oraz niech e będzie krawędzią lekką krzyżującą się z S. Wówczas e jest bezpieczna dla A. GENERIC-MST(G, w) 1 A 2 while A nie tworzy drzewa rozpinającego 3 do 4 znajdź krawędź e bezpieczną dla A 5 A A {e} 6 return A Strategia 1: Algorytm Kruskala. Strategia 2: Algorytm Prima. Strategia 3: Algorytm Boruvki. 26 / 65
27 Metody generowania MST Własności MST Euklidesowe MST Twierdzenie Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Niech S będzie dowolnym przekrojem uwzględniającym A oraz niech e będzie krawędzią lekką krzyżującą się z S. Wówczas e jest bezpieczna dla A. GENERIC-MST(G, w) 1 A 2 while A nie tworzy drzewa rozpinającego 3 do 4 znajdź krawędź e bezpieczną dla A 5 A A {e} 6 return A Strategia 1: Algorytm Kruskala. Strategia 2: Algorytm Prima. Strategia 3: Algorytm Boruvki. 27 / 65
28 Metody generowania MST Własności MST Euklidesowe MST Twierdzenie Niech A będzie podzbiorem krawędzi pewnego drzewa minimalnego T spinającego graf ważony G = (V, E, w). Niech S będzie dowolnym przekrojem uwzględniającym A oraz niech e będzie krawędzią lekką krzyżującą się z S. Wówczas e jest bezpieczna dla A. GENERIC-MST(G, w) 1 A 2 while A nie tworzy drzewa rozpinającego 3 do 4 znajdź krawędź e bezpieczną dla A 5 A A {e} 6 return A Strategia 1: Algorytm Kruskala. Strategia 2: Algorytm Prima. Strategia 3: Algorytm Boruvki. 28 / 65
29 Metody generowania MST Własności MST Euklidesowe MST 29 / 65
30 Metody generowania MST Własności MST Euklidesowe MST Zakładamy, że wagi w grafie G są różne. Boruvka MST(G) 1 A 2 for v V 3 do 4 utwórz drzewa jednowierzchołkowe i dodaj je do listy L 5 while A < n 1 6 do 7 for każde drzewo T L 8 do 9 znajdź krawędź e T o minimalnej wadze, która łączy T i G \ T 10 niech T drzewo z listy L połączone krawędzią e T z T 11 A A {e T } 12 for każde drzewo T L połącz T i T 30 / 65
31 Metody generowania MST Własności MST Euklidesowe MST Niech T będzie drzewem spinającym grafu G = (V, E). Jeżeli e jest krawędzią, która nie należy do drzewa T, to dołączenie jej do drzewa T powoduje powstanie dokładnie jednego cyklu C T (e). Taki cykl nazywamy cyklem fundamentalnym względem drzewa T. Wniosek W grafie spójnym G dla danego drzewa T mamy λ(g) = m n + 1 cykli fundamentalnych względem drzewa T. 31 / 65
32 Metody generowania MST Własności MST Euklidesowe MST Niech T będzie drzewem spinającym grafu G = (V, E). Jeżeli e jest krawędzią, która nie należy do drzewa T, to dołączenie jej do drzewa T powoduje powstanie dokładnie jednego cyklu C T (e). Taki cykl nazywamy cyklem fundamentalnym względem drzewa T. Wniosek W grafie spójnym G dla danego drzewa T mamy λ(g) = m n + 1 cykli fundamentalnych względem drzewa T. 32 / 65
33 Metody generowania MST Własności MST Euklidesowe MST Twierdzenie Drzewo spinające T jest minimalne wtedy i tylko wtedy, gdy dla każdej krawędzi e E G \ E T w(e) w(f ) dla dowolnej krawędzi f C T (e) 33 / 65
34 Przekrój fundamentalny Drzewa spinające Metody generowania MST Własności MST Euklidesowe MST Własność Niech T będzie drzewem spinającym grafu G = (V, E). Dla każdej krawędzi e E T istnieje dokładnie jeden przykrój S T (e) w grafie G, taki że e jest jedyną krawędzią drzewa T krzyżującą się z tym przekrojem, czyli jedyną krawędzią drzewa T wspólną z E(S T (e)). Przekrój opisany w poprzedniej własności nazywamy przekrojem fundamentalnym względem drzewa T. Twierdzenie Drzewo spinające T jest minimalne wtedy i tylko wtedy, gdy dla każdej krawędzi e E T w(e) w(f ) dla dowolnej krawędzi f E(S T (e)) 34 / 65
35 Przekrój fundamentalny Drzewa spinające Metody generowania MST Własności MST Euklidesowe MST Własność Niech T będzie drzewem spinającym grafu G = (V, E). Dla każdej krawędzi e E T istnieje dokładnie jeden przykrój S T (e) w grafie G, taki że e jest jedyną krawędzią drzewa T krzyżującą się z tym przekrojem, czyli jedyną krawędzią drzewa T wspólną z E(S T (e)). Przekrój opisany w poprzedniej własności nazywamy przekrojem fundamentalnym względem drzewa T. Twierdzenie Drzewo spinające T jest minimalne wtedy i tylko wtedy, gdy dla każdej krawędzi e E T w(e) w(f ) dla dowolnej krawędzi f E(S T (e)) 35 / 65
36 Metody generowania MST Własności MST Euklidesowe MST Minimalne drzewo spinające (Euklidesowe) - Euclidean Minimum Spanning Tree EMST Minimalnym euklidesowym drzewem rozpinającym zbioru punktów P na płaszczyźnie nazywamy drzewo o minimalnej sumie wag krawędzi, gdzie waga krawędzi wyliczana jest na podstawie odległości pomiędzy dwoma punktami płaszczyzny. P 36 / 65
37 Algorytm dokładny Drzewa spinające Metody generowania MST Własności MST Euklidesowe MST 1 skonstruuj graf pełny na n punktach o n(n 1) 2 krawędziach 2 waga każdej krawędzi=odległości euklidesowej pomiędzy końcami 3 wykorzystaj algorytm Prima lub Kruskala do wygenerowania MST Wady takiego rozwiązania czas działania jest proporcjonalny do n 2 większość krawędzi grafu jest niewykorzystana do konstrukcji drzewa MST Dla n = 9 EMST zawiera 8 krawędzi, natomiast graf pełny zawiera 36 krawędzi. P 37 / 65
38 EMST Drzewa spinające Metody generowania MST Własności MST Euklidesowe MST Triangulacja podział płaszczyzny na trójkąty, w taki sposób, że część wspólna dowolnych dwu trójkątów jest wspólnym wierzchołkiem, wspólnym bokiem lub wspólnym trójkątem albo zbiorem pustym. Do tworzenia siatki trójkątów najczęściej wykorzystywana jest triangulacja Delona. Trójkąty tworzone są w ten sposób aby żaden z łączonych punktów nie należących do danego trójkąta niego nie był położony wewnątrz okręgu opisanego na tym trójkącie. Triangulacja Delona jest grafem planarnym o liczbie krawędzi proporcjonalnej do n. 1 wyznacz graf triangulacji punktów ze zbioru P 2 przypisz wagę każdej krawędzi odległość pomiędzy punktami końcowymi 3 wyznacz MST używając algorytmu Prima 38 / 65
39 Przepustowość ścieżki - bottleneck problem Maksymalnym drzewem spinającym nazywamy takie drzewo spinające, którego waga jest największa spośród wszystkich drzew spinających danego grafu G = (V, E, w). w(t ) max Drzewo spinające T jest maksymalne dla grafu G = (V, E, w) wtedy i tylko wtedy, gdy jest minimalne dla grafu G = (V, E, w) / 65
40 Przepustowość ścieżki - bottleneck problem Metody generowania maksymalnego drzewa spinającego zamiana funkcji wagowej na przeciwną. zamiana warunku minimalizującego na maksymalizujący w algorytmach Prima, Kruskala lub Boruvki / 65
41 Przepustowość ścieżki - bottleneck problem Metody generowania maksymalnego drzewa spinającego zamiana funkcji wagowej na przeciwną. zamiana warunku minimalizującego na maksymalizujący w algorytmach Prima, Kruskala lub Boruvki / 65
42 Przykład Drzewa spinające Przepustowość ścieżki - bottleneck problem Zdefiniujmy graf, którego wierzchołki V odpowiadają węzłom sieci komunikacyjnej, krawędzie E połączeniom pomiędzy tymi węzłami. Niech p ij określa prawdopodobieństwo, że połączenie pomiędzy węzłami i oraz j ulegnie awarii. Wówczas q ij = 1 p ij określa prawdopodobieństwo poprawnego działania. Wtedy maksymalne drzewo spinające sieci (V, E, q) określa największe prawdopodobieństwo bezawaryjnego działania tej sieci. 42 / 65
43 Przepustowość ścieżki - bottleneck problem Niech G = (V, E, w) będzie spójną siecią i niech e 1 e 2 e n W = v 0 v 1 v 2...v n 1 v n będzie dowolną ścieżką o różnych wierzchołkach. Wtedy c(w ) = min{w(e i); i = 1,..., n} nazywamy przepustowością ścieżki. ścieżka W = (t, u, y) s 7 t 8 c(w ) = min{w(t, u), w(u, y)} = u 6 x 2 y 43 / 65
44 Przepustowość ścieżki - bottleneck problem Twierdzenie Niech G = (V, E, w) będzie spójną siecią i niech T będzie maksymalnym drzewem spinającym dla sieci G. Wtedy dla dowolnych wierzchołków u i v, jednoznacznie wyznaczona droga w drzewie T, posiada największą przepustowość w grafie G. s 7 t u 6 x 2 y 44 / 65
45 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Załóżmy, że rozważamy problem minimalnego drzewa Euklidesowego, to znaczy mamy za zadanie połączyć n punktów na płaszczyźnie za pomocą drzewa. 45 / 65
46 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Załóżmy, że rozważamy problem minimalnego drzewa Euklidesowego, to znaczy mamy za zadanie połączyć n punktów na płaszczyźnie za pomocą drzewa. 46 / 65
47 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Metody postępowania: rozważyć graf pełny zawierający n wierzchołków z funkcją wagową odległości i znaleźć MST. znaleźć MST dla grafu triangulacji. rozważyć pewne, dodatkowe wierzchołki i zbudować MST w tak uzupełnionym grafie. Wierzchołki, o które uzupełniono graf nazywa się punktami (wierzchołkami) Steinera, zaś MST w powiększonym grafie drzewem Steinera 47 / 65
48 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Metody postępowania: rozważyć graf pełny zawierający n wierzchołków z funkcją wagową odległości i znaleźć MST. znaleźć MST dla grafu triangulacji. rozważyć pewne, dodatkowe wierzchołki i zbudować MST w tak uzupełnionym grafie. Wierzchołki, o które uzupełniono graf nazywa się punktami (wierzchołkami) Steinera, zaś MST w powiększonym grafie drzewem Steinera 48 / 65
49 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Metody postępowania: rozważyć graf pełny zawierający n wierzchołków z funkcją wagową odległości i znaleźć MST. znaleźć MST dla grafu triangulacji. rozważyć pewne, dodatkowe wierzchołki i zbudować MST w tak uzupełnionym grafie. Wierzchołki, o które uzupełniono graf nazywa się punktami (wierzchołkami) Steinera, zaś MST w powiększonym grafie drzewem Steinera 49 / 65
50 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Metody postępowania: rozważyć graf pełny zawierający n wierzchołków z funkcją wagową odległości i znaleźć MST. znaleźć MST dla grafu triangulacji. rozważyć pewne, dodatkowe wierzchołki i zbudować MST w tak uzupełnionym grafie. Wierzchołki, o które uzupełniono graf nazywa się punktami (wierzchołkami) Steinera, zaś MST w powiększonym grafie drzewem Steinera 50 / 65
51 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Metody postępowania: rozważyć graf pełny zawierający n wierzchołków z funkcją wagową odległości i znaleźć MST. znaleźć MST dla grafu triangulacji. rozważyć pewne, dodatkowe wierzchołki i zbudować MST w tak uzupełnionym grafie. Wierzchołki, o które uzupełniono graf nazywa się punktami (wierzchołkami) Steinera, zaś MST w powiększonym grafie drzewem Steinera 51 / 65
52 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Uwaga MST jest pewnym rozwiązaniem problemu optymalnego łączenia n punktów na płaszczyźnie. Zawsze istnieje jednak pewne minimalne drzewo Steinera, które łączy n punktów oraz pewne dodatkowo wybrane punkty Steinera. Przypuszcza się (jest to nadal problem otwarty), że iloraz wagi MST do wagi takiego drzewa Steinera (funkcją wagową jest funkcja odległości) zwany 2 ilorazem Steinera wynosi 3. Twierdzenie Problem wyznaczania Euklidesowego drzewa Steinera jest problemem NP-zupełnym. 52 / 65
53 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Uwaga MST jest pewnym rozwiązaniem problemu optymalnego łączenia n punktów na płaszczyźnie. Zawsze istnieje jednak pewne minimalne drzewo Steinera, które łączy n punktów oraz pewne dodatkowo wybrane punkty Steinera. Przypuszcza się (jest to nadal problem otwarty), że iloraz wagi MST do wagi takiego drzewa Steinera (funkcją wagową jest funkcja odległości) zwany 2 ilorazem Steinera wynosi 3. Twierdzenie Problem wyznaczania Euklidesowego drzewa Steinera jest problemem NP-zupełnym. 53 / 65
54 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Niech będzie dany ważony graf G = (V, E, w) z funkcją wagową w : E R + oraz niech N V będzie pewnym zbiorem wierzchołków, które nazywamy terminalami. a b 1 f 6 e c 8 d Drzewo T = (V T, E T ) będące podgrafem grafu G nazywamy drzewem Steinera dla grafu G oraz zbioru terminali N, jeżeli N V T. Wierzchołki zbioru V T \ N nazywamy punktami Steinera. 54 / 65
55 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Niech będzie dany ważony graf G = (V, E, w) z funkcją wagową w : E R + oraz niech N V będzie pewnym zbiorem wierzchołków, które nazywamy terminalami. a b 1 f 6 e c 8 d Drzewo T = (V T, E T ) będące podgrafem grafu G nazywamy drzewem Steinera dla grafu G oraz zbioru terminali N, jeżeli N V T. Wierzchołki zbioru V T \ N nazywamy punktami Steinera. 55 / 65
56 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Niech będzie dany ważony graf G = (V, E, w) z funkcją wagową w : E R + oraz niech N V będzie pewnym zbiorem wierzchołków, które nazywamy terminalami. a b 1 f 6 e c 8 d Drzewo T = (V T, E T ) będące podgrafem grafu G nazywamy drzewem Steinera dla grafu G oraz zbioru terminali N, jeżeli N V T. Wierzchołki zbioru V T \ N nazywamy punktami Steinera. 56 / 65
57 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Minimalnym drzewem Steinera nazywamy takie drzewo Steinera, dla którego (i,j) E T w ij min (w skrócie SMT) a b f 6 5 e c 8 d 8 Twierdzenie Problem SMT jest NP-zupełny. 57 / 65
58 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Minimalnym drzewem Steinera nazywamy takie drzewo Steinera, dla którego (i,j) E T w ij min (w skrócie SMT) a b f 6 5 e c 8 d 8 Twierdzenie Problem SMT jest NP-zupełny. 58 / 65
59 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Uwaga Mamy dwa specjalne przypadki drzewa Steinera: 1 jeżeli N = V (zbiór terminali pokrywa się ze zbiorem wierzchołków), wówczas drzewem Steinera jest MST (np. algorytm Kruskala lub Prima) 2 jeżeli N = 2 (zbiór terminali składa się z dwóch wierzchołków), wówczas rozwiązanie problemu sprowadza się do wyznaczenia najkrótszej drogi pomiędzy tymi wierzchołkami (np. algorytm Dijkstry) 59 / 65
60 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Uwaga Mamy dwa specjalne przypadki drzewa Steinera: 1 jeżeli N = V (zbiór terminali pokrywa się ze zbiorem wierzchołków), wówczas drzewem Steinera jest MST (np. algorytm Kruskala lub Prima) 2 jeżeli N = 2 (zbiór terminali składa się z dwóch wierzchołków), wówczas rozwiązanie problemu sprowadza się do wyznaczenia najkrótszej drogi pomiędzy tymi wierzchołkami (np. algorytm Dijkstry) 60 / 65
61 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Uwaga Mamy dwa specjalne przypadki drzewa Steinera: 1 jeżeli N = V (zbiór terminali pokrywa się ze zbiorem wierzchołków), wówczas drzewem Steinera jest MST (np. algorytm Kruskala lub Prima) 2 jeżeli N = 2 (zbiór terminali składa się z dwóch wierzchołków), wówczas rozwiązanie problemu sprowadza się do wyznaczenia najkrótszej drogi pomiędzy tymi wierzchołkami (np. algorytm Dijkstry) 61 / 65
62 Algorytm dokładny generowania SMT Euklidesowe drzewo Steinera Metryczne drzewo Steinera Uwaga Jeżeli N jest zbiorem terminali, natomiast T jest minimalnym drzewem Steinera grafu G, to T jest minimalnym drzewem spinającym podgrafu G indukowanego przez N oraz punkty Steinera drzewa T. Dane: graf G, zbiór terminali N Wynik: minimalne drzewo Steinera T o sumie wag równej w SMT(G, N) 1 w 0 2 for każdy podzbiór A V \ N 3 do 4 wyznacz minimalne drzewo spinające T 1 grafu indukowanego G[A N] 5 w 1 - suma wag krawędzi drzewa T 1 6 w min(w, w 1) 62 / 65
63 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Twierdzenie Niech G = (V, E, w) będzie grafem pełnym, z funkcją wagową w : E (0, ) spełniającą nierówność trójkąta. Niech N będzie zbiorem terminali. Wówczas istnieje SMT zawierające nie więcej niż N 2 punktów Steinera. 63 / 65
64 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Algorytm KMB generowania minimalnego drzewa Steinera Algorytm aproksymacyjny Kou, Markovsky i Bermann - Dane: graf G, zbiór terminali N Wynik: minimalne drzewo Steinera T KMB(G, N) b 3 1 a 1 f 5 6 e 1 utwórz graf pełny K N 2 w({x, y}) waga najkrótszej ścieżki łączącej x i y w G 3 znajdź MST grafu K N 4 zbuduj graf G 1, w którym każdą krawędź MST zastąp najkrótszą ścieżką z G 5 wyznacz MST dla G 1, oznacz je przez T 1 6 usuń liście z drzewa T 1, które nie są terminalami 4 c d 5 64 / 65
65 Euklidesowe drzewo Steinera Metryczne drzewo Steinera Dziękuję za uwagę!!! 65 / 65
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
Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny 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 Niech T graf o n wierzchołkach będący
Bardziej szczegółowoWykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym
Bardziej szczegółowoGraf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
Bardziej szczegółowoPodstawowe własności grafów. Wykład 3. Własności grafów
Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DRZEWA i LASY Drzewem nazywamy graf spójny nie zawierający cykli elementarnych. Lasem nazywamy graf nie zawierający cykli elementarnych. Przykłady drzew i lasów takie krawędzie są wykluczone drzewo las
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),
Bardziej szczegółowoMinimalne drzewa rozpinające
KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam
Bardziej szczegółowoTeoria grafów i sieci 1 / 188
Teoria grafów i sieci / Drzewa z wagami Drzewem z wagami nazywamy drzewo z korzeniem, w którym do ka»dego li±cia przyporz dkowana jest liczba nieujemna, nazywana wag tego li±cia. / Drzewa z wagami Drzewem
Bardziej szczegółowoZofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Bardziej szczegółowoAlgorytmika Problemów Trudnych
Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.
Bardziej szczegółowoSPÓ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.
SPÓJNOŚĆ 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 równoważna: Graf jest spójny, gdy każde dwa wierzchołki są połączone ścieżką
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
Bardziej szczegółowoa) 7 b) 19 c) 21 d) 34
Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoMODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem
MODELE SIECIOWE 1. Drzewo rozpinające (spanning tree) w grafie liczącym n wierzchołków to zbiór n-1 jego krawędzi takich, że dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą
Bardziej szczegółowoWykłady z Matematyki Dyskretnej
Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Grafy
Bardziej szczegółowoMATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY
ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych
Bardziej szczegółowoDigraf. 13 maja 2017
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,
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, B/14
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 1B/14 Drogi w grafach Marszruta (trasa) w grafie G z wierzchołka w do wierzchołka u to skończony ciąg krawędzi w postaci. W skrócie
Bardziej szczegółowoKolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie
Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy
Bardziej szczegółowoSuma dwóch grafów. Zespolenie dwóch grafów
Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoZłożoność obliczeniowa klasycznych problemów grafowych
Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.
Bardziej szczegółowoProgramowanie sieciowe. Tadeusz Trzaskalik
Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście
Bardziej szczegółowoOpracowanie prof. J. Domsta 1
Opracowanie prof. J. Domsta 1 Algorytm FLEURY'ego: Twierdzenie 6.5 G-graf eulerowski. Wtedy cykl Eulera otrzymujemy nastepująco: a) Start w dowolnym wierzchołku b) Krawędzie w dowolnej kolejności po przebyciu
Bardziej szczegółowoZnajdowanie skojarzeń na maszynie równoległej
11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia
Bardziej szczegółowoGrafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania
Grafy i Grafy i 5: Rozpinające Spis zagadnień Grafy i i lasy cykle fundamentalne i własności cykli i rozcięć przestrzenie cykli i rozcięć* : zastosowanie w sieciach elektrycznych minimalne * algorytm Kruskala*
Bardziej szczegółowoIlustracja S1 S2. S3 ściana zewnętrzna
Grafy płaskie G=(V,E) nazywamy grafem płaskim, gdy V jest skończonym podzbiorem punktów płaszczyzny euklidesowej, a E to zbiór krzywych Jordana (łamanych) o końcach w V i takich, że: 1) rożne krzywe mają
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowoOgólne wiadomości o grafach
Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami
Bardziej szczegółowoPrzykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.
Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf
Bardziej szczegółowoEGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający
Bardziej szczegółowoAlgorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów
Bardziej szczegółowoProgramowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
Bardziej szczegółowoE: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami
Bardziej szczegółowoAlgorytmiczna teoria grafów Przepływy w sieciach.
Algorytmiczna teoria grafów Sieć przepływowa Siecią przepływową S = (V, E, c) nazywamy graf zorientowany G = (V,E), w którym każdy łuk (u, v) E ma określoną przepustowość c(u, v) 0. Wyróżniamy dwa wierzchołki:
Bardziej szczegółowoAlgebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i
Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach
Bardziej szczegółowoPodejście zachłanne, a programowanie dynamiczne
Podejście zachłanne, a programowanie dynamiczne Algorytm zachłanny pobiera po kolei elementy danych, za każdym razem wybierając taki, który wydaje się najlepszy w zakresie spełniania pewnych kryteriów
Bardziej szczegółowoZad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których
Bardziej szczegółowoMATEMATYKA DYSKRETNA - KOLOKWIUM 2
1 MATEMATYKA DYSKRETNA - KOLOKWIUM 2 GRUPA A RACHUNKI+KRÓTKIE WYJAŚNIENIA! NA TEJ KARTCE! KAŻDA DODATKOWA KARTKA TO MINUS 1 PUNKT! Imię i nazwisko...... Nr indeksu... 1. (3p.) Znajdź drzewo o kodzie Prufera
Bardziej szczegółowoWybrane podstawowe rodzaje algorytmów
Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych
Bardziej szczegółowoKolorowanie wierzchołków grafu
Kolorowanie wierzchołków grafu Niech G będzie grafem prostym. Przez k-kolorowanie właściwe wierzchołków grafu G rozumiemy takie przyporządkowanie wierzchołkom grafu liczb naturalnych ze zbioru {1,...,
Bardziej szczegółowo7. Teoria drzew - spinanie i przeszukiwanie
7. Teoria drzew - spinanie i przeszukiwanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie
Bardziej szczegółowoAlgorytmy stochastyczne laboratorium 03
Algorytmy stochastyczne laboratorium 03 Jarosław Piersa 10 marca 2014 1 Projekty 1.1 Problem plecakowy (1p) Oznaczenia: dany zbiór przedmiotów x 1,.., x N, każdy przedmiot ma określoną wagę w(x i ) i wartość
Bardziej szczegółowoPorównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
Bardziej szczegółowoLista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
Bardziej szczegółowoE ' E G nazywamy krawędziowym zbiorem
Niech G będzie grafem spójnym. Wierzchołek x nazywamy rozcinającym, jeśli G\{x} jest niespójny. Niech G będzie grafem spójnym. V ' V G nazywamy zbiorem rozcinającym jeśli G\V' jest niespójny Niech G będzie
Bardziej szczegółowoTeoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa
Bardziej szczegółowoAlgorytm Dijkstry znajdowania najkrótszej ścieżki w grafie
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje
Bardziej szczegółowoAlgorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie
Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 5 i 6 B. Woźna-Szcześniak (UJD) Algorytmy
Bardziej szczegółowoSprawozdanie do zadania numer 2
Sprawozdanie do zadania numer 2 Michał Pawlik 29836 Temat: Badanie efektywności algorytmów grafowych w zależności od rozmiaru instancji oraz sposobu reprezentacji grafu w pamięci komputera 1 WSTĘP W ramach
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami
Bardziej szczegółowoDWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku
DWA ZDANIA O TEORII GRAFÓW Krawędź skierowana Grafy a routing Każdą sieć przedstawić składającego przedstawiają E, inaczej węzłami). komunikacyjną można w postaci grafu G się z węzłów V (które węzły sieci)
Bardziej szczegółowo(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x
2. Wykład 2: algebry Boole a, kraty i drzewa. 2.1. Algebra Boole a. 1 Ważnym dla nas przykładem algebr są algebry Boole a, czyli algebry B = (B,,,, 0, 1) typu (2, 2, 1, 0, 0) spełniające własności: (1)
Bardziej szczegółowoWykład 4. Droga i cykl Eulera i Hamiltona
Wykład 4. i Hamiltona Wykład 4. i Hamiltona 1 / 35 Grafy Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie grafu, to taką
Bardziej szczegółowoAlgorytmy Równoległe i Rozproszone Część V - Model PRAM II
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Bardziej szczegółowoTemat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.
Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne. 1. Definicja problemu Wejcie: Graf spójny niezorientowany G =
Bardziej szczegółowoSegmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda
Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowoKolorowanie wierzchołków
Kolorowanie wierzchołków Mając dany graf, pokolorować jego wierzchołki w taki sposób, aby każde dwa wierzchołki sąsiednie miały inny kolor. Każda krawędź łączy wierzchołki różnych kolorów. Takie pokolorowanie
Bardziej szczegółowoSKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.
SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Rozważamy graf G = (V, E) Dwie krawędzie e, e E nazywamy niezależnymi, jeśli nie są incydentne ze wspólnym wierzchołkiem. Skojarzeniem w grafie G nazywamy dowolny
Bardziej szczegółowoZadania z egzaminów z Algorytmiki
Zadania z egzaminów z Algorytmiki 1 Geometria obliczeniowa Zadanie 1 Zaprojektuj efektywny algorytm dla następującego problemu. Dany jest zbior n prostokątów na płaszczyźnie (o bokach niekoniecznie równoległych
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
Bardziej szczegółowoPlan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?
/9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
Bardziej szczegółowoSieć (graf skierowany)
Sieci Sieć (graf skierowany) Siecia (grafem skierowanym) G = (V, A) nazywamy zbiór wierzchołków V oraz zbiór łuków A V V. V = {A, B, C, D, E, F}, A = {(A, B), (A, D), (A, C), (B, C),..., } Ścieżki i cykle
Bardziej szczegółowoKURS MATEMATYKA DYSKRETNA
KURS MATEMATYKA DYSKRETNA LEKCJA 28 Grafy hamiltonowskie ZADANIE DOMOWE www.akademia.etrapez.pl Strona 1 Część 1: TEST Zaznacz poprawną odpowiedź (tylko jedna jest prawdziwa). Pytanie 1 Drogę nazywamy
Bardziej szczegółowoSchemat sprawdzianu. 25 maja 2010
Schemat sprawdzianu 25 maja 2010 5 definicji i twierdzeń z listy 12(po 10 punktów) np. 1. Proszę sformułować twierdzenie Brouwera o punkcie stałym. 2. Niech X będzie przestrzenią topologiczną. Proszę określić,
Bardziej szczegółowoWyznaczanie optymalnej trasy problem komiwojażera
Wyznaczanie optymalnej trasy problem komiwojażera Optymalizacja w podejmowaniu decyzji Opracowała: mgr inż. Natalia Malinowska Wrocław, dn. 28.03.2017 Wydział Elektroniki Politechnika Wrocławska Plan prezentacji
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr : Grafy Berge a dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 6-83-95-0, p.5/00 Zakład Badań Operacyjnych i
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr 3: Marszruty, łańcuchy, drogi w grafach 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
Bardziej szczegółowoGrafy. Graf ( graf ogólny) to para G( V, E), gdzie:
Graf ( graf ogólny) to para G( V, E), gdzie: V jest zbiorem wierzchołków, ( czasami zwanymi węzłami lub punktami grafu) E jest rodziną ( być może powtarzających się) krawędzi, czyli jedno- i dwu- elementowych
Bardziej szczegółowoEgzamin, AISDI, I termin, 18 czerwca 2015 r.
Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoLuty 2001 Algorytmy (4) 2000/2001
Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 53
Bardziej szczegółowoWprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka
Grafy planarne Przemysław Gordinowicz Instytut Matematyki, Politechnika Łódzka Grafy i ich zastosowania Wykład 12 Plan prezentacji 1 Wprowadzenie 2 Podstawy 3 Fundamentalne twierdzenie 4 Kolorowanie grafów
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
Bardziej szczegółowoAlgorytmiczna teoria grafów
Podstawowe pojęcia i klasy grafów Wykład 1 Grafy nieskierowane Definicja Graf nieskierowany (graf) G = (V,E) jest to uporządkowana para składająca się z niepustego skończonego zbioru wierzchołków V oraz
Bardziej szczegółowoKonspekt. 15 października Wykład III (16 października 2014 r.): optymalizacja kombinatoryczna na grafach (metody sieciowe)
Konspekt 15 października 2014 1 Wykład III (16 października 2014 r.): optymalizacja kombinatoryczna na grafach (metody sieciowe) 1.1 Przykładowe problemy optymalizacji kombinatorycznej na grafach 1. Optymalizacja
Bardziej szczegółowo6. Wstępne pojęcia teorii grafów
6. Wstępne pojęcia teorii grafów Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 6. Wstępne pojęcia teorii grafów zima 2016/2017
Bardziej szczegółowoZagadnienie najkrótszej drogi w sieci
L L Zagadnienie najkrótszej drogi w sieci 1 Rozważmy sieć, gdzie graf jest grafem skierowanym (digrafem) a jest funkcją określoną na zbiorze łuków. Wartość tej funkcji na łuku!"$#%'&, którą oznaczać będziemy
Bardziej szczegółowojest ciągiem elementów z przestrzeni B(R, R)
Wykład 2 1 Ciągi Definicja 1.1 (ciąg) Ciągiem w zbiorze X nazywamy odwzorowanie x: N X. Dla uproszczenia piszemy x n zamiast x(n). Przykład 1. x n = n jest ciągiem elementów z przestrzeni R 2. f n (x)
Bardziej szczegółowoTemperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości.
Własności Odległości i normy w Będziemy się teraz zajmować funkcjami od zmiennych, tzn. określonymi na (iloczyn kartezja/nski egzemplarzy ). Punkt należący do będziemy oznaczać jako Przykł. Wysokość terenu
Bardziej szczegółowoKatalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć
Katalog wymagań programowych na poszczególne stopnie szkolne Matematyka. Poznać, zrozumieć Kształcenie w zakresie podstawowym. Klasa 3 Poniżej podajemy umiejętności, jakie powinien zdobyć uczeń z każdego
Bardziej szczegółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoDroga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona
Wykład 4. Droga i cykl Eulera i Hamiltona 1 / 92 Grafy Eulera Droga i cykl Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie
Bardziej szczegółowoAlgorytmy aproksymacyjne dla problemów stochastycznych
Algorytmy aproksymacyjne dla problemów stochastycznych Marcin Mucha Uniwersytet Warszawski Warszawa 29.04.2011 - p. 1/44 Plan - Wykład II Boosted sampling: drzewo Steinera, problemy addytywne: lokalizacja
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr 7: Przydziały w grafach i sieciach dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 26-83-95-04, p.225/00 Zakład
Bardziej szczegółowoMatematyka dyskretna - 5.Grafy.
Matematyka dyskretna - 5.Grafy. W tym rozdziale zajmiemy się grafami. Są to wykresy zawierające rozmaite informacje, przedstawiające połączenia pomiędzy różnymi swoimi elementami. Algorytmy na nich oparte
Bardziej szczegółowoAlgorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Bardziej szczegółowoRozdział 8 PROGRAMOWANIE SIECIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 8 PROGRAMOWANIE SIECIOWE 8.2. Ćwiczenia komputerowe Ćwiczenie 8.1 Wykorzystując
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowoLiga zadaniowa Seria I, 2014/2015, Piotr Nayar, Marta Strzelecka
Seria I, 04/05, Piotr Nayar, Marta Strzelecka Pytania dotyczące zadań prosimy kierować do Piotra Nayara na adres: nayar@mimuw.edu.pl. Rozwiązania można przesyłać Marcie Strzeleckiej na adres martast@mimuw.edu.pl,
Bardziej szczegółowoData Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu
Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu
Bardziej szczegółowo