Dopasowanie doskonałe w grafach

Transkrypt

Dopasowanie doskonałe w grafach
AP
Algorytmy probabilistyczne: Zestaw 2
Semestr zimowy 2015/2016
Kraków
18 października 2015
Dopasowanie doskonałe w grafach
Dopasowaniem doskonałym w grafie G = (V, E) nazywamy podzbiór M krawędzi
spełniające warunek, iż każdy wierzchołek z G jest przyległy do dokładnie jednej krawędzi
z M . Krawędź grafu G nazywamy dopuszczalną jeżeli istnieje dopasowanie doskonałe
zawierające tę krawędź.
Niech p będzie liczbą pierwszą. Przez Zp oznaczamy ciało:
({0, 1, . . . , p − 1}, + mod p, · mod p).
Niech G = (V, E) będzie grafem. Macierzą Tutte grafu G nazywamy macierz symboliczną Gs zdefiniowaną następująco:



xij jeżeli {i, j} ∈ E oraz i < j
Gs [i][j] =  −xji jeżeli {i, j} ∈ E oraz i > j

0
jeżeli {i, j} ∈
/ E.
Algorytm SimplePerfectMatching(G):
(1) utwórz macierz Tutte dla grafu G,
(2) za każdą zmienną xij macierzy Tutte podstaw losowo wybraną wartość z ciała Zp
otrzymując macierz A,
(3) jeżeli det(A) = 0, to G nie ma dopasowania doskonałego (z wysokim prawdopodobieństwem, patrz Zadanie 3); w przeciwnym przypadku oblicz macierz odwrotną A−1
do macierzy A korzystając z rozkładu A = LU P (patrz zadanie 4) uzyskanego metodą
eliminacji Gaussa,
(4a) jeżeli istnieją i, j takie, że A[i][j] 6= 0 oraz A−1 [i][j] 6= 0, oznacz krawędź i, j jako
dopuszczalną;
(4b) usuń z macierzy A wiersze i, j oraz kolumny i, j - zredukowaną macierz oznacz
przez A,
(4c) dynamicznie oblicz macierz odwrotną A−1 do zredukowanej macierzy A (patrz
zadanie 6) i przejdź do punktu (4a).
Zadanie 1. Wykaż, że G ma dopasowanie doskonałe wtedy i tylko wtedy, gdy wyznacznik
macierzy symbolicznej det(Gs ) jest niezerowy.
Zadanie 2 (@). Załóżmy, że graf G ma dopasowanie doskonałe, A jest macierzą powstałą
z grafu Gs poprzez wstawienie za zmienne xij losowych wartości z ciała Zp (p ­ n2 ).
Wykaż, że krawędź m = {i, j} jest krawędzią dopuszczalną wtedy i tylko wtedy, gdy
As [i][j] oraz A−1
s [i][j] są z wysokim prawdopodobieństwem różne od zera.
Zadanie 3. Załóżmy, że graf G ma dopasowanie doskonałe. Niech p będzie liczbą pierwszą.
Oszacuj prawdopodonieństwa zdarzeń:
∗ wyznacznik macierzy A nad ciałem Zp jest niezerowy,
Strona 1/2
AP
Algorytmy probabilistyczne: Zestaw 2
Semestr zimowy 2015/2016
Kraków
18 października 2015
∗ A[i][j] 6= 0, A jest odwracalna i A−1 [i][j] 6= 0 pod warunkiem, że {i, j} jest dopuszczalna.
Zadanie 4 (Eliminacja Gaussa). Podaj algorytm sprawdzający, czy det(A) 6= 0 dla macierzy A rozmiaru n × n. W przypadku odpowiedzi pozytywnej, podaj algorytm wyznaczania macierzy trójkątnej dolnej L, trójkątnej górnej U oraz macierzy permutacji P
spełniających równanie A = LU P . Podaj algorytm wyznaczania macierzy odwrotnej A−1
dla macierzy A. Wszystkie algorytmy mają działać w czasie O(n3 ) i mają bazować na
metodzie eliminacji Gaussa.
Zadanie 5. Opracuj algorytm probabilistyczny, który znajdzie dopasowanie doskonałe w
G z prawdopodobieństwem większym niż 1 − n1 (przy założeniu, że takie istnieje) w czasie
O(n3 ).
Zadanie 6. Załóżmy, że A jest macierzą odwracalną nad Zp . Załóżmy, że:
"
A=
A0 u
vT a
#
"
−1
oraz A
=
B u
vT b
#
.
Wykaż, że przy założeniu b 6= 0 macierz A0 jest odwracalna oraz (A0 )−1 = B − uv T /b.
Zadanie 7 (@). Zakładając, że istnieje algorytm równoległy obliczający wyznacznik macierzy n działający w czasie polylogarytmicznym i używający wielomianowej liczby procesorów (od n), zaproponuj algorytm równoległy i probabilistyczny (zwracający poprawne
rozwiązanie z prawdopodobieństwem nie mniejszym niż 21 ) znajdowania dopasowania doskonałego w czasie polylogarytmicznym.
Wskazówska: Skorzystaj z Lematu o Izolacji.
Strona 2/2