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