semestr letni 2004/2005 jednoznaczność i precyzyjność wszystkich kroków Algorytm można wyrazić w różnych postaciach: kroki moga
|
|
- Julia Popławska
- 6 lat temu
- Przeglądów:
Transkrypt
1 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ I. semestr letni 2004/ Algorytmy. Każdy algorytm musi mieć pie ć ważnych cech [Knuth, The Art of Computer Programming, strona 4]: skończoność jednoznaczność i precyzyjność wszystkich kroków określone wejście określone wyjście efektywność Algorytm można wyrazić w różnych postaciach: kroki moga być opisane werbalnie, może on być w formie programu komputerowego napisanego szczegó lowo w je zyku zrozumia lym przez stosowana maszyne, lub też algorytm może przyja ć postać pośrednia mie dzy tymi dwoma przypadkami skrajnymi schemat blokowy Przeszukiwanie grafu w g la b i wszerz. Istnieja dwa naturalne sposoby przeszukiwania dzi grafu przy poruszaniu sie od wierzcho lka do wierzcho lka: I. Znajduja c sie w pewnym wierzcho lku v (badaja c ten wierzcho lek) przeszukujemy wszystkie dzie incydentne do v, a naste pnie badamy jeszcze niezbadane wierzcho lki przyleg le do v poruszamy sie do pewnego wierzcho lka przyleg lego w i przeszukujemy wszystkie dzie incydentne do w. Ten proces prowadzi sie dota d, aż zbada sie wszystkie wierzcho lki w grafie. Metode te nazywa sie przeszukiwaniem wszerz grafu (ang. breadth-first search). 0 Typeset by AMS-TEX
2 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ I. 1 II. Przeciwne podejście polega na tym, że zamiast przeszukiwać każda dź incydentna do wierzcho lka v, poruszamy sie do pewnego wierzcho lka przyleg lego w (wierzcho lka, w którym dotychczas jeszcze nie byliśmy), gdy tylko to jest możliwe, pozostawiaja c na razie wierzcho lek v z być może niezbadanymi dziami. Inaczej mówia c, poda żamy przez graf ścieżka przechodza c do nowego wierzcho lka, gdy tylko to jest możliwe. Taka metoda przeszukiwania grafu, zwana poszukiwaniem w gla b (w skrócie DFS - ang. depth-first search) lub metoda powrotu po tej samej ścieżce na grafie, okaza la sie bardzo użyteczna przy upraszczaniu wielu algorytmów teorii grafów, ze wzgle du na otrzymywane ponumerowanie wierzcho lków i skierowanie narzucone na dzie. Opis algorytmu DFS. Niech G be dzie danym grafem nieskierowanym wprowadzonym w postaci listy wierzcho lków sa siednich. Niech x be dzie określonym wierzcho lkiem, z którego należy rozpocza ć poszukiwanie, P ALM i F RON sa dwoma roz la cznymi podzbiorami, na które należy podzielić dzie grafu G. 1. v := x, i := 0, P ALM :=, F RON := 2. i := i + 1, NUM(v) := i. 3. Poszukujemy nieprzebytej dzi incydentnej do wierzcho lka v. (a) Jeżeli nie ma takiej dzi (tzn. po każdej dzi incydentnej do v już przeszliśmy), to przechodzimy do kroku 5, w przeciwnym razie: (b) Wybieramy pierwsza nieprzebyta dź incydentna do wierzcho lka v, powiedzmy (v, w) i przechodzimy ja. Ustalamy skierowanie dzi (v, w) od v do w. 4. Jesteśmy teraz w wierzcho lku w. (a) Jeżeli w jest wierzcho lkiem, w którym jeszcze nie byliśmy podczas tego szukania (tzn. N U M(w) jest nieokreślone), to dodajemy dź (v, w) do zbioru P ALM. Podstawiamy v := w i przechodzimy do kroku 2. (b) Jeżeli w jest wierzcho lkiem, w którym już wcześniej byliśmy (tzn. NUM(w) < NUM(v)), to dodajemy dź (v, w) do zbioru
3 2 SEMESTR LETNI 2004/2005 F RON. Przechodzimy do kroku 3. Jesteśmy wie c z powrotem w wierzcho lku v. 5. Sprawdzamy, czy istnieje jakaś przebyta dź (u, v) w zbiorze P ALM zorientowana w kierunku v. (a) Jeżeli jest taka dź, to wracamy sie do wierzcho lka u. (Zauważmy, że u jest wierzcho lkiem, z którego osia gnie to v po raz pierwszy). Podstawiamy v := u i przechodzimy do kroku 3. (b) Jeżeli nie ma takiej dzi, to algorytm zatrzymuje sie (jesteśmy z powrotem w korzeniu x po przejściu każdej dzi i odwiedzeniu każdego wierzcho lka po la czonego z x). Przyk lad. Nadać za pomoca DFS numeracje wierzcho lkom i skierowanie dziom grafu danego lista sa siadów: a: b, e b: a, c, d, e, f c: b, d d: b, c e: a, b, f, g f: b, e, g g: e, f 2.1. S laba spójność i sk ladowe s labej spójności. Niech v i oraz v j be da wierzcho lkami grafu G = (V, E). Jeżeli graf Ĝ = ( ˆV, Ê) jest otrzymany z grafu G przy pomocy operacji scalenia jego wierzcho lków v i oraz v j, to spe lnia on naste puja ce warunki: ˆV = V \{v i, v j } {z}, gdzie z / V, tzn. zbiór wierzcho lków ˆV nowego grafu otrzymujemy ze zbioru wierzcho lków V wyjściowego grafu usuwaja c najpierw scalane wierzcho lki v i oraz v j a naste p- nie dodaja c do niego nowy wierzcho lek z (powsta ly przez scalenie wierzcho lków v i, v j ). (v m, v l ) E wtedy i tylko wtedy, gdy (v m, v l ) Ê, gdzie m i, j i l i, j tzn. wszystkie dzie grafu G, które nie sa incydentne do wierzcho lków v i, v j sa również dziami nowego grafu Ĝ. Jeżeli (v m, v j ) E, gdzie m i, j, to (v m, z) Ê; Jeżeli (v m, v i ) E, gdzie m i, j, to (v m, z) Ê;
4 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ I. 3 tzn. dzie incydentne do wierzcho lka z (powsta lego przez scalenie wierzcho lków v i, v j ) w grafie Ĝ odpowiadaja dziom incydentnym do wierzcho lka v i lub do v j w grafie wyjściowym G (w zależności od potrzeb możemy tutaj rozpatrywać lub nie rozpatrywać dzie wielokrotne) Jeżeli rozpatrujemy pe tle, to (z, z) Ê wtedy i tylko wtedy, gdy (v i, v i ) E lub (v j, v j ) E, lub (v i, v j ) E; tzn., że pe tla incydentna z nowo powsta lym wierzcho lkiem z w grafie Ĝ powstaje wtedy i tylko wtedy, gdy w grafie G istnia la pe tla incydentna z wierzcho lkiem v i lub z wierzcho lkiem v j, lub istnia la dź (v i, v j ). Opis algorytmu. Dany jest graf G. Rozpoczynamy od pewnego wierzcho lka w grafie i scalamy wszystkie wierzcho lki przyleg le do niego. Naste pnie bierzemy scalony wierzcho lek i znów scalamy z nim wszystkie te wierzcho lki, które sa teraz do niego przyleg le. Proces scalania powtarzamy do momentu, gdy nie można już scalić wie cej wierzcho lków. To wskazuje, że pewna spójna sk ladowa zosta la scalona do pojedynczego wierzcho lka. Jeżeli poza tym wierzcho lkiem nie ma już innych wierzcho lków w grafie, to graf jest spójny. W przeciwnym przypadku, usuwamy wierzcho lek otrzymany w wyniku scalania (zapisujemy zbiór wierzcho lków, z których on powsta l jako kolejna sk ladowa spójności) i rozpoczynamy nasza procedure scalania od dowolnego wierzcho lka w otrzymanym grafie. W macierzy przyleg lości scalanie wierzcho lka j-tego z wierzcho lkiem i-tym dokonuje sie za pomoca operacji OR, tzn. dodania logicznego j-tego wiersza do i-tego wiersza oraz j-tej kolumny do i-tej kolumny. Przypomnijmy, że w dodawaniu logicznym = = = 1; = 0. Naste pnie j-ty wiersz i j-ta kolumna sa usuwane z macierzy. Zauważmy, że pe tla powstaja ca ze scalenia przyleg lych wierzcho lków pojawia sie jako jedynka na g lównej przeka tnej (możemy za każdym razem zerowac przeka tna ), ale dzie równoleg le sa automatycznie zaste powane przez dź pojedyncza ze wzgle du na dzia lanie operacji dodawania logicznego (OR).
5 4 SEMESTR LETNI 2004/2005 Przyk lad. Znaleźć sk ladowa s labej spójności zawieraja ca wierzcho lek v 8 danego macierza przyleg lości: A = grafu
6 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ II semestr letni 2004/ Silna spójność i sk ladowe silnej spójności. Be dziemy mówili, że wierzcho lek v j jest osia galny z wierzcho lka v i wtedy i tylko wtedy, gdy istnieje w grafie (v i ; v j ) ścieżka (skierowana) od wierzcho lka v i do wierzcho lka v j. Macierza osia galności grafu nazywamy macierz zerojedynkowa D(G) == [d i,j ] n n, której element d i,j jest równy jedynce, gdy wierzcho lek v j jest osia galny z wierzcho lka v i, a zeru w przypadku przeciwnym. Macierz osia galności można również wyznaczyć naste puja cym, prostym algorytmem, korzystaja cym z binarnej macierzy przejść P (G) wyznaczaja cym kolejne wiersze macierzy osia galności. Za lóżmy, że wierzcho lki grafu sa ponumerowane kolejnymi liczbami i = 1,..., n. Procedura wyznaczania i-tego wiersża macierzy D(G) jest naste puja ca: 1. Wierzcho lek v i otrzymuje ceche c = i. 2. Wybieramy dowolny ocechowany wierzcho lek v k i rozpatrujemy odpowiadaja cy mu k-ty wiersz w macierzy P (G). Wszystkim nieocechowanym wierzcho lkom v j, którym w tym wierszu odpowiadaja wartości p k,j = 1 nadajemy ceche c = i. Procedure punktu 2 kontynuujemy dota d, aż nie be dzie można ocechować żadnych nowych wierzcho lków. 3. W wierszu i-tym macierzy D(G) wstawiamy jedynki na pozycjach odpowiadaja cych wierzcho lkom ocechowanym cecha c = i. Twierdzenie 2.1. Każdy maksymalny podzbiór wierzcho lków, któremu odpowiadaja identyczne wiersze macierzy osia galności, tworzy skladowa silnej spójności (fragment). 5 Typeset by AMS-TEX
7 6 SEMESTR LETNI 2004/2005 Algorytm Leifmana. wyznaczanie fragmentów grafu skierowanego. 1. W grafie G poszukujemy wierzcho lków v, dla których d + (v) = 0 lub d (v) = 0. Jeżeli sa takie wierzcho lki, to zaliczamy je do S, jako jednowierzcho lkowe sk ladowe silnej spójności. Usuwamy je z grafu G, tworza c odpowiedni podgraf G o =< V o, L o > i dla tego podgrafu kontynuujemy czynności kroku 1. Jeżeli nie ma już takich wierzcho lków, to przechodzimy do kroku W podgrafie G o =< V o, L o >, uzyskanym w wyniku czynności kroku 1 lub 4, wybieramy dowolny wierzcho lek v o i rozpoczynamy proces cechowania wierzcho lków podwójnymi cechami (l(v), p(v)), który realizujemy w naste puja cy sposób : Na pocza tku wszystkim wierzcho lkom v V o nadajemy wartości cech (0, 0). Wszystkim naste pnikom v wierzcho lka v o nadajemy wartość cechy l(v) = 1. Nieocechowanym naste pnikom tych ocechowanych wierzcho lków też nadajemy wartość cechy l = 1 itd., aż dojdziemy do sytuacji, w której nie be dzie można powie kszyć zbioru wierzcho lków z cecha l = 1. W wyniku tego poste powania, ceche l = 1 maja wszystkie wierzcho lki osia galne z wierzcho lka v o. Podobnie, startuja c znów z wierzcho lka v o, lecz poruszaja c sie przeciwnie do zwrotu luków, nadajemy prawe cechy p(v) = 1 wierzcho lkom v, z których jest osia galny wierzcho lek v o za pomoca ścieżek (skierowanych) o niezerowej d lugości. Po zakończeniu tego etapu każdy wierzcho lek v V o ma nadane wartości (zero lub jeden) obu cech l(x) i p(x). W ten sposób zbiór V o zosta l podzielony na cztery roz la czne podzbiory V o = V 00 V 01 V 10 V 11, gdzie indeksy oznaczaja odpowiednio wartości cech (lewej i prawej) wierzcho lków należa cych do tych podzbiorów. 3. Określamy nowe sk ladowe silnej spójności. Możliwe sa przy tym naste puja ce sytuacje: (a) V 11. Wtedy V 11 stanowi kolejna, sk ladowa silnej spójności, która zaliczamy do zbioru S. Jeżeli pozosta le zbiory V 00, V 01, V 10 sa puste, to przechodzimy do kroku 4. W przeciwnym przypadku zapamie tujemy niepuste zbiory i be dziemy je oddzielnie
8 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ II 7 rozpatrywali w naste pnych etapach procedury, ponieważ każda nie wyznaczona do tej pory sk ladowa silnej spójności zawiera sie ca lkowicie w jednym z tych zbiorów. Przechodzimy do kroku 4. (b) V 11 =. Wtedy zbiór V 00 zawiera wierzcho lek v o, tworza cy jednowierzcho lkowa sk ladowa silnej spójności {v o }. Zapamie tujemy zbiór V 00 \ {v o }, jeżeli jest on niepusty, wraz z pozosta lymi niepustymi zbiorami spośród V 01, V 10. Przechodzimy do kroku Pytamy: czy sa zapamie tane nierozpatrzone zbiory powsta le w wyniku realizacji kroku 3? Jeżeli sa, to wybieramy dowolny z nich i traktuja c go jako nowy zbiór V o, tworzymy podgraf G o =< V o, L o >, z którym przechodzimy do kroku 2. Jeżeli nie ma już zapamie tanych i nierozpatrzonych zbiorów, to zbiór S zawiera wszystkie podzbiory tworza ce sk ladowe silnej spójności. Oznacza to koniec procedury algorytmu Leifmana. Podstawe przedstawionego algorytmu stanowia twierdzenia 2.2, 2.3 i 2.4. Stosuja c oznaczenia przyje te w algorytmie, oznaczymy G lp = G[V lp ] jako podgraf generowany przez podzbiór wierzcho lków V lp, be da cy jednym z czterech podzbiorów uzyskanych w wyniku procedury cechowania wierzcho lków podgrafu G o, w punkcie 2 algorytmu Leifmana. Twierdzenie 2.2. Jeżeli V 11, to podgraf G 11 jest sk ladowa silnej spójności, a wierzcholek v o, od którego zaczyna sie cechowanie wierzcho lków, należy do V 11. Twierdzenie 2.3. Jeżeli V 11 jest zbiorem pustym, to wierzcho lek pocza tkowy v o stanowi jednowierzcho lkowa sk ladowa silnej spójności i należy do zbioru V 00. Twierdzenie 2.4. Każda sk ladowa silnej spójności grafu G o zawiera sie ca lkowicie w jednym z czterech podgrafów G lp = G[V lp ].
9 8 SEMESTR LETNI 2004/2005 Przyk lad. Wyznaczyć za pomoca algorytmu Leifmana wszystkie sk ladowe silnej spójności grafu skierowanego o macierzy przejść: P = Zadanie. Znaleźć za pomoca algorytmu Leifmana sk ladowa silnej spójności zawieraja ca wierzcho lek v 6 grafu skierowanego o macierzy przejść: P =
10 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ III. semestr zimowy 2004/ Najkrótsze ścieżki. Przez d lugość ścieżki be dziemy dalej rozumieli sume wag jej dzi. W grafach, w których nie określono wag na dziach (lub wszystkie wagi sa równe) przez d lugość ścieżki rozumiemy, tak jak dotychczas, liczbe jej dzi. Znajdowanie najkrótszej ścieżki mie dzy dwoma ustalonymi wierzcho lkami s i t grafu bez wag (z jednakowymi wagami) możemy realizować za pomoca przeszukiwania grafu wszerz. Przeszukiwanie grafu wszerz - BFS. 1: Etykietujemy wierzcho lek s cecha 0 ; i := 0. 2: Znajdujemy wszystkich niezaetykietowanych jeszcze sa siadów (wszystkie naste pniki w przypadku grafu skierowanego) wierzcho lków zaetykietowanych cecha i. Jeżeli takich wierzcho lków nie ma, to STOP. 3: Etykietujemy wszystkie wierzcho lki znalezione w kroku 2 cecha i : Jeżeli wierzcho lek t zosta l zaetykietowany, to STOP. W przeciwnym razie zmieniamy i := i + 1 i wracamy do kroku 2. Najkrótsza ścieżka mie dzy dwoma ustalonymi wierzcho lkami s i t (dodatnie wagi dzi). W algorytmie poniżej pos lugujemy sie naste puja cymi oznaczeniami: l(v) d lugość aktualnie najkrótszej ścieżki z s do v; p(v) bezpośredni poprzednik v na aktualnie najkrótszej ścieżce z s do v; T zbiór wierzcho lków, które nie maja jeszcze cechy sta lej. 9 Typeset by AMS-TEX
11 10 SEMESTR ZIMOWY 2004/2005 Algorytm Dijkstry 1: Nadajemy wierzcho lkowi s ceche równa 0 (l(s) := 0). Pozosta lym wierzcho lkom v, v s, nadajemy ceche równa (l(v) := ). Wszystkim wierzcho lkom v V nadajemy również druga ceche p(v) := 0 (nie maja one w tym momencie ustalonych poprzedników). Ceche l(s) = 0 wierzcho lka s ustalamy:t := V {s}, z := s ; pozosta le cechy sa tymczasowe. 2: Wszystkim naste pnikom u, u T, (które nie maja cechy sta lej) wierzcho lka z, dla których nadajemy nowe cechy tymczasowe l(u) > l(z) + w(z,u), l(u) := l(z) + w(z,u); zmieniamy dla nich również druga etykiete p(u) := z. Pozosta le wierzcho lki zachowuja swoje dotychczasowe etykiety. 3: Spośród wierzcho lków z T wybieramy jeden o najmniejszej cesze l( ). Za lóżmy, że jest nim wierzcho lek x. Wówczas x otrzymuje ceche sta la : T := T {x} ; z := x. Jeżeli z = t, to STOP ( wtedy d lugość ścieżki z wierzcho lka s do t wynosi l(t), natomiast sama ścieżka ma naste puja ca postać : (s,...,p(p(t)),p(t),t). W przeciwnym razie, gdy z t, wracamy do kroku 2. Najkrótsze ścieżki z ustalonego wierzcho lka s do wszystkich pozosta lych wierzcho lków (dodatnie wagi dzi). W algorytmie Dijkstry zmieniamy krok 3: 3: Spośród wierzcho lków z T wybieramy jeden o najmniejszej cesze l( ). Za lóżmy, że jest nim wierzcho lek x. Wówczas x otrzymuje ceche sta la : T := T {x} ; z := x. Sprawdzamy czy zbiór T jest pusty. Jeżeli tak, to STOP (d lugość najkrótszej ścieżki z wierzcho lka s do każdego innego wierzcho lka kryje sie w jego cesze l( ), sama ścieżke konstruuje sie tak jak poprzednio); Jeżeli zbiór T nie jest pusty, to wracamy do kroku 2.
12 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ III. 11 Najkrótsze ścieżki z ustalonego wierzcho lka s do wszystkich pozosta lych wierzcho lków (dowolne wagi dzi). Algorytm Bellmana-Forda l k (v) etykieta wierzcho lka v w k-tej iteracji p k (v) poprzednik wierzcho lka v w k-tej iteracji Γ(v) zbiór naste pników wierzcho lka v Γ 1 (v) zbiór poprzedników wierzcho lka v 1: l 1 (s) := 0, p 1 (s) := 0 oraz l 1 (v) := w(s,v), p 1 (v) := s dla każdego v Γ(s) ; dla pozosta lych wierzcho lków u: l 1 (u) :=, p 1 (u) := ; k := 1, S := Γ(s). 2: Dla każdego naste pnika v wierzcho lków z S, czyli v Γ(S): l k+1 (v) := min{l k (v), min u T v {l k (u) + w(u,v)}, gdzie T v = Γ 1 (v) S. Dla każdego wierzcho lka v Γ(S), dla którego l k+1 (v) = l k (u) + w(u,v) : dla pozosta lych v, p k+1 (v) := u; p k+1 (v) := p k (v). Dla v Γ(S): l k+1 (v) := l k (v), p k+1 (v) := p k (v). (Zbiór S zawiera wszystkie wierzcho lki, do których aktualnie najkrótsze ścieżki z s sk ladaja sie z k luków. Zbiór T v sk lada sie z wierzcho lków, do których najkrótsze ścieżki z s sk ladaja sie z k luków i których naste pnikiem jest v); 3: (a) Jeżeli k n 1 oraz l k+1 (v) = l k (v) dla każdego v, to STOP; (b) Jeżeli k < n 1 oraz l k+1 (v) l k (v) dla pewnego wierzcho lka v, to krok 4; (c) Jeżeli k = n 1 oraz l k+1 (v) l k (v) dla pewnego wierzcho lka v, to STOP - graf ma cykl o ujemnej sumie wag. 4: S := { v;l k+1 (v) l k (v) } ; k := k + 1 i krok 2 (S zawiera wierzcho lki, do których najkrótsze ścieżki z s maja k + 1 luków).
13 12 SEMESTR ZIMOWY 2004/2005 Najkrótsze ścieżki mie dzy wszystkimi parami wierzcho lków (dowolne wagi dzi). Algorytm Floyda 1: Maja c dana macierz wag W tworzymy macierz poprzedników P (0), w ten sposób, że jeśli w ij =, to p (0) ij = 0; jeśli natomiast w ij, to p (0) ij przyjmie wartość i. 2: Tworzymy cia gi macierzy W (1),W (2),...,W (n) oraz P (1), P (2),...,P (n) wed lug wzorów: w (0) ij = w ij ; w (l) ij = min{w(l 1) ij,w (l 1) il + w (l 1) lj }, co oznacza, że obliczaja c l-ta macierz W (l) zmieniamy d lugość ścieżki w ij z wierzcho lka i do j, jeżeli po w la czeniu do niej wierzcho lka l staje sie ona krótsza. Wtedy też w macierzy P (l) wstawiamy p (l) ij w pozosta lych przypadkach p (l) ij := p(l 1) ij := p(l 1) lj ;. Dodatkowo po utworzeniu każdej macierzy sprawdzamy czy elementy na g lownej przeka tnej sa nieujemne (w ij 0). Jeżeli na g lownej przeka tnej pojawi sie wartość ujemna, to STOP znaleziony zosta l cykl o ujemnej sumie wag. 3: Macierz W (n) jest macierza zawieraja ca d lugości najkrótszych ścieżek mie dzy każda para wierzcho lków i, j. Aby wyznaczyć te najkrótsze [ ścieżki korzystamy z macierzy P (n) = p (n) ij ]. Każdy element p (n) ij jest przedostatnim wierzcho lkiem na najkrótszej ścieżce z i do j. Jeśli ta ścieżka ma, na przyk lad, postać (i,v 1,v 2,...,v q,j), to poszczególne wierzcho lki v k (gdzie k = 1,2,...,q) otrzymujemy z macierzy P (n) : i = p iv1,...,v q 2 = p ivq 1,v q 1 = p ivq,v q = p ij,j. Przyk lad Wyznaczyć najkrótsze ścieżki z wierzcho lka s (s odpowiada pia ty wiersz i pia ta kolumna) do wszystkich pozosta lych wierzcho lków w grafie o macierzy wag: W =
14 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ III. 13 Przyk lad Wyznaczyć najkrótsze ścieżki mie dzy wszystkimi parami wierzcho lków w grafie o macierzy wag: W =
15 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ IV. semestr zimowy 2004/ Rozpie te drzewa. Generowanie drzewa rozpie tego danego grafu spójnego G na n wierzcho lkach można realizować biora c kolejno dzie z pewnej listy i akceptuja c je po sprawdzeniu, czy nie tworza one cyklu z dotychczas zaakceptowanymi dziami. Zauważmy, że do czasu kiedy zaakceptowanych dzi be dzie n 1, czyli do czasu otrzymania drzewa, rozpie ty podgraf grafu G generowany zbiorem zaakceptowanych dzi jest lasem. Jeżeli w każdym drzewie takiego lasu wyróżnimy jeden wierzcho lek korzeń a dzie drzewa zamienimy lukami tak, by z korzenia do dowolnego innego wierzcho lka drzewa można by lo przejść po ścieżce skierowanej (zauważmy, że wybór korzenia jednoznacznie takie skierowanie określa), to las ten możemy określić przypisuja c każdemu wierzcho lkowi v dwie etykiety (r(v), p(v)), gdzie: r(v) oznacza korzeń drzewa, do którego należy v, natomiast p(v) jest bezpośrednim poprzednikiem wierzcho lka v w tym drzewie. Kolejna zaakceptowana dź la czy dwa drzewa lasu w jedno i należy przeprowadzić zmiane etykiet. Możemy przyja ć, że otrzymane drzewo be dzie mialo jako korzeń mniejszy z korzeni po la czonych drzew. A. Opis procedury po la czenia dwóch drzew. Opis procedury zamiany korzenia drzewa. Zmiana etykiet wierzcho lków drzewa T o korzeniu r, po operacji zamiany r na nowy korzeń v. Wierzcho lkowi v jako druga etykiete (poprzednik)przypisujemy 0 v staje sie korzeniem drzewa T. Zmieniamy skierowanie (na przeciwne) luków na ścieżce z r do v i odpowiednio zmieniamy drugie etykiety wierzcho lków ( v) tej ścieżki. Drugie etykiety pozosta lych wierzcho lków w drzewie T pozostaja bez zmian. Wszystkie wierzcho lki drzewa T otrzymuja pierwsza etykiete (określaja ca korzeń) równa v. 14 Typeset by AMS-TEX
16 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ IV. 15 Zmiany etykiet wierzcho lków dwóch drzew T 1 i T 2, o korzeniach odpowiednio r 1 i r 2, r 1 < r 2, po operacji ich po la czenia przez dodanie dzi e = (u, v), gdzie u V (T 1 ), v V (T 2 ). Wierzcho lkom w drzewie T 2 zmieniamy drugie etykiety dotycza ce poprzedników tak jak przy zamianie korzenia z r 1 na v (patrz procedura powyżej); w drzewie T 1 drugie etykiety wierzcho lków pozostaja bez zmian. Wierzcho lkowi v jako druga etykiete (poprzednik) przypisujemy u. Wszystkie wierzcho lki drzewa T 2 otrzymuja pierwsza etykiete (określaja ca korzeń) równa r 1 ; w drzewie T 1 pierwsze etykiety wierzcho lków pozostaja bez zmian. Po otrzymaniu drzewa rozpie tego, lub wyczerpaniu sie naszej listy dzi w procesie generowania drzew, wykonujemy krok powrotu polegaja cy na wyrzuceniu ostatnio dodanej dzi. Powoduje to rozbicie pewnego (jednego) drzewa na dwa poddrzewa. B. Opis procedury podzia lu drzewa na dwa poddrzewa. Zmiana etykiet wierzcho lków drzewa T o korzeniu r po usunie ciu z niego dzi e = (u, v), czyli rozbiciu T na dwa drzewa T 1 i T 2, gdzie u V (T 1 ), v V (T 2 ) i r V (T 1 ). W drzewie T 1 obie etykiety wierzcho lków pozostaja bez zmian. Wierzcho lkowi v jako druga etykiete (poprzednik)przypisujemy 0 v staje sie korzeniem drzewa T 2. Drugie etykiety pozosta lych wierzcho lków w drzewie T 2 pozostaja bez zmian. Wszystkie wierzcho lki drzewa T 2 otrzymuja pierwsza etykiete (określaja ca korzeń) równa v. Generowanie wszystkich drzew rozpie tych. 1: Tworzymy liste dzi biora c na jej pocza tek dzie incydentne z v (v - dowolny wierzcho lek) e 1, e 2,..., e d(v ), e d(v )+1,..., e m, m = E(G). Dla każdego wierzcho lka v V (G): (k licznik dzi z listy). r(v) := v; p(v) := 0; k := 1
17 16 SEMESTR ZIMOWY 2004/2005 2: Jeżeli k = m+1, to Krok 5. W przeciwnym razie badamy k ta dź z listy : e k = (v i, v j ). (i) Jeżeli r(v i ) = r(v j ), to v i i v j sa w tym samym drzewie i dź e k zamyka cykl odrzucamy ja ; k := k + 1; Krok 2; (ii) Jeżeli r(v i ) r(v j ), to dź akceptujemy i przechodzimy do Kroku 3; 3: La czymy dwa drzewa o korzeniach r(v i ) i r(v j ) dzia e k = (v i, v j ) zgodnie z procedura A; 4: Jeżeli liczba zaakceptowanych dzi jest równa n 1, to mamy drzewo rozpie te. Zapamie tujemy je i przechodzimy do Kroku 5, jeżeli dzi zaakceptowanych jest mniej, to k := k + 1 i Krok 2; 5: Badamy ostatnio zaakceptowana dź. Powiedzmy, że jest nia dź e l. Jeżeli e l = e d(v ) i nie ma już innych zaakceptowanych dzi, to STOP. (mamy wyznaczone wszystkie rozpie te drzewa). W przeciwnym razie odrzucamy dź e l i zmieniamy etykiety zgodnie z procedura B; k := l + 1 i Krok 2. Przyk lad. Znaleźć wszystkie drzewa rozpie te dla grafu o macierzy incydencji: M = Jeżeli mamy do czynienia z grafem z wagami, to najcze ściej interesuje nas znalezienie rozpie tego drzewa o minimalnej wadze, tzn. drzewa, którego suma wag poszczególnych dzi jest najmniejsza. Aby znaleźć takie optymalne drzewo możemy zastosować dwa algorytmy: Kruskala ( algorytm zach lanny ), lub Prima ( algorytm najbliższego sa siada ).
18 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ IV. 17 Niech graf G = (V, E) be dzie dany macierza wag. Za lóżmy, że graf G jest spójny. Algorytm Kruskala. 1: Wybierz dź, która nie jest pe tla, e 1 tak, by waga tej dzi by la najmniejsza. 2: Jeżeli dzie e 1, e 2,..., e k zosta ly już wybrane, to z pozosta lych E \ {e 1, e 2,..., e k } wybierz dź e k+1 w taki sposób aby: (a) graf, który sk lada sie tylko z dzi e 1, e 2,..., e k, e k+1 by l acykliczny (możemy tu zastosować etykietowanie zwia zane z korzeniami drzew budowanego lasu z poprzedniego algorytmu), oraz (b) waga dzi e k+1 by la najmniejsza. 3: Jeśli nie można wykonać kroku 2, to STOP. Twierdzenie 4.1. Każde rozpie te drzewo skonstruowane za pomoca algorytmu Kruskala jest optymalne. Dowód:. Przypuśćmy, że drzewo T = G[{e 1, e 2,... e n 1 }] skonstruowane przy pomocy algorytmu Kruskala nie jest optymalne. Wśród wszystkich drzew optymalnych wybierzmy takie drzewo rozpie te T danego grafu, by dla możliwie najwie kszego k, T i T mia ly wspólne krawe dzie e 1,..., e k 1. Dodanie należa cej do T dzi e k do drzewa T, która z powyższej definicji do niego nie należy, spowoduje powstanie dok ladnie jednego cyklu. Weźmy dź x należa ca do tego cyklu, x e k, która nie należy do T. Taka dź oczywiście istnieje, bo w przeciwnym razie ca ly cykl zawarty by lby w acyklicznym grafie T. Sta d x / {e 1, e 2,..., e k } i z tego, że algorytm Kruskala wybiera dzie o najmniejszej wadze wynika, że waga dzi x jest równa przynajmniej wadze dzi e k. Gdyby waga x by la wie ksza od wagi e k, to podgraf T = (T {e k }) {x} by lby nie tylko acykliczny i spójny (czyli by lby drzewem), ale by loby to drzewo rozpie te z waga mniejsza niż waga T, co przeczy za lożeniu o optymalności T. Wobec tego wagi dzi x i e k powinny być równe, ale wówczas T by loby drzewem optymalnym zawieraja cym dzie {e 1, e 2,..., e k }, co z kolei przeczy za lożeniu o wyborze k. Wynika sta d, że drzewo T otrzymane za pomoca algorytmu Kruskala jest optymalne, co kończy dowód. Z lożoność obliczeniowa algorytmu Kruskala. Algorytm można w laściwie podzielić na dwa etapy. Najpierw sortujemy dzie wed lug wag, a naste pnie budujemy rozpie te drzewo
19 18 SEMESTR ZIMOWY 2004/2005 poprzez wybór najkrótszych dzi ze zbioru dzi E. Czas potrzebny do sortowania E dzi jest równy O( E log E ). Innym sposobem znalezienia rozpie tego drzewa o minimalnej wadze w danym grafie jest algorytm najbliższego sa siada: Zaczynamy od dowolnego wierzcho lka a w danym grafie. Niech (a, b) be dzie dzia o najmniejszej wadze incydentna z a. Krawe dź (a, b) w la czamy do budowanego drzewa. Naste pnie spośród wszystkich dzi incydentnych albo do a, albo do b wybieramy dź o najmniejszej wadze i w la czamy do drzewa. W wyniku tego w sk lad wierzcholków drzewa wszed l nowy wierzcho lek, powiedzmy c. Powtarzaja c opisany proces szukamy dzi o najmniejszej wadze la cza cej jeden z wierzcho lków a, b lub c z wierzcho lkiem spoza skonstruowanego już drzewa. Kontynuujemy to poste powanie dopóki wszystkie wierzcho lki grafu G nie znajda sie w drzewie, czyli dopóki drzewo nie stanie sie rozpie te. W algorytmie każdemu wierzcho lkowi v i be dziemy przypisywać pare etykiet (α i, β i ), gdzie α i jest wierzcho lkiem poddrzewa najbliższym v i, zaś β i jest bieża ca odleg lościa wierzcho lka v i od poddrzewa, czyli waga dzi (v i, α i ). Algorytm Prima. 1: Wybrać dowolny wierzcho lek grafu G = (V, E) - v s i przypisać mu etykiety: (0,0). T := {v s }, E T :=, gdzie T to zbiór wierzcho lków budowanego drzewa, E T - zbiór dzi budowanego drzewa. Każdemu sa siadowi v j wierzcho lka v s, przypisać etykiety (α j, β j ) α j := v s, β j := w (v s, v j ), gdzie w(u, v) oznacza wage dzi (u, v). Wierzcho lkom ( v s ), które nie sa sa siadami wierzcho lka v s przyporza dkować etykiety (0, ). 2: Wybrać wierzcho lek v k taki, że β k = min v j / T β j. T := T {v k }, E T := E T {(α k, v k )}. Jeżeli T = V, to STOP. W przeciwnym przypadku przejść do 3.
20 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ IV. 19 3: Wszystkim nie należa cym do T wierzcho lkom v j przyleg lym do v k, dla których zachodzi nierówność β j > w (v k, v j ) zmieniamy etykiety β j := w (v k, v j ), α j := v k ; pozosta lym wierzcho lkom etykiet nie zmieniamy. Wracamy do kroku 2. Z lożoność obliczeniowa algorytmu Prima. Najgorszym dla algorytmu jest przypadek, gdy G jest grafem pe lnym. Żeby wybrać pierwsza dź musimy porównać wagi wszystkich V 1 dzi incydentnych z wierzcho lkiem pocza tkowym i wybrać najmniejsza. To wymaga V 2 porównań. Druga dź wybieramy spośród 2( V 2) dzi incydentnych z pierwszym lub drugim wybranym wierzcho lkiem. Wykonujemy tu 2( V 2) 1 porównań. Widać wie c, że przy wyborze i-tej dzi potrzeba i( V i) 1 porównań, czyli w sumie potrzeba V 1 i=1 [i ( V 1) 1] = 1 6 V 3 + O( V 2 ) porównań. Porównuja c oba algorytmy nie można jednoznacznie stwierdzić, że któryś jest lepszy. Algorytm najbliższego sa siada jest szybszy dla ma lych grafów zw laszcza ge stych, natomiast algorytm Kruskala jest szybszy dla dużych i rzadkich grafów. Przyk lad. Znaleźć optymalne drzewo rozpie te dla grafu o macierzy wag: W =
21 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ V. semestr zimowy 2004/ Skojarzenia Podzbiór M zbioru dzi E nazywamy skojarzeniem grafu G jeżeli M nie zawiera pe tli i żadne dwie dzie z M nie sa przyleg le. Dwa końce dzi z M sa skojarzone przez M. Skojarzenie M nasyca wierzcho lek v (v nazywamy M-nasyconym) jeżeli pewna dź z M jest incydentna z v; w przeciwnym razie v jest M-nienasycony. Jeżeli M nasyca każdy wierzcho lek grafu G, to M nazywamy skojarzeniem doskona lym. M jest skojarzeniem najwie kszym jeżeli graf G nie ma skojarzenia M takiego, że M > M ; oczywiście każde skojarzenie doskona le jest najwie ksze. Ścieżke, do której należa dzie na przemian z M i Mc, M c = E M, nazywać be dziemy M-przemienna ścieżka. Jeżeli M-przemienna ścieżka ma pocza tek i koniec M-nienasycony, to nazywamy ja M-zasilona ścieżka. Twierdzenie 5.1. (Berge, 1957) Skojarzenie M w grafie G jest najwie k- sze wtedy i tylko wtedy, gdy G nie zawiera M-zasilonej ścieżki Skojarzenia w grafach dwudzielnych. Dla każdego zbioru S V przez zbiór jego sa siadów N G (S) rozumiemy zbiór wszystkich wierzcho lków przyleg lych do wierzcho lków z S. Twierdzenie 5.2. (Hall) Niech G be dzie grafem dwudzielnym z dwupodzia lem (X, Y ). Graf G zawiera skojarzenie, które nasyca każdy wierzcho lek w X wtedy i tylko wtedy, gdy (5.1) N G (S) S dla każdego S X. 19 Typeset by AMS-TEX
22 20 SEMESTR ZIMOWY 2004/ Problem przydzia lu zadań. Istnieje algorytm (Metoda we gierska) znajduja cy w grafie dwudzielnym skojarzenie nasycaja ce każdy wierzcho lek X lub jeżeli jest to niemożliwe, znajduja cy podzbiór S zbioru X taki, że N G (S) < S. Algorytm przydzia lu zadań - metoda we gierska Dane: graf dwudzielny G (dwupodzia l (X,Y )), skojarzenie M, 1: Jeżeli M nasyca wszystkie wierzcho lki X, to STOP. W przeciwnym razie niech u, (u X) be dzie M-nienasycony. S := {u}, T :=. 2: Jeżeli N G (S) = T, to N G (S) < S i STOP - nie ma szukanego skojarzenia. W przeciwnym razie niech y N G (S) T. 3: Jeżeli y jest M-nasycony, yz M, to S := S {z}, T := T {y} i krok 2. W przeciwnym razie niech P be dzie M-przemienna zasilona ścieżka z u do y, M := M E(P) i krok Problem optymalnego przydzia lu zadań. Problem optymalnego przydzia lu zadań równoważny jest ze znalezieniem skojarzenia doskona lego o maksymalnej wadze w dwudzielnym grafie G z wagami. Wprowadźmy funkcje l (etykiety wierzcho lków) o wartościach rzeczywistych, określona na zbiorze wierzcho lków V = X Y, taka, że dla każdego x X i dla każdego y Y (5.4) l(x) + l(y) w(x,y), gdzie w(x,y) jest waga dzi xy. Oznaczmy dalej przez E l zbiór dzi (5.5) E l = {xy E(G) : l(x) + l(y) = w(x,y)}, a przez G l odpowiedni rozpie ty podgraf grafu G. Prawdziwe wówczas jest naste puja ce twierdzenie: Twierdzenie 5.3. Niech l be dzie funkcja etykiety spe lniaja ca warunek (5.4) dla grafu dwudzielnego z wagami G. Jeżeli podgraf G l zawiera skojarzenie doskona le M, to skojarzenie M jest skojarzeniem optymalnym grafu G.
23 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ V. 21 Powyższy fakt jest podstawa algorytmu Kuhna (1955) i Munkresa (1957) rozwia zuja cego problem optymalnego przydzia lu zadań. Prezentowana poniżej wersja algorytmu pochodzi od Edmondsa (1967). Algorytm Kuhna - Munkresa - optymalny przydzia l zadań. Dane: graf dwudzielny G z wagami, funkcja etykiety l, graf G l oraz jego skojarzenie M Szukane: skojarzenie doskona le o maksymalnej wadze tzw. optymalne skojarzenie 1: Jeżeli M nasyca wszystkie wierzcho lki X, to M jest skojarzeniem optymalnym - STOP. W przeciwnym razie niech u (u X) be dzie M-nienasyconym wierzcho lkiem, S := {u}, T := 2: Jeżeli T N Gl (S), to krok 3. Jeżeli T = N Gl (S), to obliczamy α = min {l(x) + l(y) w(xy)} (α > 0) x S, y Y T l (v) := l(v) α, dla v S; l (v) := l(v) + α, dla v T; l (v) := l(v) dla wszystkich v poza S i poza T; G l := G l 3: Wybieramy y N Gl (S) T. Jeżeli y jest M-nasycony, yz M, to S := S {z}, T := T {y} i krok 2. W przeciwnym razie mamy M-przemienna zasilona ścieżke P z u do y w G l ; M := M E(P) i krok 1 Przyk lad. Wyznaczyć optymalne skojarzenie (skojarzenie doskona le o maksymalnej wadze) w grafie o macierzy wag: y 1 y 2 y 3 y 4 y 5 x 1 x 2 x 3 x 4 x
24 22 SEMESTR ZIMOWY 2004/ Algorytm znajdowania optymalnego skojarzenia w dowolnym grafie. Twierdzenie 5.4 (The Cycle Shrinking Lemma). Niech G be dzie grafem, M jego skojarzeniem, a Z cyklem d lugości 2k +1, który zawiera dok ladnie k dzi z M i jeden wierzcho lek M-nienasycony. Niech G be dzie grafem otrzymanym z G poprzez ścia gnie cie cyklu Z do jednego wierzcho lka. Wówczas M jest najwie kszym skojarzeniem grafu G wtedy i tylko wtedy, gdy M = M E(Z) jest najwie kszym skojarzeniem grafu G. Dany jest graf G i skojarzenie M grafu G. Jeżeli M jest skojarzeniem doskona lym to STOP. W przeciwnym razie istnieje zbiór S wierzcho lków (S ) M-nienasyconych. Konstruujemy las F taki, że każde drzewo z F ma korzeń w wierzcho lku z S i jest to jedyny wierzcho lek z S w tym drzewie. Każda dź dowolnego drzewa lasu F w odleg lości nieparzystej od korzenia (wierzcho lka z S) należy do M. (Każdy wierzcho lek drzewa w odleg lości nieparzystej od korzenia ma stopień dwa). Takie wierzcho lki nazywamy wierzcho lkami wewne trznymi lasu, pozosta le zewne trznymi. Las F nazywamy M-przemiennym lasem. Rozpatrujemy sa siadów zewne trznych wierzcho lków. Niech pierwszym z nich be dzie x. Jeżeli istnieje y poza F be da cy sa siadem x, to ponieważ y nie należy do S, wie c y jest M-nasycony, a wie c istnieje z takie, że yz M. Wówczas powie kszamy las o dzie xy i yz. F = F + xy + yz jest wie kszym M-przemiennym lasem. Jeżeli sa siadem x jest wierzcho lek zewne trzny y innego drzewa lasu F, to istnieje M-zasilona ścieżka i możemy nasze skojarzenie powie kszyć. Jeżeli sa siadem x jest wierzcho lek zewne trzny y tego samego drzewa lasu F, to powstaje cykl nieparzysty d lugości 2k + 1 o k dziach z M. Jeżeli korzeń drzewa należy do tego cyklu to stosujemy bezpośrednio Twierdzenie 7.4 (przechodza c do drzewa na mniejszej liczbie wierzcho lków). W przeciwnym razie zmieniamy skojarzenie na jedynej ścieżce z korzenia do cyklu, dostaja c nowe skojarzenie, dla którego cykl spe lnia już za lożenia The Cycle Shrinking Lemma. Jeżeli każdy wierzcho lek zewne trzny ma jako sa siadów tylko wierzcho lki wewne trzne (lub nie ma już sa siadów), to nie istnieje M-zasilona ścieżka, czyli M jest skojarzeniem maksymalnym.
25 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ VI. semestr zimowy 2004/ Obchody Eulera. 6. OBCHODY EULERA. Szlak, który zawiera każda dź grafu G jest nazywany szlakiem Eulera grafu G. Obchód grafu G to skończony, domknie ty spacer przechodza cy przez każda dź G przynajmniej jeden raz. Obchód Eulera jest obchodem zawieraja cym każda dź grafu G dok ladnie jeden raz (jest to po prostu domknie ty szlak Eulera). Graf nazywamy eulerowskim (grafem Eulera) jeżeli zawiera obchód Eulera. Graf nazywamy pó leulerowskim jeżeli zawiera szlak Eulera. Twierdzenie 6.1. Niepusty spójny graf jest eulerowski wtedy i tylko wtedy, gdy nie posiada wierzcho lków o nieparzystym stopniu. Wniosek 6.1. Graf spójny ma szlak Eulera wtedy i tylko wtedy, gdy ma co najwyżej dwa wierzcho lki stopnia nieparzystego Problem Chińskiego Listonosza. Listonosz odbiera przesy lki z poczty, dostarcza je a naste pnie wraca na poczte. Musi oczywiście przejść przez każda ulice w swoim rejonie przynajmniej raz. Ze wzgle du na ten warunek pragnie wybrać obchód w taki sposób by jak najmniej spacerować. Powyższy problem znany jest jako,,problem chińskiego listonosza, od chińskiego matematyka Kuana, który go rozpatrywa l (1962). W grafie z wagami definiujemy wage obchodu v 0 e 1,v 1 e 2,...,e n v 0 22 Typeset by AMS-TEX
26 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ VI. 23 jako n i=1 w(e i). Oczywiście, problem chińskiego listonosza sprowadza sie do znalezienia obchodu o minimalnej wadze w spójnym grafie o nieujemnych wagach. Jeżeli G jest eulerowski, to obchód Eulera jest optymalny, ponieważ jest obchodem przechodza cym przez każda dź dok ladnie jeden raz. Problem chińskiego listonosza ma wówczas proste rozwia zanie, ponieważ istnieje prosty algorytm znajdowania obchodu Eulera w eulerowskim grafie. Algorytm Fleury ego Wybierz dowolny wierzcho lek v 0 i podstaw W 0 = v 0 Przypuśćmy, że szlak W i = v 0 e 1 v 1 e 2...e i v i zosta l wybrany. Wybierz dź e i+1 z E {e 1,e 2,...,e i } tak, by (i) e i+1 by la incydentna z v i (ii) e i+1 nie by la dzia cie cia grafu G i = G {e 1,...,e i } chyba, że nie ma innej alternatywy STOP jeżeli krok 2 nie może być wykonany. Algorytm Fleury ego konstruuje oczywiście szlak. Co wie cej prawdziwe jest twierdzenie: Twierdzenie 6.2. Jeżeli G jest grafem eulerowskim to dowolny szlak w G skonstruowany przy pomocy algorytmu Fleury ego jest obchodem Eulera grafu G. Jeżeli graf G nie jest eulerowski, to każdy obchód grafu G, w szczególności optymalny obchód,,,przechodzi po niektórych dziach wie cej niż jeden raz. Wprowadźmy operacje duplikowania dzi. O dzi e, o wadze w(e), mówimy, że zosta la zduplikowana, jeżeli jej końce po la czyliśmy nowa dzia o wadze w(e). Możemy przeformu lować problem Chińskiego Listonosza w naste puja cy sposób: dany jest graf G o nieujemnych wagach na dziach: (I) Znaleźć za pomoca duplikowania dzi eulerowski ważony nadgraf G grafu G taki, że e E(G ) E(G) w(e) (II) Znaleźć obchód Eulera w G. medskip jest najmniejsza z możliwych
27 24 SEMESTR ZIMOWY 2004/2005 Dla rozwia zania (II) mamy dobry algorytm Fleury ego. Efektywny algorytm rozwia zania (I) podali w 1973 Edmonds i Johnson. Niech V be dzie zbiorem wierzcho lków stopnia nieparzystego grafu G, a M zbiorem spacerów grafu G, które kojarza w pary wierzcho lki z V i ewentualnie cykli na wierzcho lkach stopnia parzystego. Zauważmy, że mamy zawsze parzysta ilość wierzcho lków stopnia nieparzystego i M = 1 2 V + # cykli. Oznaczmy przez graf G + (M) multigraf (graf z dziami wielokrotnymi) otrzymany z G poprzez duplikacje dzi spacerów i cykli z M, a dok ladniej zasta pienie każdej dzi grafu G wia zka k + 1 dzi o takiej samej wadze, jeżeli dź ta zosta la wykorzystana k razy w spacerach i cyklach z M (0 jeżeli nie by la ona wykorzystana). Latwo pokazać, że Twierdzenie 6.3. Dla dowolnego obchodu grafu G istnieje zbiór M spacerów grafu G kojarza cych wierzcho lki stopnia nieparzystego, i ewentualnie cykli na wierzcho lkach stopnia parzystego, taki że graf G + (M) zawiera obchód eulerowski odpowiadaja cy temu wyjściowemu obchodowi. Odpowiedniość ta polega na tym, że jeżeli wyjściowy obchód przechodzi l przez dź l razy, to w grafie G + (M) w miejscu tej dzi istnieje wia zka l dzi. Prawdziwe jest również twierdzenie odwrotne. Z powyższego twierdzenia wynika mie dzy innymi fakt, że dla optymalnego obchodu grafu G istnieje zbiór ścieżek M kojarza cych wierzcho lki stopnia nieparzystego w pary, takich że suma wag dzi tych ścieżek jest minimalna i obchód Eulera grafu G + (M) jest rozwia zaniem problemu chińskiego listonosza. W szczególnym przypadku, gdy graf G ma dok ladnie dwa wierzcho lki u i v stopnia nieparzystego rozwia zanie (I) sprowadza sie do znalezienia (u,v)-ścieżki o minimalnej wadze i duplikacji jej dzi. Algorytm rozwia zuja cy problem chińskiego listonosza Krok 1: Korzystaja c z algorytmu znajdowania najkrótszych ścieżek wyznaczamy macierz A V V, gdzie A ij jest waga najkrótszej ścieżki z v i do v j, v i,v j V ; Krok 2: Na podstawie macierzy A znajdujemy skojarzenie ścieżkowe M, zbiór ścieżek kojarza cych w pary wierzcho lki z V, takich że suma
28 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ VI. 25 wag dzi tych ścieżek jest minimalna (zauważmy, że w kroku tym szukamy optymalnego skojarzenia w grafie na zbiorze wierzcho lków V o macierzy wag A); Krok 3: Duplikujemy dzie z M. Stosujemy algorytm Fleury ego dla otrzymanego w ten sposób grafu G + (M). Zadanie. Znaleźć optymalny obchód - rozwia zanie problemu chińskiego listonosza, dla grafu danego macierza wag: W =
29 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ VII. semestr zimowy 2004/ CYKLE HAMILTONA. Ścieżka zawieraja ca każdy wierzcho lek grafu G jest nazywana ścieżka Hamiltona grafu G, podobnie, cykl Hamiltona jest to cykl, który zawiera każdy wierzcho lek grafu G. Graf jest hamiltonowski (Hamiltona) jeżeli zawiera cykl Hamiltona. W przeciwieństwie do grafów eulerowskich nie istnieje prosty warunek konieczny i dostateczny na to, aby graf by l hamiltonowski. Twierdzenie 7.1. (warunek konieczny) Jeżeli graf G jest hamiltonowski, to dla każdego niepustego podzbioru S zbioru wierzcho lków V ω(g S) S. Twierdzenie 7.2. (Dirac, 1952) Jeżeli graf G jest prosty, ν 3 oraz δ ν, to G jest hamiltonowski. 2 Lemat Niech graf G be dzie grafem prostym na ν wierzcho lkach i za lóżmy, że u i v sa nieprzyleg lymi wierzcho lkami grafu G, dla których d G (u) + d G (v) ν. Wówczas G jest hamiltonowski wtedy i tylko wtedy, gdy G+uv jest hamiltonowski. Lemat Oznaczmy przez C(G) graf otrzymany z grafu G poprzez kolejne la czenie dzia pary wierzcho lków nieprzyleg lych, których suma stopni (w danym momencie)jest wie ksza lub równa liczbie wierzcho lków ν aż do momentu kiedy takich par już nie ma. Wówczas C(G) jest dobrze określony. 26 Typeset by AMS-TEX
30 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ VII. 27 Twierdzenie 7.3. Graf prosty G jest hamiltonowski wtedy i tylko wtedy, gdy C(G) jest hamiltonowski. Wniosek Niech graf G be dzie grafem prostym na ν, ν 3, wierzcho lkach. Jeżeli C(G) jest grafem pe lnym, to G jest hamiltonowski. Skierowane cykle Hamiltona w grafie skierowanym definiuje sie w analogiczny sposób. Algorytm Robertsa-Floresa Znajdowanie cyklu Hamiltona w grafie skierowanym. Budujemy macierz naste pników: kolumny macierzy odpowiadaja wierzcho lkom i zawieraja ich naste pniki w pewnej, na pocza tku ustalonej, kolejności. Rozpoczynamy z dowolnego wierzcho lka v. Bierzemy pierwszy doste pny (który jeszcze nie zosta l w la czony do zbioru S wierzcho lków budowanego cyklu) naste pnik z kolumny odpowiadaja cej v. Za lóżmy, że jest to wierzcho lek u. S := S {u}. Naste pnie bierzemy pierwszy doste pny naste pnik wierzcho lka u z kolumny odpowiadaja cej u, itd. Mamy naste puja ce możliwości: (i) Nie ma doste pnego naste pnika naste puje krok powrotu wyrzucamy z S ostatnio dodany wierzcho lek, wracamy do kolumny, z której zosta l on wybrany i bierzemy kolejny doste pny naste pnik; naste pnie bierzemy pierwszy doste pny jego naste pnik, itd. (oczywiście za każdym razem, gdy nie ma doste pnego naste pnika naste puje krok powrotu); (ii) Zbiór S ma już moc n czyli znaleliśmy już ścieżke Hamiltona H z v do w, gdzie w jest ostatnio dodanym do S wierzcho lkiem. Sprawdzamy, czy istnieje luk z w do v: jeśli TAK, to zapisujemy cykl Hamiltona H + vw i krok powrotu (lub STOP jeśli chcemy znaleźć tylko jeden cykl Hamiltona); jeśli NIE, to krok powrotu. Koniec naste puje, gdy powrócimy do wierzcho lka v i nie ma juz doste p- nych jego naste pników Przyk lad. Wyznaczyć za pomoca algorytmu Robertsa Floresa wszystkie cykle Hamiltona w grafie o macierzy przejść:
31 28 SEMESTR ZIMOWY 2004/2005 P = Problem podróżuja cego komiwojażera. Podróżuja cy komiwojażer pragnie z lożyć wizyte w pewnych miastach i za lóżmy, że chce on powrócić do punktu startowego. Maja c dany czas podróży (koszt podróży) pomie dzy miastami, jak powinien u lożyć plan podróży aby wizytować miasta dok ladnie raz i aby ta podróż by la najkrótsza (najtańsza). W terminologii grafowej oznacza to szukanie cyklu Hamiltona o minimalnej wadze w ważonym grafie pe lnym. Nie istnieje efektywny algorytm rozwia zania tego problemu. Jedna z możliwości jest rozpocze cie od pewnego cyklu Hamiltona i szukanie innego o mniejszej wadze poprzez modyfikacje wyjściowego cyklu. Poniżej przedstawimy dwa algorytmy rozwia zuja ce problem we druja cego komiwojażera w przypadku, gdy nie musi on wrócić do punktu startowego. Innymi s lowy, interesować nas be dzie znalezienie optymalnej ścieżki hamiltonowskiej czyli rozpie tej ścieżki o minimalnej wadze w ważonym grafie pe lnym. Możemy wówczas rozpatrywać dwa, jak sie za chwile okaże równoważne, problemy: Zadanie A. Znalezienie optymalnej ścieżki Hamiltona w grafie z wagami. Zadanie B. Znalezienie optymalnej ścieżki Hamiltona mie dzy ustalonymi wierzcho lkami w grafie z wagami. Rozwia zanie zadania A (metoda przeszukiwania wszystkich przypadków). Znajdujemy optymalne drzewo rozpie te T (algorytm Kruskala) grafu G o macierzy wag W. Jeżeli nie istnieje wierzcho lek stopnia wie kszego od dwóch, to STOP - znalezione drzewo jest szukana optymalna ścieżka H. Jeżeli v jest taki, że d(v) > 2 i e 1,e 2,...,e k sa dziami wychodza cymi z v, to przechodzimy do rozpatrywania naszego zadania dla grafów: G 1,G 2,...,G k,
32 ALGORYTMY TEORII GRAFÓW (AGR 320). CZE ŚĆ VII. 29 gdzie macierz wag grafu G i powstaje z macierzy wag W poprzez zasta pienie wagi dzi e i nieskończonościa, i = 1,2...,k. (Zauważmy, że żadna iteracja nie może zmniejszyć wagi rozpie tego drzewa) Przyk lad. Wyznaczyć za pomoca algorytmu Kruskala optymalna ścieżke Hamiltona w grafie o macierzy wag: W = Twierdzenie 7.4. Niech graf G dany be dzie macierza wag W = [w ij ], a graf G macierza wag W = [wij ], gdzie w 12 = w K, w 21 = w K, w 1j = w 1j + K, w j1 = w j1 + K, w 2j = w 2j + K, w j2 = w j2 + K, dla j 1 i j 2 oraz w ij = w ij dla pozosta lych i i j. Wówczas dla dostatecznie dużej sta lej K (na przyk lad dla K V (G) max{w ij ;w ij < }) rozwia zanie zadania A (ścieżka Hamiltona) o wadze mniejszej od 3K dla grafu G jest rozwia zaniem zadania B (znalezienie optymalnej ścieżki Hamiltona mie dzy wierzcho lkami v 1 i v 2 ) dla grafu G. Jeżeli optymalna ścieżka Hamiltona w grafie G ma wage wie ksza od 3K, to nie ma optymalnej ścieżki Hamiltona mie dzy wierzcho lkami v 1 i v 2 w grafie G. Twierdzenie 7.5. Niech graf G dany be dzie macierza wag W = [w ij ]. Utwórzmy z grafu G nowy graf G poprzez dodanie dwóch nowych wierzcho lków u i v po la czonych ze wszystkimi wierzcho lkami grafu G dziami o identycznej wadze w. Wówczas rozwia zanie zadania B (znalezienie optymalnej ścieżki Hamiltona mie dzy wierzcho lkami u i v) dla grafu G jest rozwia zaniem zadania A dla grafu G.
33 30 SEMESTR ZIMOWY 2004/2005 Twierdzenie 7.6. (nagradzanie i karanie wierzcho lków) Niech graf G dany be dzie macierza wag W = [w ij ], a graf G macierza wag W = [w ij ], gdzie w ij = w ij + p(i) + p(j), gdzie p( ) jest dowolnym wektorem n wymiarowym (n = V (G) ) liczb rzeczywistych. Wówczas rozwia zanie zadania B dla grafu G jednoznacznie wyznacza rozwia zanie zadania B (dla tych samych wierzcho lków końcowych ścieżki Hamiltona) dla grafu G. Znajdujemy optymalne drzewo rozpie te za pomoca algorytmu Kruskala. Jeżeli uzyskane optymalne drzewo jest ścieżka, to STOP. W przeciwnym razie korzystaja c z Twierdzenia 6.6 nagradzamy wierzcho lki stopnia 1 stosuja c p( ) ujemne (z wyja tkiem dwóch ustalonych maja cych być końcami optymalnej ścieżki H Zadanie B) karzemy wierzcho lki stopnia > 2 stosuja c p( ) dodatnie. Powtarzamy procedure dla otrzymanego grafu G Przyk lad. Wyznaczyć za pomoca algorytmu karania i nagradzania wierzcho lków optymalna ścieżke Hamiltona mie dzy wierzcho lkami 8 i 9 w grafie o macierzy wag: W =
TEORIA GRAFÓW. MATERIA LY VI. semestr letni 2013/2014. Jerzy Jaworski. Typeset by AMS-TEX
TEORIA GRAFÓW. MATERIA LY VI. semestr letni 2013/2014. Jerzy Jaworski 20 Typeset by AMS-TEX 8. GRAFY PLANARNE. 8.1. Grafy p laskie i planarne. TEORIA GRAFÓW. MATERIA LY VI. 21 Mówimy, że graf jest uk ladalny
13 Zastosowania Lematu Szemerédiego
13 Zastosowania Lematu Szemerédiego 13.1 Twierdzenie Erdősa-Stone a (Rozdzia ly 7.1 i 7.5 podre cznika) Jednym z g lównych zagadnień ekstremalnej teorii grafów jest wyznaczenie parametru ex(n, H) = max{
FUNKCJE LICZBOWE. x 1
FUNKCJE LICZBOWE Zbiory postaci {x R: x a}, {x R: x a}, {x R: x < a}, {x R: x > a} oznaczane sa symbolami (,a], [a, ), (,a) i (a, ). Nazywamy pó lprostymi domknie tymi lub otwartymi o końcu a. Symbol odczytujemy
Matematyczne 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ą
WYŻ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
5. Najkrótsze ścieżki
p. Definicja 5. Najkrótsze ścieżki 5.1 Odległości w grafach: definicje i własności (Długość ścieżki). Długościa ścieżki nazywamy liczbę krawędzi występujacych w tej ścieżce. Bardziej formalnie, jeżeli
P (x, y) + Q(x, y)y = 0. g lym w obszrze G R n+1. Funkcje. zania uk ladu (1) o wykresie przebiegaja
19. O ca lkach pierwszych W paragrafie 6 przy badaniu rozwia zań równania P (x, y) + Q(x, y)y = 0 wprowadzono poje cie ca lki równania, podano pewne kryteria na wyznaczanie ca lek równania. Znajomość ca
KOMBINATORYKA 1 WYK LAD 9 Zasada szufladkowa i jej uogólnienia
KOMBINATORYKA 1 WYK LAD 9 Zasada szufladkowa i jej uogólnienia 18 grudnia 2006 Zasada szufladkowa, zwana też zasada Dirichleta, a w jez. ang.,,pigeonhole Principle może być sformu lowana naste puja co.
Algorytmiczna 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)
TEORIA 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
PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH
PODSTAWOWE W LASNOŚCI DZIA LAŃ I NIERÓWNOŚCI W ZBIORZE LICZB RZECZYWISTYCH W dalszym cia gu be dziemy zajmować sie g lównie w lasnościami liczb rzeczywistych, funkcjami określonymi na zbiorach z lożonych
Graf. 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
Struktury 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
Suma 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
Matematyka 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)),
Teoria 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
MATEMATYKA 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
2. PRZELICZANIE OBIEKTÓW KOMBINATORYCZNYCH
2. PRZELICZANIE OBIEKTÓW KOMBINATORYCZNYCH Typeset by AMS-TEX 2. PRZELICZANIE OBIEKTÓW KOMBINATORYCZNYCH 7 Zasada bijekcji. Jeżeli istnieje bijekcja f : A B, tj. f jest funkcja różnowartościowa i,,na (tzn.
Digraf. 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,
Przykł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
Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?
DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru
Matematyka 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
Poró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
Zofia 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
Algorytmy 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
Sortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
Wyk lad 5 W lasności wyznaczników. Macierz odwrotna
Wyk lad 5 W lasności wyznaczników Macierz odwrotna 1 Operacje elementarne na macierzach Bardzo ważne znaczenie w algebrze liniowej odgrywaja tzw operacje elementarne na wierszach lub kolumnach macierzy
Wyk lad 9 Baza i wymiar przestrzeni liniowej
Wyk lad 9 Baza i wymiar liniowej Baza liniowej Niech V bedzie nad cia lem K Powiemy, że zbiór wektorów {α,, α n } jest baza V, jeżeli wektory α,, α n sa liniowo niezależne oraz generuja V tzn V = L(α,,
c a = a x + gdzie = b 2 4ac. Ta postać wielomianu drugiego stopnia zwana jest kanoniczna, a wyrażenie = b 2 4ac wyróżnikiem tego wielomianu.
y = ax 2 + bx + c WIELOMIANY KWADRATOWE Zajmiemy sie teraz wielomianami stopnia drugiego, zwanymi kwadratowymi. Symbol w be dzie w tym rozdziale oznaczać wielomian kwadratowy, tj. w(x) = ax 2 + bx + c
Wzory Viete a i ich zastosowanie do uk ladów równań wielomianów symetrycznych dwóch i trzech zmiennych
Wzory Viete a i ich zastosowanie do uk ladów równań wielomianów symetrycznych dwóch i trzech zmiennych Pawe l Józiak 007-- Poje cia wste pne Wielomianem zmiennej rzeczywistej t nazywamy funkcje postaci:
KOMBINATORYKA 1 WYK LAD 10 Zbiory cze
KOMBINATORYKA 1 WYK LAD 10 Zbiory cze ściowo uporza dkowane 17 maja 2012 W rozdziale tym omówimy jedno z fundamentalnych poje ć kombinatoryki, jakim jest zbiór cze ściowo uporza dkowany. Pokażemy w jaki
a) 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
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
Wyk lad 7 Baza i wymiar przestrzeni liniowej
Wyk lad 7 Baza i wymiar przestrzeni liniowej 1 Baza przestrzeni liniowej Niech V bedzie przestrzenia liniowa. Powiemy, że podzbiór X V jest maksymalnym zbiorem liniowo niezależnym, jeśli X jest zbiorem
Pojȩcie przestrzeni metrycznej
ROZDZIA l 1 Pojȩcie przestrzeni metrycznej Definicja 1.1. Dowolny niepusty zbiór X z funkcja ρ : X X [0, ), spe lniaja ca naste puja ce trzy warunki M1: ρ(x, y) = 0 x = y, M2: ρ(x, y) = ρ(y, x), M3: ρ(x,
Wyk lad 9 Baza i wymiar przestrzeni liniowej
Wyk lad 9 Baza i wymiar przestrzeni liniowej 1 Operacje elementarne na uk ladach wektorów Niech α 1,..., α n bed dowolnymi wektorami przestrzeni liniowej V nad cia lem K. Wyróżniamy nastepuj ace operacje
Algebra i jej zastosowania ćwiczenia
Algebra i jej zastosowania ćwiczenia 14 stycznia 2013 1 Kraty 1. Pokazać, że każda klasa kongruencji kraty (K, +, ) jest podkrata kraty (K, +, ). 2. Znaleźć wszystkie kongruencje kraty 2 3, gdzie 2 jest
Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego
Wyk lad 8 Rzad macierzy i twierdzenie Kroneckera-Capellego 1 Określenie rz edu macierzy Niech A bedzie m n - macierza Wówczas wiersze macierzy A możemy w naturalny sposób traktować jako wektory przestrzeni
Algebra liniowa z geometria. - zadania Rok akademicki 2010/2011
1 GEOMETRIA ANALITYCZNA 1 Wydział Fizyki Algebra liniowa z geometria - zadania Rok akademicki 2010/2011 Agata Pilitowska i Zbigniew Dudek 1 Geometria analityczna 1.1 Punkty i wektory 1. Sprawdzić, czy
Ogó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,
Podstawowe 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).
Dziedziny Euklidesowe
Dziedziny Euklidesowe 1.1. Definicja. Dziedzina Euklidesowa nazywamy pare (R, v), gdzie R jest dziedzina ca lkowitości a v : R \ {0} N {0} funkcja zwana waluacja, która spe lnia naste ce warunki: 1. dla
Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 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
Reprezentacje 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
Matematyka 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
Funkcja może mieć lokalne ekstrema jedynie w punktach, w których jej gradient, czyli wektor f = grad f = [ f
Matematyka A, egzamin, 7 czerwca 005 rozwia zania Mam nadzieje, że nie ma tu b le dów poza jakimiś literówkami, od których uwolnić sie jest bardzo trudno. Zache cam do obejrzenia rozwia zań zadań z egzaminu
g liczb rzeczywistych (a n ) spe lnia warunek
. Czy jest prawda, że a) R y R z R y + yz + = 0 ; b) R y R z R y + yz + 0 ; c) R y R z R y + yz + = 0 ; d) R y R z R y + yz + 0? 2. Czy jest prawdziwa nierówność a) ctg > ; b) tg < cos ; c) cos < sin ;
MATEMATYKA DYSKRETNA (MAT 182) semestr letni 2002/2003. Typeset by AMS-TEX
MATEMATYKA DYSKRETNA (MAT 182) semestr letni 2002/2003 Typeset by AMS-TEX MATEMATYKA DYSKRETNA (MAT 182) 1 LITERATURA PODSTAWOWA I UZUPE LNIAJA CA V Bryant, Aspekty kombinatoryki, WNT - Warszawa, 1997
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.
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ą
5. Obliczanie pochodnych funkcji jednej zmiennej
Kiedy może być potrzebne numeryczne wyznaczenie pierwszej lub wyższej pochodnej funkcji jednej zmiennej? mamy f(x), nie potrafimy znaleźć analitycznie jej pochodnej, nie znamy postaci f(x), mamy stablicowane
Grafy (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
Matematyczne 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
ROZDZIA l 13. Zbiór Cantora
ROZDZIA l 3 Zbiór Cantora Jednym z najciekawszych i najcze ściej spotykanych w matematyce zbiorów jest zbiór Cantora W tym rozdziale opiszemy jego podstawowe w lasności topologiczne Najprościej można go
TEORETYCZNE 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
DZYSZKOLNE ZAWODY MATEMATYCZNE. Eliminacje rejonowe. Czas trwania zawodów: 150 minut
XLIII MIE DZYSZKOLNE ZAWODY MATEMATYCZNE Eliminacje rejonowe Czas trwania zawodów: 150 minut Każdy uczeń rozwia zuje dwadzieścia cztery zadania testowe, w których podano za lożenia oraz trzy (niekoniecznie
Drzewa podstawowe poj
Drzewa podstawowe poj ecia drzewo graf reprezentujacy regularna strukture wskaźnikowa, gdzie każdy element zawiera dwa lub wiecej wskaźników (ponumerowanych) do takich samych elementów; wez ly (albo wierzcho
TEORIA 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
TEORIA 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
Zliczanie n = n(n+1) n 2 = n(n+1)(2n+1). 6 Wyprowadź w podobny sposób wzory na sume
Zliczanie 1. Podaj interpretacje kombinatoryczna wzoru 1+2+3+...+n = n(n+1) 2 ( ) n+1 =. 2 2. Na p laszczyźnie mamy n prostych takich, że żadne dwie nie sa równoleg le i żadne trzy nie przecinaja sie w
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 8 1 / 39 Plan wykładu
Wykł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ą
2a )2 a b2. = 2 4a ====== x + b. nawias
Wielomiany kwadratowe Wielomian a + + c nazywamy kwadratowym lu wielomianem drugiego stopnia, jeśli a jest licza różna od 0. W dalszym cia gu zak ladamy, że a i a 0. Możemy napisać a + + c = a ( + a )
Algorytm 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
G. Wybrane elementy teorii grafów
Dorota Miszczyńska, Marek Miszczyński KBO UŁ Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów Grafy są stosowane współcześnie w różnych działach nauki i techniki. Za pomocą grafów znakomicie
Wyk lad 4 Macierz odwrotna i twierdzenie Cramera
Wyk lad 4 Macierz odwrotna i twierdzenie Cramera 1 Odwracanie macierzy I n jest elementem neutralnym mnożenia macierzy w zbiorze M n (R) tzn A I n I n A A dla dowolnej macierzy A M n (R) Ponadto z twierdzenia
Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie 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 3. Spójność grafu,
6a. Grafy eulerowskie i hamiltonowskie
6a. Grafy eulerowskie i hamiltonowskie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny6a. w Krakowie) Grafy eulerowskie i hamiltonowskie
WYŻ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
13. Cia la. Rozszerzenia cia l.
59 13. Cia la. Rozszerzenia cia l. Z rozważań poprzedniego paragrafu wynika, że jeżeli wielomian f o wspó lczynnikach w ciele K jest nierozk ladalny, to pierścień ilorazowy K[X]/(f) jest cia lem zawieraja
ep do obliczeniowej biologii molekularnej (J. Tiuryn, wykĺady nr. 12 i 13; 25 stycznia 2006) 8 Konstrukcja drzew filogenetycznych
Wst ep do obliczeniowej biologii molekularnej (J. Tiuryn, wykĺady nr. 2 i 3; 25 stycznia 2006) Spis treści 8 Konstrukcja drzew filogenetycznych 82 8. Metoda UPGMA......................... 82 8.2 Metoda
Egzamin, 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ł
Zł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.
Pierścienie grupowe wyk lad 3. lewych podmodu lów prostych. Ogólniej, aby roz lożyć dany pierścień na sume. prosta
Pierścienie rupowe wyk lad 3 Już wiemy, że alebre rupowa CG skończonej rupy G można roz lożyć na sume lewych podmodu lów prostych Oólniej, aby roz lożyć dany pierścień na sume prosta jeo dwóch podmodu
operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Wyk lad 2 Podgrupa grupy
Wyk lad 2 Podgrupa grupy Definicja 2.1. Pod grupy (G,, e) nazywamy taki podzbiór H G, że e H, h 1 H dla każdego h H oraz h 1 h 2 H dla dowolnych h 1, h 2 H. Jeśli H jest grupy G, to bedziemy pisali H G.
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 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
Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej
Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej 27-28/10/09 ZBIORY MIERZALNE WZGLȨDEM MIARY ZEWNȨTRZNEJ Niech µ bȩdzie miar
Luty 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
Algorytmy 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
Droga 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
Matematyka A, egzamin, 17 czerwca 2005 rozwia zania
Matematyka A, egzamin, 7 czerwca 00 rozwia zania Mam nadzieje, że nie ma tu b le dów poza jakimiś literówkami, od których uwolnić sie trudno. Zache cam do obejrzenia rozwia zań zadań z egzaminu dla matematyki
Matematyka 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
Pisemny egzamin dyplomowy. na Uniwersytecie Wroc lawskim. na kierunku matematyka. zadania testowe. 22czerwca2009r. 60 HS-8-8
EGZAMIN DYPLOMOWY, cze ść I (testowa) 22.06.2009 INSTRUKCJE DOTYCZA CE WYPE LNIANIA TESTU 1. Nie wolno korzystać z kalkulatorów. 2. Sprawdzić, czy wersja testu podana na treści zadań jest zgodna z wersja
Dzia lanie grupy na zbiorze. Twierdzenie Sylowa
Dzia lanie grupy na zbiorze. Twierdzenie Sylowa Niech G be dzie dowolna grupa, zaś X zbiorem. 1. Definicja. Dzia laniem grupy G na zbiorze X nazywamy funkcje µ: G X X, µ(g, x) = g x, spe lniaja ca dwa
Algorytmy 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
Opracowanie 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
c ze wzoru dwumianowego Newtona obliczyć sumy: a) 3 2 obliczyć wartości wyrazów będa cych liczbami ca lkowitymi,
3 Korzystaja c ze wzoru dwumianowego Newtona obliczyć sumy: a) n ( n n k) ; b) 4 W rozwinie ciu dwumianowym: ( 4 a) ) 1, 3 2 obliczyć wartości wyrazów będa cych liczbami ca lkowitymi, ( ) b) 3 13, 5 +
Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.
Grafy dla każdego dr Krzysztof Bryś brys@mini.pw.edu.pl Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska www.mini.pw.edu.pl Warszawa, 28 marca 2015 Graf składa się z elementów pewnego zbioru
celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n
123456789 wyk lad 9 Zagadnienie transportowe Mamy n punktów wysy lajacych towar i t punktów odbierajacych. Istnieje droga od każdego dostawcy do każdego odbiorcy i znany jest koszt transportu jednostki
Zagadnienie 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
Elementy teorii grafów Elementy teorii grafów
Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę
Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika
Wyk lad 4 Dzia lania na macierzach Określenie wyznacznika 1 Określenie macierzy Niech K bedzie dowolnym cia lem oraz niech n i m bed a dowolnymi liczbami naturalnymi Prostokatn a tablice a 11 a 12 a 1n
Matematyka 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
Matematyka 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
Algebra i jej zastosowania konspekt wyk ladu, czȩść druga
Algebra i jej zastosowania konspekt wyk ladu, czȩść druga Anna Romanowska January 29, 2016 4 Kraty i algebry Boole a 41 Kraty zupe lne Definicja 411 Zbiór uporza dkowany (P, ) nazywamy krata zupe lna,
E ' 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
MATEMATYKA 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
Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera
Wyk lad 7 Metoda eliminacji Gaussa Wzory Cramera Metoda eliminacji Gaussa Metoda eliminacji Gaussa polega na znalezieniu dla danego uk ladu a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x n =
Kolorowanie 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