Bez tytułu slajdu
Transkrypt
Bez tytułu slajdu
DIGRAFY Q Digraf ( V(D), A(D) ) V(D) - zbiór wierzchołków A(D) - skończona rodzina uporządkowanych par elementów zbioru V(D) – łuki P T R S Szkielet digrafu D - graf otrzymany z D po usunięciu „strzałek” Digraf prosty - gdy wszystkie łuki są parami różne i nie ma pętli Dwa wierzchołki v i w digrafu D są sąsiednie, sąsiednie gdy w rodzinie A(D) istnieje łuk postaci vw lub wv. Wierzchołki v i w są incydentne z takim łukiem. Dwa digrafy są izomorficzne, izomorficzne jeżeli istnieje izomorfizm ich szkieletów zachowujący kolejność wierzchołków w każdym łuku. u v u z v w z w Nie są izomorficzne. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut 1 Trasa w digrafie D – skończony ciąg łuków v0 → v1 → v2 → ... → vn Podobnie definicja – ścieżka, droga, cykl Ścieżka – trasa, w której wszystkie łuki są różne. Droga – ścieżka, w której wszystkie wierzchołki są różne. Ścieżka lub droga są zamknięte, zamknięte gdy v0 = vm. Cykl – droga zamknięta zawierającą przynajmniej jeden łuk. Ale: chociaż ścieżka nie może zawierać danego łuku więcej niż jeden raz, to może zawierać oba łuki vw i wv. Ścieżka: u v z z→ w→v→w→u w Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut 2 Stopnie wierzchołków r Stopień wyjściowy wierzchołka v d (v ) - liczba łuków postaci vw. s Stopień wejściowy wierzchołka v d (v ) - liczba łuków postaci wv. outdeg(v) indeg(v) Suma stopni wyjściowych wszystkich wierzchołków D jest równa sumie ich stopni wejściowych. u Źródło digrafu D - wierzchołek o stopniu wejściowym równym 0. Ujście digrafu D- wierzchołek o stopniu wyjściowym równym 0. v w Digraf jest spójny (słabo spójny) spójny): • jeżeli nie może być przedstawiony w postaci sumy dwóch rozłącznych digrafów • szkielet digrafu jest spójny Digraf jest silnie spójny: spójny dla dwóch dowolnych wierzchołków v i w digrafu D istnieje droga z v do w. u u w v spójny Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut w v silnie spójny 3 Macierz incydencji Digraf D ma n wierzchołków i m łuków Macierz M wymiaru n x m ⎧ 1 gdy j-ta krawędź jest incydentna z i-tego wierzchołka ⎪ mij = ⎨ − 1 gdy j-ta krawędź jest incydentna w i-ty wierzchołek ⎪ 0 gdy j-ta krawędź nie jest incydentna z i-tym wierzchołkiem ⎩ v1 e1 0 0 0 0⎤ ⎡ 1 0 ⎢− 1 1 1 0 0 0⎥ ⎢ ⎥ 1 0 0⎥ ⎢ 0 −1 0 ⎢ ⎥ 0 −1 −1 1 − 1⎥ ⎢ 0 ⎢⎣ 0 0 0 0 −1 1⎥⎦ e6 e3 v4 v2 e4 e2 v5 e5 v3 Macierz przyległości (Macierz sąsiedztwa, przejść, relacji, poprzedników) D - digraf o n wierzchołkach X =[xij]nxn xij = liczba łuków od i-tego wierzchołka do j-tego wierzchołka v1 e1 e6 e3 v4 v2 e2 e4 v3 Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut e5 v5 ⎡0 ⎢0 ⎢ ⎢0 ⎢ ⎢0 ⎢⎣0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0⎤ 0⎥ ⎥ 0⎥ ⎥ 1⎥ 0⎥⎦ 4 • Niezerowy element na przekątnej reprezentuje pętlę • Dwa digrafy są izomorficzne wtedy i tylko wtedy, gdy ich macierze przyległości różnią się jedynie przestawionymi wierszami połączonymi z przestawieniem odpowiadających kolumn. • Jeśli X jest macierzą przyległości digrafu D, to macierz transponowana XT jest macierzą przyległości digrafu otrzymanego przez zmianę kierunku każdego łuku D. Graf G jest orientowalny, orientowalny jeśli każdą jego krawędź można skierować tak, by otrzymany digraf był silnie spójny. Dowolny graf eulerowski jest orientowalny (idąc wzdłuż cyklu Eulera możemy orientować krawędzie zgodnie z kierunkiem, w jaki je przechodzimy). Twierdzenie: Niech G graf spójny. Graf G jest orientowalny wtedy i tylko wtedy, gdy każda krawędź grafu G jest zawarta w co najmniej jednym cyklu. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut 5 Digrafy eulerowskie Digraf spójny D jest eulerowski, eulerowski jeżeli istnieje ścieżka zamknięta zawierająca każdy łuk digrafu D. digraf eulerowski u v Szkielet jest grafem eulerowskim. Digraf nie jest eulerowski. w Digrafy eulerowskie Warunkiem koniecznym jest, aby digraf był silnie spójny. W digrafie eulerowskim nie ma źródeł ani ujść. Twierdzenie: Digraf spójny jest digrafem eulerowskim wtedy i tylko wtedy, gdy dla każdego wierzchołka v digrafu D zachodzi: r s d (v) = d (v ) Definicja: Digraf nazywamy półeulerowskim, półeulerowskim gdy nie jest digrafem eulerowskim oraz jeżeli istnieje ścieżka zawierająca każdy łuk digrafu. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut 6 Digrafy hamiltonowskie Digraf D nazywamy hamiltonowskim, hamiltonowskim jeżeli istnieje cykl zawierający każdy wierzchołek D. Digraf D nazywamy półhamiltonowskim, półhamiltonowskim gdy istnieje droga przechodząca przez każdy wierzchołek D. Turnieje Turniej - digraf, w którym każde dwa wierzchołki są połączone dokładnie jednym łukiem. Turnieje mogą mieć źródła i ujścia → na ogół nie są digrafami hamiltonowskimi. Twierdzenie: (a) Każdy turniej nie będący digrafem hamiltonowskim jest półhamiltonowski. (b) Każdy turniej silnie spójny jest hamiltonowski. W dowolnym turnieju z udziałem n graczy można przyporządkować graczom etykiety p1, p2, ... , pn tak, że p1 pokonał p2, p2 pokonał p3, ... , pn-1 pokonał pn. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut 7 Porównania parami Wymaga się uszeregowania pewnej liczby obiektów przez porównanie dokonywane za każdym razem na tylko dwóch obiektach. Po ⎛ n⎞ wykonaniu ⎜⎜⎝ 2 ⎟⎟⎠ porównań ustawia się n obiektów w porządku ich „preferencji”. Np. uszeregować sześć różnych potraw dla psów. Każdego dnia podawano psu dwa z przysmaków, a pies ustalał wyższość jednego nad drugim (zgodnie z tym, który talerz opróżnił najpierw). 1 ( 1, 3 ) ( 2, 5, 6 ) ( 4 ) 2 3 6 5 Ustawienie w drogę Hamiltona tak, że każdy posiłek (gracz) pokonał następnego: np. 1 3 2 5 6 4 lub 1 3 5 6 2 4 4 W turnieju z udziałem n graczy 1, 2, ... , n niech bi oznacza liczbę graczy pokonanych przez gracza i. Wówczas b1, b2, ... , bn są wynikami turnieju. Twierdzenie: Niech b1, b2, ... , bn będą liczbami całkowitymi. Liczby te są wynikami turnieju z udziałem n graczy wtedy i tylko wtedy, gdy: n (i) b1 + b2 + L + bn = ⎛⎜⎜ ⎞⎟⎟ oraz ⎝2⎠ (ii) dla 1≤ r ≤ n każde r spośród liczb sumuje się do co najmniej Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut ⎛r⎞ ⎜⎜ 2 ⎟⎟ ⎝ ⎠ 8 Przykład: Który z następujących ciągów może być wektorem wyników turnieju sześciu graczy? A) 4, 4, 4, 2, 1, 1 B) 5, 3, 3, 2, 1, 1 C) 5, 4, 4, 1, 1, 0 (5) A) nie, bo 4 + 4 + 4 + 2 + 1 + 1 = 16 (3) (3) (1) B) (2) (1) C) 5 + 4 + 4 + 1 + 1 + 0 = 15 Ale: rozważmy przebieg gier dla trzech graczy, dla których wyniki 1, 1, 0. Zagrają między sobą 3 gry, czyli trzy zwycięstwa muszą być rozdzielone między nich, a 1 + 1 + 0 < 3 Przepływy w sieciach x digraf z wagami 4 v 2 4 1 3 2 w y 1 2 4 z Każdemu łukowi a przypisujemy nieujemną liczbę ψ(a) przepustowość outdeg(v) - suma przepustowości łuków postaci vw. indeg(v) - suma przepustowości łuków postaci wv. Zakładamy, że digraf ma dokładnie jedno źródło i jedno ujście. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut 9 Przepływ w sieci - funkcja ϕ, która przypisuje każdemu łukowi a nieujemną liczbę ϕ(a), nazywaną przepływem wzdłuż łuku a tak, by: (1) dla każdego łuku zachodziła nierówność ϕ( a ) ≤ ψ ( a ) (2) stopień wejściowy i wyjściowy przepływu dla każdego wierzchołka różnego od źródła i ujścia były równe. Łuk a, dla którego zachodzi ϕ( a ) = ψ( a ) nazywamy nasyconym. nasyconym Wartość przepływu - suma przepływów wzdłuż łuków wchodzących do wierzchołka ujścia = suma przepływów wzdłuż łuków wychodzących z wierzchołka źródła Przekrój - zbiór łuków A taki, że każda droga z v do w musi przechodzić przez pewien łuk należący do A. Przepustowość przekroju - suma przepustowości łuków należących do tego przekroju Przekrój minimalny - przekrój o najmniejszej przepustowości x 4 v 1 3 2 w y 1 Przekrój minimalny - łuki: 2 4 2 4 z Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut vz, xz, yz, xw Przepustowość: 1+1+2+2=6 10 Przepływ maksymalny? Wartość dowolnego przepływu nie może przekroczyć przepustowości żadnego przekroju. Twierdzenie (Forda, Fulkersona, 1955): W każdej sieci wartość dowolnego przepływu maksymalnego jest równa przepustowości dowolnego przekroju minimalnego. Algorytmy poszukiwania przepływów maksymalnych polegają głównie na tworzeniu dróg powiększających przepływ. Drogi składają się z łuków nienasyconych xz i łuków zx mających 5 s t niezerowy przepływ. Na początku bierzemy przepływ zerowy. Następnie konstruujemy drogi powiększające przepływ: v → s → t → w, wzdłuż której możemy zwiększyć przepływ o 2. 2 v 1 2 3 1 w 2 3 x z 2 1 4 1 y u Potem v → x → z → w, wzdłuż której możemy zwiększyć przepływ o 2. Wreszcie v → u → z → w, wzdłuż której możemy zwiększyć przepływ o 1. Otrzymany przepływ o wartości 5. s 2 v 0 2 x t 2 2 0 z 1 1 1 1 u Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut w 2 1 y 11 Problem dróg krytycznych Dotyczy szeregowania zadań. Sieć zdarzeń, w którym każdy łuk ma przypisaną wagę - np. czas wykonania zadania. (Digraf acykliczny) W czasie, gdy przesuwamy się w digrafie z lewa na prawo, wiążemy z wierzchołkiem v liczbę l(v) wskazującą długość najdłuższej drogi z A do v. A 0 B l(A) + 3 = 3 C l(A) + 2 = 2 D l(B) + 2 = 5 E max{l(A) + 9, l(B) + 4, l(C) + 6} = 9 B D G J F l(C) + 9 = 11 G max{l(D) + 3, l(E) + 1} = 10 E H A H max{l(E) + 2, l(F) + 1} = 12 I l(F) + 2 = 13 J max{l(D) + 3, l(E) + 1} = 10 K C I F K max{l(H) + 6, l(I) + 2} = 18 L max{l(H) + 9, l(J) + 5, l(K) + 3} = 22 droga krytyczna Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut L 12