Maksymalne skojarzenia przy pomocy eliminacji Gaussa

Podobne dokumenty
Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

Skojarzenia w grafach

Znajdowanie skojarzeń na maszynie równoległej

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

Zastosowania wyznaczników

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2017

Analiza matematyczna i algebra liniowa Macierze

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Wykład 5. Metoda eliminacji Gaussa

Macierze. Rozdział Działania na macierzach

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14

1. Liczby zespolone i

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Układy równań i nierówności liniowych

Sortowanie topologiczne skierowanych grafów acyklicznych

Wykład 8. Drzewo rozpinające (minimum spanning tree)

1 Macierze i wyznaczniki

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

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

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

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

2. Układy równań liniowych

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

3. Macierze i Układy Równań Liniowych

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Układy równań liniowych i metody ich rozwiązywania

MACIERZE I WYZNACZNIKI

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Digraf. 13 maja 2017

Układy równań liniowych

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

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Procesy stochastyczne

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Obliczenia naukowe Wykład nr 8

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Kolorowanie wierzchołków

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

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

1 Macierz odwrotna metoda operacji elementarnych

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

5. Rozwiązywanie układów równań liniowych

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

O MACIERZACH I UKŁADACH RÓWNAŃ

Grafy i macierze. Tomasz LENARCIK, Kraków. Zacznijmy od przykładu. Załóżmy, że ξ jest liczbą algebraiczną spełniającą równanie postaci

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

φ(x 1,..., x n ) = a i x 2 i +

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

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

13 Układy równań liniowych

Wektory i wartości własne

Układy równań liniowych

7. Skojarzenia w grafach. 7.1 Definicje i twierdzenia

DB Algebra liniowa semestr zimowy 2018

Zaawansowane metody numeryczne

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Metody uporządkowania

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Własności wyznacznika

Zadania egzaminacyjne

Teoria obliczeń i złożoność obliczeniowa

Wektory i wartości własne

Algorytmy aproksymacyjne i parametryzowane

Wielomiany. dr Tadeusz Werbiński. Teoria

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Lista nr 1 - Liczby zespolone

Podstawowe struktury algebraiczne

Układy równań liniowych. Krzysztof Patan

Wyk lad 11 1 Wektory i wartości w lasne

Kolorowanie wierzchołków grafu

Wykład 7 Macierze i wyznaczniki

Matematyczne Podstawy Informatyki

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

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

Algorytmika Problemów Trudnych

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Wykład 4. Droga i cykl Eulera i Hamiltona

, A T = A + B = [a ij + b ij ].

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

Układy równań i równania wyższych rzędów

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

Zadania z egzaminów z Algorytmiki

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

Metody uporządkowania

Rozwiazywanie układów równań liniowych. Ax = b

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Ciała skończone. 1. Ciała: podstawy

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Rachunek różniczkowy i całkowy w przestrzeniach R n

3. Wykład Układy równań liniowych.

Transkrypt:

Maksymalne skojarzenia przy pomocy eliminacji Gaussa Piotr Sankowski Instytut Informatyki, Uniwersytet Warszawski - p. 1/60

Poprzednie wyniki Dotychczas usłyszeliśmy o algorytmie działajacym w czasie: O(m n) dla grafów dwudzielnych Hopcroft, Karp, - p. 2/60

Poprzednie wyniki Dotychczas usłyszeliśmy o algorytmie działajacym w czasie: O(m n) dla grafów dwudzielnych Hopcroft, Karp, Dla grafów gęstych otrzymujemy czas O(n 2.5 ). - p. 2/60

Techniki algebraiczne Techniki algebraicznie: O(n ω ) = O(n 2.38 ) testowanie i wyznaczanie liczności Lovász, - p. 3/60

Techniki algebraiczne Techniki algebraicznie: O(n ω ) = O(n 2.38 ) testowanie i wyznaczanie liczności Lovász, O(n ω+1 ) = O(n 3.38 ) znajdowanie Rabin, Vazirani. - p. 3/60

Nasze wyniki Nowa metoda oparta na eliminacji Gaussa. - p. 4/60

Nasze wyniki Nowa metoda oparta na eliminacji Gaussa. Algebraicznie algorytmy znajduj ace najliczniejsze skojarzenie w grafach: - p. 4/60

Nasze wyniki Nowa metoda oparta na eliminacji Gaussa. Algebraicznie algorytmy znajdujace najliczniejsze skojarzenie w grafach: bardzo prosty algorytm O(n 3 ), - p. 4/60

Nasze wyniki Nowa metoda oparta na eliminacji Gaussa. Algebraicznie algorytmy znajdujace najliczniejsze skojarzenie w grafach: bardzo prosty algorytm O(n 3 ), algorytm O(n ω ) = O(n 2.38 ). - p. 4/60

Nasze wyniki Nowa metoda oparta na eliminacji Gaussa. Algebraicznie algorytmy znajdujace najliczniejsze skojarzenie w grafach: bardzo prosty algorytm O(n 3 ), algorytm O(n ω ) = O(n 2.38 ). Obydwa algorytmy sa randomizowane. - p. 4/60

Plan 1. Technika Lovásza, - p. 5/60

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, - p. 5/60

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, 3. Rabin and Vazirani, - p. 5/60

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, 3. Rabin and Vazirani, 4. Eliminacja Gaussa, - p. 5/60

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, 3. Rabin and Vazirani, 4. Eliminacja Gaussa, 5. Proste algorytmy O(n 3 ), - p. 5/60

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, 3. Rabin and Vazirani, 4. Eliminacja Gaussa, 5. Proste algorytmy O(n 3 ), 6. Algorytm O(n ω ) dla grafów dwudzielnych, - p. 5/60

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, 3. Rabin and Vazirani, 4. Eliminacja Gaussa, 5. Proste algorytmy O(n 3 ), 6. Algorytm O(n ω ) dla grafów dwudzielnych, 7. Ważone skojarzenia w grafach dwudzielnych. - p. 5/60

Szybkie mnożenie macierzy Niech ω oznacza wykładnik mnożenia macierzy rozmiaru n n. - p. 6/60

Szybkie mnożenie macierzy Niech ω oznacza wykładnik mnożenia macierzy rozmiaru n n. Twierdzenie 1 (Coppersmith i Winograd 90) ω < 2.376. - p. 6/60

Szybkie mnożenie macierzy Niech ω oznacza wykładnik mnożenia macierzy rozmiaru n n. Twierdzenie 1 (Coppersmith i Winograd 90) ω < 2.376. Twierdzenie 2 (Bunch i Hopcroft 74) LU-faktoryzację macierzy można policzyć w czasie O(n ω ). - p. 6/60

Szybkie mnożenie macierzy Niech ω oznacza wykładnik mnożenia macierzy rozmiaru n n. Twierdzenie 1 (Coppersmith i Winograd 90) ω < 2.376. Twierdzenie 2 (Bunch i Hopcroft 74) LU-faktoryzację macierzy można policzyć w czasie O(n ω ). Twierdzenie 3 (Ibarra, Moran i Hui 82) Maksymalną nieosobliwą podmacierz można znaleźć w czasie O(n ω ). - p. 6/60

Symboliczna macierz sasiedztwa Symboliczna macierz sasiedztwa grafu dwudzielnego: G Ã(G) 1 1 2 2 3 3 4 4 5 5 = x 11 0 x 13 0 0 0 x 21 x 22 0 0 0 0 x 31 0 0 x 34 0 0 0 x 42 x 43 0 0 x 46 0 0 0 x 54 x 55 x 56 0 0 0 0 0 x 66 6 6 - p. 7/60

Symboliczna macierz sasiedztwa det x 11 0 x 13 0 0 0 x 21 x 22 0 0 0 0 x 31 0 0 x 34 0 0 0 x 42 x 43 0 0 x 46 0 0 0 x 54 x 55 x 56 0 0 0 0 0 x 66 = x 13 x 21 x 34 x 42 x 55 x 66 x 11 x 22 x 34 x 43 x 55 x 66. = Jednomiany wyznacznika odpowiadaj a doskonałym skojarzeniom w G. - p. 8/60

Symboliczna macierz sasiedztwa Wyznacznik jest dany przez: det(a) = p Π n σ(p) n i=1 a i,pi. - p. 9/60

Symboliczna macierz sasiedztwa Wyznacznik jest dany przez: det(a) = p Π n σ(p) n i=1 a i,pi. Niezerowy składnik tej sumy dla każdego wierzchołka i zadaje inny wierzchołek p i. - p. 9/60

Symboliczna macierz sasiedztwa Wyznacznik jest dany przez: det(a) = p Π n σ(p) n i=1 a i,pi. Niezerowy składnik tej sumy dla każdego wierzchołka i zadaje inny wierzchołek p i. Składniki sumy odpowiadaj a doskonałym skojarzeniem w grafie. - p. 9/60

Symboliczna macierz sasiedztwa Twierdzenie 4 (Tutte (1947)) det Ã(G) = 0 wttw gdy G ma doskonałe skojarzenie. - p. 10/60

Symboliczna macierz sasiedztwa Twierdzenie 4 (Tutte (1947)) det Ã(G) = 0 wttw gdy G ma doskonałe skojarzenie. Wyznacznik jest dany przez: det(a) = p Π n σ(p) n i=1 a i,pi. - p. 10/60

Symboliczna macierz sasiedztwa Twierdzenie 4 (Tutte (1947)) det Ã(G) = 0 wttw gdy G ma doskonałe skojarzenie. Wyznacznik jest dany przez: det(a) = p Π n σ(p) n i=1 a i,pi. Daje się uogólnić na grafy dowolne. - p. 10/60

Symboliczna macierz sasiedztwa Wartość det Ã(G) to wielomian n 2 zmiennych stopnia n. Może mieć wykładniczo wiele składników. - p. 11/60

Symboliczna macierz sasiedztwa Wartość det Ã(G) to wielomian n 2 zmiennych stopnia n. Może mieć wykładniczo wiele składników. Nie można go szybko wyliczyć, ale można szybko przetestować czy jest niezerowy. - p. 11/60

Pomysł Lovásza Podstaw za zmienne w Ã(G) losowe wartości i policz wyznacznik otrzymanej w ten sposób macierzy A(G) losowej macierzy sąsiedztwa. Z dużym prawdopodobieństwem det A(G) = 0 wttw det Ã(G) = 0, bo wielomiany nie maja zbyt wielu zer. - p. 12/60

Pomysł Lovásza Lemat 5 (Zippel, Schwartz) Niech f(x 1,..., x k ) będzie wielomianem stopnia d nad ciałem F. Liczba zer f w F k jest nie większa niż d F F k. - p. 13/60

Pomysł Lovásza Lemat 5 (Zippel, Schwartz) Niech f(x 1,..., x k ) będzie wielomianem stopnia d nad ciałem F. Liczba zer f w F k jest nie większa niż d F F k. Niech F = Z p dla liczby pierwszej p = Θ(n 1+c ). Operacje w Z p wykonujemy w czasie stałym - p. 13/60

Pomysł Lovásza Lemat 5 (Zippel, Schwartz) Niech f(x 1,..., x k ) będzie wielomianem stopnia d nad ciałem F. Liczba zer f w F k jest nie większa niż d F F k. Niech F = Z p dla liczby pierwszej p = Θ(n 1+c ). Operacje w Z p wykonujemy w czasie stałym Prawdopodobieństwo otrzymania fałszywego zera jest O( 1 n c ). - p. 13/60

Pomysł Lovásza Algorytm O(n ω ) (Monte Carlo) testujacy, czy graf G ma doskonałe skojarzenie: podstaw pod zmienne w Ã(G) losowe elementy Z P niech A(G) będzie otrzymana macierza if det A(G) <> 0 then return TAK else return NIE - p. 14/60

Pomysł Lovásza Algorytm O(n ω+2 ) (Monte Carlo) znajdujacy w G doskonałe skojarzenie: M := for e E do if G e ma doskonałe skojarzenie then usuń e wraz z końcami z G dodaj e do M - p. 15/60

Maksymalne skojarzenia Twierdzenie 6 (Lovász (79)) Niech m będzie rozmiarem najliczniejszego skojarzenia w G, wtedy rank(ã(g)) = m. - p. 16/60

Maksymalne skojarzenia Twierdzenie 6 (Lovász (79)) Niech m będzie rozmiarem najliczniejszego skojarzenia w G, wtedy rank(ã(g)) = m. Rangę Ã(G) można policzyć w czasie O(n ω ). - p. 16/60

Maksymalne skojarzenia Twierdzenie 6 (Lovász (79)) Niech m będzie rozmiarem najliczniejszego skojarzenia w G, wtedy rank(ã(g)) = m. Rangę Ã(G) można policzyć w czasie O(n ω ). Niech M będzie skojarzeniem wtedy z twierdzenia Tutte à V(M),V(M) (G) jest nieosobliwa rank(ã(g)) m. - p. 16/60

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). - p. 17/60

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). Wyznacznik à X,Y jest niezerowy. - p. 17/60

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). Wyznacznik à X,Y jest niezerowy. Istnieje w det(ã X,Y ) niezerowa permutacja p. - p. 17/60

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). Wyznacznik à X,Y jest niezerowy. Istnieje w det(ã X,Y ) niezerowa permutacja p. p zadaje skojarzenie więc rank(ã(g)) m. - p. 17/60

Algorytm Rabina i Vaziraniego A 1 i,j = ( 1) i+j det A j,i / det A, gdzie A j,i to A z usuniętym j-tym wierszem i i-ta kolumna. - p. 18/60

Algorytm Rabina i Vaziraniego A 1 i,j = ( 1) i+j det A j,i / det A, gdzie A j,i to A z usuniętym j-tym wierszem i i-ta kolumna. Jeżeli G to graf dwudzielny to, wtedy A j,i = A(G {u j, v i }). - p. 18/60

Algorytm Rabina i Vaziraniego A 1 i,j = ( 1) i+j det A j,i / det A, gdzie A j,i to A z usuniętym j-tym wierszem i i-ta kolumna. Jeżeli G to graf dwudzielny to, wtedy A j,i = A(G {u j, v i }). Macierz A(G) 1 koduje które krawędzie w G s a dozwolone, tj. zawarte w pewnym doskonałym skojarzeniu. - p. 18/60

Algorytm Rabina i Vaziraniego Algorytm O(n ω+1 ) = O(n 3.38 ) (Monte Carlo) na znajdowanie doskonałego skojarzenia w G: M := while G niepusty do policz A 1 (G) znajdź dozwolona krawędź e E usuń e wraz z końcami z G dodaj e do M - p. 19/60

Eliminacja Gaussa Twierdzenie 7 (Twierdzenie o eliminacji) Niech ( ) ( ) a1,1 v A = T, A 1 â1,1 ˆv = T u B û ˆB, gdzie â 1,1 = 0. Wtedy B 1 = ˆB û ˆv T /â 1,1. Jest to pojedynczy krok algorytmu eliminacji Gaussa. - p. 20/60

Algorytm O(n 3 ) Algorytm Monte Carlo znajdujacy doskonałe skojarzenie w danym grafie G w czasie O(n 3 ): M := oblicz A 1 (G) while G non-empty do znajdź dozwolona krawędź e E usuń e wraz z końcami z G dodaj e do M uaktualnij A 1 (G) używajac eliminacji Gaussa - p. 21/60

Leniwe obliczenia u 1 v T 1 +...+u k v T k = u 1... u k v T 1. v T k - p. 22/60

Eliminacja bez zamian Algorytm wykonujacy eliminację Gaussa bez zamian wierszy ani kolumn w czasie O(n ω ). for i := 1 to n do leniwie eliminuj i-ty wiersz i i-ta kolumnę niech k będzie takie, że 2 k i, ale 2 k+1 i uaktualnij wiersze i kolumny o numerach i + 1,..., i + 2 k - p. 23/60

Eliminacja bez zamian W każdym kroku wykonujemy mnożenie macierzy n 2 k przez macierz 2 k 2 k w czasie (n/2 k )(2 k ) ω = n2 k(ω 1). - p. 24/60

Eliminacja bez zamian W każdym kroku wykonujemy mnożenie macierzy n 2 k przez macierz 2 k 2 k w czasie (n/2 k )(2 k ) ω = n2 k(ω 1). Konkretna wartość k pojawia się n/2 k razy, a zatem obliczenia dla ustalonego k wymagaja czasu n 2 2 k(ω 2) = n 2 (2 ω 2 ) k. - p. 24/60

Eliminacja bez zamian W każdym kroku wykonujemy mnożenie macierzy n 2 k przez macierz 2 k 2 k w czasie (n/2 k )(2 k ) ω = n2 k(ω 1). Konkretna wartość k pojawia się n/2 k razy, a zatem obliczenia dla ustalonego k wymagaja czasu n 2 2 k(ω 2) = n 2 (2 ω 2 ) k. log n k=0 n 2 (2 ω 2 ) k Cn 2 (2 ω 2 ) log n = Cn 2 n ω 2 = Cn ω. - p. 24/60

Eliminacja bez zamian kolumn Algorytm Hopcrofta-Buncha wykonujacy eliminację Gaussa bez zamian kolumn w czasie O(n ω ). for i := 1 to n do znajdź wiersz j taki, że A i,j = 0 leniwie eliminuj j-ty wiersz i i-ta kolumnę niech k będzie takie, że 2 k i, ale 2 k+1 i uaktualnij kolumny i + 1,..., i + 2 k - p. 25/60

Eliminacja bez zamian kolumn? A B C - p. 26/60

Przypadek dwudzielny Twierdzenie 8 Doskonałe skojarzenie w grafie dwudzielnym można znalel ć w czasie O(n ω ) przy pomocy zmodyfikowanego algorytmu Hopcrofta-Buncha. - p. 27/60

Podsumowanie I Pokazaliśmy następuj ace algorytmy dla problemu maksymalnego skojarzenia: - p. 28/60

Podsumowanie I Pokazaliśmy następujace algorytmy dla problemu maksymalnego skojarzenia: 1. Bardzo prosty algorytm o złożoności O(n 3 ); - p. 28/60

Podsumowanie I Pokazaliśmy następujace algorytmy dla problemu maksymalnego skojarzenia: 1. Bardzo prosty algorytm o złożoności O(n 3 ); 2. Prosty Algorytm dla grafów dwudzielnych o złożoności O(n ω ); - p. 28/60

Podsumowanie I Pokazaliśmy następujace algorytmy dla problemu maksymalnego skojarzenia: 1. Bardzo prosty algorytm o złożoności O(n 3 ); 2. Prosty Algorytm dla grafów dwudzielnych o złożoności O(n ω ); 3. Kolejne wykłady algorytm dla dowolnych grafów o złożoności O(n ω ). - p. 28/60

Podsumowanie I Pokazaliśmy następujace algorytmy dla problemu maksymalnego skojarzenia: 1. Bardzo prosty algorytm o złożoności O(n 3 ); 2. Prosty Algorytm dla grafów dwudzielnych o złożoności O(n ω ); 3. Kolejne wykłady algorytm dla dowolnych grafów o złożoności O(n ω ). 4. Kolejne wykłady algorytm dla grafów planarnych o złożoności O(n ω/2 ) = O(n 1.19 ). - p. 28/60

Problem Nie ważony problem skojarzeń można rozwiazać w czasie O(n ω ). - p. 29/60

Problem Nie ważony problem skojarzeń można rozwiazać w czasie O(n ω ). Czy wynik ten może być rozszerzony na skojarzenia nie ważone? - p. 29/60

Problem Nie ważony problem skojarzeń można rozwiazać w czasie O(n ω ). Czy wynik ten może być rozszerzony na skojarzenia nie ważone? TAK w czasie O(Wn ω ) - p. 29/60

Outline Historia - p. 30/60

Outline Historia Szkic algorytmu - p. 30/60

Outline Historia Szkic algorytmu Algorytm dla ważonych skojarzeń - p. 30/60

Outline Historia Szkic algorytmu Algorytm dla ważonych skojarzeń Podsumowanie - p. 30/60

Outline Historia Szkic algorytmu Algorytm dla ważonych skojarzeń Podsumowanie - p. 30/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), O(n 3 ) Dintis and Kronrod (1969), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), O(n 3 ) Dintis and Kronrod (1969), O(nSP + (n, m)) Edmonds and Karp (1970), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), O(n 3 ) Dintis and Kronrod (1969), O(nSP + (n, m)) Edmonds and Karp (1970), O(n 3 4 m log W) Gabow (1983), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), O(n 3 ) Dintis and Kronrod (1969), O(nSP + (n, m)) Edmonds and Karp (1970), O(n 3 4 m log W) Gabow (1983), O( nm log(nw)) Gabow and Tarjan (1991), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), O(n 3 ) Dintis and Kronrod (1969), O(nSP + (n, m)) Edmonds and Karp (1970), O(n 3 4 m log W) Gabow (1983), O( nm log(nw)) Gabow and Tarjan (1991), O( nmw) Kao, Lam, Sung and Ting (1999), - p. 31/60

Ważone skojarzenia dwudzielne O(WnVC(n, m)) implicite Egerváry (1931), O(n 4 ) Khun (1955) and Munkers (1957), O(n 2 m) Iri (1960), O(n 3 ) Dintis and Kronrod (1969), O(nSP + (n, m)) Edmonds and Karp (1970), O(n 3 4 m log W) Gabow (1983), O( nm log(nw)) Gabow and Tarjan (1991), O( nmw) Kao, Lam, Sung and Ting (1999), O(n ω W) dziś. - p. 31/60

Idea - p. 32/60

Idea - p. 32/60

Idea - p. 32/60

Idea - p. 32/60

Idea - p. 32/60

Idea - p. 32/60

Idea - p. 32/60

Bipartite Case - p. 33/60

Kilka definicji Ważony n-wierzchołkowy graf dwudzielny G to czwórka G = (U, V, E, w) taka, że U = {1,..., n} and V = {n + 1,..., 2n} oznaczaja zbiory wierzchołków, E U V oznacza zbiór krawędzi, funkcja w : E Z + przypisuje wagi krawędziom. - p. 34/60

Kilka definicji W problemie maksymalnych skojarzeń w grafach dwudzielnych szukamy doskonałego skojarzenia M w ważonym grafie G, o maksymalnej całkowitej wadze w(m) = e M w(e). - p. 35/60

Kilka definicji W problemie maksymalnych skojarzeń w grafach dwudzielnych szukamy doskonałego skojarzenia M w ważonym grafie G, o maksymalnej całkowitej wadze w(m) = e M w(e). Rozmiar problemu jest zadany przez n oraz W maksymalna wagę w w. - p. 35/60

Kilka definicji Ważone pokrycie to y(1),..., y(2n) takie, że dla każdego ij E. y(i) + y(j) w(ij), - p. 36/60

Kilka definicji Ważone pokrycie to y(1),..., y(2n) takie, że dla każdego ij E. y(i) + y(j) w(ij), Problem minimalnego pokrycia wierzchołkowego polega na znalezieniu pokrycia o minimalnym koszcie. - p. 36/60

Twierdzenie Egerváriego Twierdzenie 9 (Egerváry 31) Niech G = (U, V, E, w) będzie ważonym grafem dwudzielnym. wtedy waga maksymalnego doskonałego skojarzenia w G jest równa wadze minimalnego pokrycie wierzchołkowego w G. - p. 37/60

Od pokrycia do skojarzeń - p. 38/60

Od pokrycia do skojarzeń Graf równościowy G p dla p i G jest zdefiniowany jako G p = (U, V, E ), E = {uv : uv E and p(u) + p(v) = w(uv)}. - p. 39/60

Od pokrycia do skojarzeń Graf równościowy G p dla p i G jest zdefiniowany jako G p = (U, V, E ), E = {uv : uv E and p(u) + p(v) = w(uv)}. Lemat 10 Rozważmy ważony graf dwudzielny G i minimalne pokrycie p w G. Skojarzenie M jest doskonałym skojarzeniem w G p wttw jeżeli jest maksymalnym doskonałym skojarzeniem w G. - p. 39/60

Od ścieżek do pokrycia - p. 40/60

Od ścieżek do pokrycia Niech M będzie maksymalnym skojarzeniem w ważonym dwudzielnym grafie G = (U, V, E, w). 1. skonstruuj skierowany ważony graf D = (U V {r}, A, w d ), 2. dla każdego uv E, u U i v V, dodaj krawędź (u, v) do A, w d ((u, v)) := w(uv), 3. dla każdego uv M, u U i v V, dodaj krawędź (v, u) to A, w d ((v, u)) := w uv, - p. 41/60

Od ścieżek do pokrycia Niech M będzie maksymalnym skojarzeniem w ważonym dwudzielnym grafie G = (U, V, E, w). 1. skonstruuj skierowany ważony graf D = (U V {r}, A, w d ), 2. dla każdego uv E, u U i v V, dodaj krawędź (u, v) do A, w d ((u, v)) := w(uv), 3. dla każdego uv M, u U i v V, dodaj krawędź (v, u) to A, w d ((v, u)) := w uv, W D nie ma ujemnych cykli. - p. 41/60

Od ścieżek do pokrycia - p. 42/60

Od ścieżek do pokrycia 1. dodamy krawędzie o zerowej wadze (r, v) dla każdego v V, 2. obliczmy odległości w D od r, 3. niech y u := dist(r, u) dla u U, 4. niech y v := dist(r, v) dla v V. - p. 43/60

Od ścieżek do pokrycia 1. dodamy krawędzie o zerowej wadze (r, v) dla każdego v V, 2. obliczmy odległości w D od r, 3. niech y u := dist(r, u) dla u U, 4. niech y v := dist(r, v) dla v V. Lemat 11 Znalezione y to minimalne pokrycie grafu G. - p. 43/60

Od ścieżek do pokrycia dist(r, u) jest funkcja potencjału w d ((u, v)) dist(r, v) dist(r, u) - p. 44/60

Od ścieżek do pokrycia dist(r, u) jest funkcja potencjału w d ((u, v)) dist(r, v) dist(r, u) Dla uv E mamy krawędź (u, v) w D i w d ((u, v)) dist(r, v) dist(r, u), w(uv) y(v) y(u). w(uv) y(v) + y(u). Czyli y jest pokryciem. - p. 44/60

Od ścierzek do pokrycia dist(r, u) jest funkcja potencjału w d ((u, v)) dist(r, v) dist(r, u) - p. 45/60

Od ścierzek do pokrycia dist(r, u) jest funkcja potencjału w d ((u, v)) dist(r, v) dist(r, u) Dla uv M mamy krawędź (v, u) w D i w d ((v, u)) dist(r, u) dist(r, v), w(uv) y(u) + y(v). Sumujac ta nierówność dla krawędzi w M otrzymujemy w(y) w(m). - p. 45/60

Od ścierzek do pokrycia dist(r, u) jest funkcja potencjału w d ((u, v)) dist(r, v) dist(r, u) Dla uv M mamy krawędź (v, u) w D i w d ((v, u)) dist(r, u) dist(r, v), w(uv) y(u) + y(v). Sumujac ta nierówność dla krawędzi w M otrzymujemy w(y) w(m). Czyli y jest minimalne. - p. 45/60

Od wag skojarzeń do ścieżek - p. 46/60

Od wag skojarzeń do ścieżek Rozważmy ważony graf dwudzielny G = (U, V, E, w). - p. 47/60

Od wag skojarzeń do ścieżek Rozważmy ważony graf dwudzielny G = (U, V, E, w). dodajmy wierzchołek s do U, - p. 47/60

Od wag skojarzeń do ścieżek Rozważmy ważony graf dwudzielny G = (U, V, E, w). dodajmy wierzchołek s do U, dodajmy wierzchołek t do V, - p. 47/60

Od wag skojarzeń do ścieżek Rozważmy ważony graf dwudzielny G = (U, V, E, w). dodajmy wierzchołek s do U, dodajmy wierzchołek t do V, połaczmy s z wszystkimi wierzchołkami z V krawędziami o wadze zero, - p. 47/60

Od wag skojarzeń do ścieżek Rozważmy ważony graf dwudzielny G = (U, V, E, w). dodajmy wierzchołek s do U, dodajmy wierzchołek t do V, połaczmy s z wszystkimi wierzchołkami z V krawędziami o wadze zero, połaczmy t z wierzchołkiem u w U. - p. 47/60

Od wag skojarzeń do ścieżek Rozważmy ważony graf dwudzielny G = (U, V, E, w). dodajmy wierzchołek s do U, dodajmy wierzchołek t do V, połaczmy s z wszystkimi wierzchołkami z V krawędziami o wadze zero, połaczmy t z wierzchołkiem u w U. Oznaczmy przez G(u) otrzymany graf, a przez M(u) maksymalne ważone skojarzenie w G(u). - p. 47/60

Od wag skojarzeń do ścieżek - p. 48/60

Od wag skojarzeń do ścieżek Lemat 12 Odległości w D spełniają dist(r, u) := w(m) w(m(u)) for u U. - p. 49/60

Od wag skojarzeń do ścieżek Lemat 12 Odległości w D spełniają dist(r, u) := w(m) w(m(u)) for u U. Rozważmy skojarzenia M(u) i M, - p. 49/60

Od wag skojarzeń do ścieżek Lemat 12 Odległości w D spełniają dist(r, u) := w(m) w(m(u)) for u U. Rozważmy skojarzenia M(u) i M, skierujmy wszystkie krawędzie w M od V do U, - p. 49/60

Od wag skojarzeń do ścieżek Lemat 12 Odległości w D spełniają dist(r, u) := w(m) w(m(u)) for u U. Rozważmy skojarzenia M(u) i M, skierujmy wszystkie krawędzie w M od V do U, skierujmy wszystkie krawędzie w M(u) od U do V, - p. 49/60

Od wag skojarzeń do ścieżek Lemat 12 Odległości w D spełniają dist(r, u) := w(m) w(m(u)) for u U. Rozważmy skojarzenia M(u) i M, skierujmy wszystkie krawędzie w M od V do U, skierujmy wszystkie krawędzie w M(u) od U do V, otrzymujemy skierowana ścieżkę p od s do t w D, - p. 49/60

Od wag skojarzeń do ścieżek Lemat 12 Odległości w D spełniają dist(r, u) := w(m) w(m(u)) for u U. Rozważmy skojarzenia M(u) i M, skierujmy wszystkie krawędzie w M od V do U, skierujmy wszystkie krawędzie w M(u) od U do V, otrzymujemy skierowana ścieżkę p od s do t w D, i zbiór C cykli alternujacych. - p. 49/60

Od wag skojarzeń do ścieżek - p. 50/60

Od macierzy do wag skojarzeń - p. 51/60

Od macierzy do wag skojarzeń Dla G = (U, V, E, w), zdefiniujmy macierz B(G, x) rozmiaru n n jako B(G, x) i,j = x w(ij) z i,j, gdzie z i,j to różne zmienne dla każdej krawędzi w G. - p. 52/60

Od macierzy do wag skojarzeń Dla G = (U, V, E, w), zdefiniujmy macierz B(G, x) rozmiaru n n jako B(G, x) i,j = x w(ij) z i,j, gdzie z i,j to różne zmienne dla każdej krawędzi w G. Lemat 13 (Karp, Upfal i Wigderson 86) Stopień x w det( B(G, x)) to waga maksymalnego ważonego doskonałego skojarzenia w G. - p. 52/60

Zippel-Schwartz Lemat 14 Niech p(x 1,..., x m ) będzie niezerowym wielomianem stopnia d o współczynnikach z ciała oraz niech S będzie podzbiorem tego ciała, wtedy prawdopodobieństwo że p przyjmie wartość 0 na losowym elemencie (s 1, s 2,..., s m ) S m wynosi co najwyżej d/ S. Takie wydarzenie będziemy nazywać fałszywym zerem. - p. 53/60

Zippel-Schwartz Lemat 14 Niech p(x 1,..., x m ) będzie niezerowym wielomianem stopnia d o współczynnikach z ciała oraz niech S będzie podzbiorem tego ciała, wtedy prawdopodobieństwo że p przyjmie wartość 0 na losowym elemencie (s 1, s 2,..., s m ) S m wynosi co najwyżej d/ S. Takie wydarzenie będziemy nazywać fałszywym zerem. Jeżeli wielomian stopnia n jest obliczony dla losowych wartości modulo liczba pierwsza p o długości (1 + c) log n, to prawdopodobieństwo fałszywego zera jest mniejsze niż 1 n c, dla c > 0. - p. 53/60

Od macierzy do wag skojarzeń Twierdzenie 15 (Storjohann 03) Niech A K[x] n n będzie macierzą wielomianów stopnia d, a b K[x] n 1 będzie wektorem wielomianów stopnia także d, wtedy wyznacznik det(a), rozwiązanie układu równań A 1 b, może zostać obliczone z użyciem Õ(n ω d) operacji w K. - p. 54/60

Od macierzy do wag skojarzeń Twierdzenie 15 (Storjohann 03) Niech A K[x] n n będzie macierzą wielomianów stopnia d, a b K[x] n 1 będzie wektorem wielomianów stopnia także d, wtedy wyznacznik det(a), rozwiązanie układu równań A 1 b, może zostać obliczone z użyciem Õ(n ω d) operacji w K. Wniosek 16 Waga maksymalnego doskonałego skojarzenia w grafie dwudzielnym może zostać policzona w czasie Õ(Wn ω ), z dużym prawdopodobieństwem. - p. 54/60

Od macierzy do wag skojarzeń Zdefiniujmy macierz ˆB(G, x) rozmiaru (n + 1) (n + 1) przez 0 B(G, x). ˆB(G, x) = 0. 1 1 0 - p. 55/60

Od macierzy do wag skojarzeń Zdefiniujmy macierz ˆB(G, x) rozmiaru (n + 1) (n + 1) przez 0 B(G, x). ˆB(G, x) = 0. 1 1 0 Mamy wtedy adj( ˆB(G, x)) n+1,i ) = det( ˆB(G, x) i,n+1 )) = gdzie A i,j to A bez i-tego wiersza i j-tej kolumny. - p. 55/60

Od macierzy do wag skojarzeń Mamy adj( ˆB(G, x)) n+1,i ) = det( ˆB(G, x) i,n+1 )) = = det( B(G(i), x)), - p. 56/60

Od macierzy do wag skojarzeń Mamy adj( ˆB(G, x)) n+1,i ) = det( ˆB(G, x) i,n+1 )) = = det( B(G(i), x)), Z lematu KUW otrzymujemy deg x (adj( ˆB(G, x)) n+1,i )) = w(m(i)). - p. 56/60

Od macierzy do wag skojarzeń Wybierz liczbę pierwsz a p długości Θ(log n). Podstaw losowe wartości ze zbioru {1,..., p} za zmienne z i,j w ˆB(G, x) aby otrzymać B(x). - p. 57/60

Od macierzy do wag skojarzeń Wybierz liczbę pierwsza p długości Θ(log n). Podstaw losowe wartości ze zbioru {1,..., p} za zmienne z i,j w ˆB(G, x) aby otrzymać B(x). Oblicz używajac twierdzenia Storjohanna v = adj(b(x)) n+1,i ) = (adj(b(x))e n+1 ) i = = det(b(x)) ( B(x) 1 e n+1 )i - p. 57/60

Od macierzy do wag skojarzeń Wybierz liczbę pierwsza p długości Θ(log n). Podstaw losowe wartości ze zbioru {1,..., p} za zmienne z i,j w ˆB(G, x) aby otrzymać B(x). Oblicz używajac twierdzenia Storjohanna v = adj(b(x)) n+1,i ) = (adj(b(x))e n+1 ) i = = det(b(x)) ( B(x) 1 e n+1 )i Z dużym prawdopodobieństwem deg x (v i ) = w(m(i)). - p. 57/60

Ważone dwudzielne skojarzenia - p. 58/60

Summary Pokazaliśmy algorytm działajacy w czasie Õ(Wn ω ) dla problemu minimalnego pokrycia wierzchołkowego w grafie dwudzielnym. algorytm działaj acy w czasie Õ(Wn ω ) dla problemu maksymalnych ważonych skojarzeń w grafie dwudzielnym. - p. 59/60

Maksymalne skojarzenia przy pomocy eliminacji Gaussa Piotr Sankowski Instytut Informatyki, Uniwersytet Warszawski - p. 60/60