Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

Podobne dokumenty
Maksymalne skojarzenia przy pomocy eliminacji Gaussa

Znajdowanie skojarzeń na maszynie równoległej

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Analiza matematyczna i algebra liniowa Macierze

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

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

Sortowanie topologiczne skierowanych grafów acyklicznych

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

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

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

Macierze. Rozdział Działania na macierzach

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Skojarzenia w grafach

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

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

Kolorowanie wierzchołków grafu

1 Macierz odwrotna metoda operacji elementarnych

Wykład 5. Metoda eliminacji Gaussa

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

Procesy stochastyczne

TEORIA GRAFÓW I SIECI

Matematyka dyskretna

1 Macierze i wyznaczniki

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Kolorowanie wierzchołków

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

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

13 Układy równań liniowych

Metoda eliminacji Gaussa. Autorzy: Michał Góra

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

Algorytmy aproksymacyjne i parametryzowane

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

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

Zastosowania wyznaczników

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

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

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

MACIERZE I WYZNACZNIKI

Metody uporządkowania

Matematyczne Podstawy Informatyki

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

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

O MACIERZACH I UKŁADACH RÓWNAŃ

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

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

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

Graf. Definicja marca / 1

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

Macierz o wymiarach m n. a 21. a 22. A =

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

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

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

Metody uporządkowania

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

2. Układy równań liniowych

Obliczenia naukowe Wykład nr 8

Algorytmy i Struktury Danych.

Własności wyznacznika

Algorytmiczna teoria grafów

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,...

TEORIA GRAFÓW I SIECI

Wyk lad 9 Baza i wymiar przestrzeni liniowej

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

Układy równań liniowych

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

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

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

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

Układy równań liniowych. Krzysztof Patan

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

Układy równań liniowych

E ' E G nazywamy krawędziowym zbiorem

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Zaawansowane metody numeryczne

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

AiSD zadanie trzecie

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

Ścieżki w grafach. Grafy acykliczne i spójne

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

1 Układy równań liniowych

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

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

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

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

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

III TUTORIAL Z METOD OBLICZENIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

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

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

W. Krysicki, L.Włodarski, Analiza matematyczna w zadaniach cz. 1 i cz. 2. Pomocnicze symbole. Spójniki logiczne: Symbole kwantyfikatorów:

Matematyczne Podstawy Informatyki

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

Wyk lad 11 1 Wektory i wartości w lasne

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

Transkrypt:

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa Marcin Mucha, Piotr Sankowski Instytut Informatyki, Uniwersytet Warszawski - p. 1/55

Definicja problemu Skojarzeniem w grafie G = (V, E) nazywamy zbiór krawędzi M E taki, że żadne dwie krawędzie w M nie maja wspólnego końca. - p. 2/55

Definicja problemu Skojarzeniem w grafie G = (V, E) nazywamy zbiór krawędzi M E taki, że żadne dwie krawędzie w M nie maja wspólnego końca. Doskonałe skojarzenie to skojarzenie o liczności V /2. - p. 2/55

Definicja problemu Skojarzeniem w grafie G = (V, E) nazywamy zbiór krawędzi M E taki, że żadne dwie krawędzie w M nie maja wspólnego końca. Doskonałe skojarzenie to skojarzenie o liczności V /2. Chcemy znajdować doskonałe skojarzenia lub najliczniejsze skojarzenia w grafie. - p. 2/55

Poprzednie wyniki Najszybsze dotychczas znane algorytmy działaja w czasie: O(m n) dla grafów dwudzielnych Hopcroft, Karp, - p. 3/55

Poprzednie wyniki Najszybsze dotychczas znane algorytmy działaja w czasie: O(m n) dla grafów dwudzielnych Hopcroft, Karp, O(m n) dla dowolnych grafów Micali, Vazirani, - p. 3/55

Poprzednie wyniki Najszybsze dotychczas znane algorytmy działaja w czasie: O(m n) dla grafów dwudzielnych Hopcroft, Karp, O(m n) dla dowolnych grafów Micali, Vazirani, Dla grafów gęstych otrzymujemy czas O(n 2.5 ). - p. 3/55

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

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. 4/55

Nasze wyniki Nowa metoda oparta na eliminacji Gaussa. - p. 5/55

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

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

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. 5/55

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. 5/55

Grafy Planarne Najszybsze dotychczas znane algorytmy działaja w czasie: O(n 4 3) dla dwudzielnych grafów planarnych Klein, Rao, Rauch, Subramanian, - p. 6/55

Grafy Planarne Najszybsze dotychczas znane algorytmy działaja w czasie: O(n 4 3) dla dwudzielnych grafów planarnych Klein, Rao, Rauch, Subramanian, O(n n) dla dowolnych grafów planarnych Micali, Vazirani, - p. 6/55

Grafy Planarne Najszybsze dotychczas znane algorytmy działaja w czasie: O(n 4 3) dla dwudzielnych grafów planarnych Klein, Rao, Rauch, Subramanian, O(n n) dla dowolnych grafów planarnych Micali, Vazirani, Nasze wyniki: prosty algorytm O(n 3 2), - p. 6/55

Grafy Planarne Najszybsze dotychczas znane algorytmy działaja w czasie: O(n 4 3) dla dwudzielnych grafów planarnych Klein, Rao, Rauch, Subramanian, O(n n) dla dowolnych grafów planarnych Micali, Vazirani, Nasze wyniki: prosty algorytm O(n 3 2), algorytm O(n ω 2 ) = O(n 1.19 ). - p. 6/55

Plan 1. Technika Lovásza, - p. 7/55

Plan 1. Technika Lovásza, 2. Maksymalne skojarzenia, - p. 7/55

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

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

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

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. 7/55

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. Algorytm O(n ω ) dla dowolnych grafów. - p. 7/55

Szybkie mnorzenie macierzy Niech ω oznacza wykładnik mnożenia macierzy rozmiaru n n. - p. 8/55

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

Szybkie mnorzenie 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. 8/55

Szybkie mnorzenie 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 mozna znaleźć w czaise O(n ω ). - p. 8/55

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. 9/55

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. 10/55

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

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. 11/55

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. 11/55

Symboliczna macierz sasiedztwa Symboliczna macierz sasiedztwa dla dowolnego grafu: G 5 6 4 = 1 2 3 Ã(G) 0 x 12 x 13 x 14 x 15 x 16 x 12 0 x 23 0 0 x 26 x 13 x 23 0 x 34 0 0 x 14 0 x 34 0 x 45 0 x 15 0 0 x 45 0 x 56 x 16 x 62 0 0 x 56 0 - p. 12/55

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

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. 13/55

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. Niezerowy wyraz sumy odpowiada pokryciu G skierowanymi cyklami. - p. 13/55

Symboliczna macierz sasiedztwa Pokrycia cyklami parzystej długości zadaj a skojarzenia. - p. 14/55

Symboliczna macierz sasiedztwa Pokrycia cyklami parzystej długości zadaja skojarzenia. Rozważmy pokrycie p zawieraj ace cykl C nieparzystej długości. - p. 14/55

Symboliczna macierz sasiedztwa Pokrycia cyklami parzystej długości zadaja skojarzenia. Rozważmy pokrycie p zawierajace cykl C nieparzystej długości. Wkład p kasuje się z wkładem p, w którym C skierowany jest przeciwnie, bo p ma: - p. 14/55

Symboliczna macierz sasiedztwa Pokrycia cyklami parzystej długości zadaja skojarzenia. Rozważmy pokrycie p zawierajace cykl C nieparzystej długości. Wkład p kasuje się z wkładem p, w którym C skierowany jest przeciwnie, bo p ma: te same zmienne, - p. 14/55

Symboliczna macierz sasiedztwa Pokrycia cyklami parzystej długości zadaja skojarzenia. Rozważmy pokrycie p zawierajace cykl C nieparzystej długości. Wkład p kasuje się z wkładem p, w którym C skierowany jest przeciwnie, bo p ma: te same zmienne, ta sama parzystość, - p. 14/55

Symboliczna macierz sasiedztwa Pokrycia cyklami parzystej długości zadaja skojarzenia. Rozważmy pokrycie p zawierajace cykl C nieparzystej długości. Wkład p kasuje się z wkładem p, w którym C skierowany jest przeciwnie, bo p ma: te same zmienne, ta sama parzystość, przeciwne znaki w C. - p. 14/55

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

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. 15/55

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. 16/55

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. 17/55

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. 17/55

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. 17/55

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. 18/55

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. 19/55

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

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

Maksymalne skojarzenia Twierdzenie 6 (Lovász (79)) Niech m będzie rozmiarem najliczniejszego skojarzenia w G, wtedy rank(ã(g)) = 2m. 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)) 2m. - p. 20/55

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

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). Niech p to niezerowy wyraz w det(ã X,Y (G)). - p. 21/55

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). Niech p to niezerowy wyraz w det(ã X,Y (G)). Niech p to niezerowy wyraz w det(ã Y,X (G)) antysymetria. - p. 21/55

Maksymalne skojarzenia Niech à X,Y (G) będzie maksymalna nieosobliwa podmacierza Ã(G). Niech p to niezerowy wyraz w det(ã X,Y (G)). Niech p to niezerowy wyraz w det(ã Y,X (G)) antysymetria. Suma p p to pokrycie conajmniej X wierzchołków w G cyklami parzystej długości rank(ã(g)) 2m - p. 21/55

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. 22/55

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. 22/55

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. 22/55

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 sa dozwolone, tj. zawarte w pewnym doskonałym skojarzeniu. Podobnie jest dla dowolnych grafów. - p. 22/55

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. 23/55

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. 24/55

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. 25/55

Leniwe obliczenia u 1 v T 1 +...+u k v T k = u 1... u k v T 1. v T k - p. 26/55

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. 27/55

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. 28/55

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. 28/55

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. 28/55

Weryfikacja skojarzenia Twierdzenie 8 Maksymalne w sensie zawierania dozwolone podskojarzenie M danego skojarzenia M w G można znaleźć w czasie O(n ω ) (Monte Carlo). - p. 29/55

Weryfikacja skojarzenia Twierdzenie 8 Maksymalne w sensie zawierania dozwolone podskojarzenie M danego skojarzenia M w G można znaleźć w czasie O(n ω ) (Monte Carlo). v 2 v 1 v 1 v 2 v 3 v 4... v n 1 v n v 4 v 3... v n 1 v n... - p. 29/55

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. 30/55

Eliminacja bez zamian kolumn? A B C - p. 31/55

Przypadek dwudzielny Twierdzenie 9 Doskonałe skojarzenie w grafie dwudzielnym można znaleźć w czasie O(n ω ) przy pomocy zmodyfikowanego algorytmu Hopcrofta-Buncha. - p. 32/55

Dowolne grafy grafy dwudzielne dowolne grafy?? W przypadku ogólnym efektywne opóźnianie obliczeń wydaje się niemożliwe. - p. 33/55

Dowolne grafy Algorytm znajdujacy doskonałe skojarzenia w dowolnych grafach: znajdź skojarzenie zachłanne M w G wybierz z M maksymalne dozwolone podskojarzenie M skojarz wierzchołki M i usuń je z G if M n/8 then znajdź doskonałe skojarzenie w G else podziel G na mniejsze grafy znajdź w nich doskonałe skojarzenia - p. 34/55

Rozklad kanoniczny Graf elementarny to taki graf majacy doskonałe skojarzenie, w którym dozwolone krawędzie tworza podgraf spójny. - p. 35/55

Rozklad kanoniczny Graf elementarny to taki graf majacy doskonałe skojarzenie, w którym dozwolone krawędzie tworza podgraf spójny. Wystarczy rozpatrywać grafy elementarne. - p. 35/55

Rozklad kanoniczny Graf elementarny to taki graf majacy doskonałe skojarzenie, w którym dozwolone krawędzie tworza podgraf spójny. Wystarczy rozpatrywać grafy elementarne. Dla G elementarnego, niech G będzie następujac a relacja: u G v wtw G {u, v} nie ma doskonałego skojarzenia. - p. 35/55

Rozklad kanoniczny Graf elementarny to taki graf majacy doskonałe skojarzenie, w którym dozwolone krawędzie tworza podgraf spójny. Wystarczy rozpatrywać grafy elementarne. Dla G elementarnego, niech G będzie następujac a relacja: u G v wtw G {u, v} nie ma doskonałego skojarzenia. Relację G można odczytać z macierzy A(G) 1. - p. 35/55

Rozklad kanoniczny Twierdzenie 10 G jest relacją równoważności. Rozkladem kanonicznym G, ozn. P(G), nazywamy zbiór V(G)/ G. - p. 36/55

Rozklad kanoniczny Twierdzenie 11 (Twierdzenie o rozkładzie) Niech G będzie elementarny, S P(G), S 2, i niech C będzie spójną składową G S. Wtedy: 1. Graf dwudzielny G S otrzymany z G przez ściągnięcie każdej ze składowych G S do pojedynczego wierzchołka i usunięcie krawędzi w S, jest elementarny; 2. Składowa C jest factor-critical; 3. Graf C otrzymany z G[V(C) S] przez ściągnięcie zbioru S do pojedynczego wierzchołka v c, jest elementarny; 4. P(C ) = {{v c }} {T V(C) T P(G)}. - p. 37/55

Rozklad kanoniczny - p. 38/55

Rozklad kanoniczny - p. 39/55

Rozklad kanoniczny - p. 40/55

Rozklad kanoniczny - p. 41/55

Rozklad kanoniczny - p. 42/55

Rozklad kanoniczny - p. 43/55

Rozklad kanoniczny - p. 44/55

Rozklad kanoniczny - p. 45/55

Rozklad kanoniczny - p. 46/55

Rozklad kanoniczny - p. 47/55

Rozklad kanoniczny - p. 48/55

Rozklad kanoniczny - p. 49/55

Rozklad kanoniczny - p. 50/55

Rozklad kanoniczny - p. 51/55

Rozklad kanoniczny - p. 52/55

Podsumowanie Pokazaliśmy następuj ace algorytmy dla problemu maksymalnego skojarzenia: - p. 53/55

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

Podsumowanie 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. 53/55

Podsumowanie 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. Algorytm dla dowolnych grafów o złożoności O(n ω ). - p. 53/55

Inne zastosowania Fakt 12 (*) Przy pomocy eliminacji Gaussa można znajdować doskonałe skojarzenia w grafach planarnych w czasie O(n ω/2 ) = O(n 1.19 ). (*) Maximum matchings in Planar Graphs via Gaussian Elimination M. Mucha, P. Sankowski, ESA 2004. - p. 54/55

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa Marcin Mucha, Piotr Sankowski Instytut Informatyki, Uniwersytet Warszawski - p. 55/55