320 likes | 531 Views
Паросочетания в двудольных графах. Лекция 8. Паросочетание. Паросочетанием в графе G называется множество попарно несмежных ребер. Задача «Максимальное Паросочетание». Дан граф G . Найти паросочетание в G максимальной мощности. Совершенное паросочетание. Определение 8 .1.
E N D
Паросочетанияв двудольных графах Лекция 8
Паросочетание • Паросочетанием в графеG называетсямножество попарно несмежныхребер.
Задача «Максимальное Паросочетание» • ДанграфG. • Найтипаросочетание вGмаксимальной мощности.
Совершенное паросочетание Определение8.1. • Пусть G ―граф и M ―паросочетание в G. Будем говорить, чтовершина v покрыта M,если v e для некоторого e M . • M называетсясовершеннымпаросочетанием, если все вершины покрыты M.
Биразбиение • БиразбиениемграфаG называетсяразбиение множества вершин на два подмножества, V(G)=A⋃B, такоечто подграфыиндуцированные на A и B―оба пустые. • Граф называется двудольным, если он имеет биразбиение.
Паросочетаниев двудольном графе • Для графаG, пусть(G) обозначает мощность максимального паросочетания, а(G) ―мощностьминимальноговершинного покрытия в G. Теорема 8.2 (König [1931]) ЕслиG ― двудольный, то(G) = (G).
Доказательство • G' = (V(G)⋃{s,t}, E(G)⋃{{s,a}: a A}⋃ {{b,t}: b B}) • (G) –максимальное число вершинно-непересекающихся s-t-путей. • (G) – минимальное число вершин удаление которых разделяет вершины sиt.
Вторая Теорема Менгера Theorem 7.2 (Menger [1927] ) Пусть G ―граф(ориентированный илинеориентированный), пусть s и tдве несмежные вершиныи k N. Тогда существует k вершинно-непересекающихся s-t-путей,тогда и только тогда, когдапослеудалениялюбых k – 1 вершин (отличных от s и t) t остается достижима из s.
Доказательство • G' = (V(G)⋃{s,t}, E(G)⋃{{s,a}: a A}⋃ {{b,t}: b B}) • (G) –максимальное число вершинно-непересекающихся s-t-путей. • (G) – минимальное число вершин удаление которых разделяет вершины sиt. • 2-я теорема Менгера (G) = (G).
Теорема Холла Теорема8.3 (Hall [1935] ) Пусть G ―двудольный граф сбиразбиениемV(G) = A⋃B. Тогда G имеетпаросочетание,покрывающее A,тогда и только тогда, когда|(X)| ≥ |X| для всех X A. (G(X)– множество вершин соседних с X.)
Доказательство (достаточность) • Пусть G не имеетпаросочетание,покрывающее A((G) < |A|). • Теорема 8.2 (G) < |A|. • Рассмотрим A' Aи B' B,такие что A' ⋃ B'покрывают все ребра и | A' ⋃ B' | < | A |. • Тогда G(A/A' ) B'. • | G(A/A' ) | ≤ |B'| < | A | – | A' | = |A/A' |, что противоречит условию теоремы.
Теоремао бракосочетаниях Теорема8.4 (Frobenius [1917] ) Пусть G ―двудольныйграф сбиразбиением V(G) = A⋃B. Тогда G имеетсовершенноепаросочетание,тогда и только тогда, когда|A| = |B| и |(X)| ≥ |X| для всехX A.
Паросочетание в двудольном графе Теорема8.5 Задача «Максимальное Паросочетание»вдвудольномграфе G может быть решеназа время O(nm), где n = |V(G)| и m = |E(G)|.
Справка • Используя идею о кратчайшем увеличивающем пути можно получить алгоритм с трудоемкостью O(n0.5(m+ n)) (Hopcroft & Karp 1973).
M- увеличивающий путь • Определение8.6 Пусть G ―граф, и M ―паросочетание вG. Путь P называетсяM-чередующимся путем, если E(P) \ M являетсяпаросочетанием. Чередующийся путьназывается M-увеличивающим, еслиего граничные точкине покрываются M, то есть | E(P) \ M | > | E(P) ∩ M |.
Пример M-увеличивающего пути M P: E(P)\ M
Паросочетание и увеличивающий путь Theorem 8.7 (Berge [1957] ) Пусть G ―граф, и M ―паросочетание вG. Тогда M является максимальнымтогда и только тогда, когдане существует M-увеличивающего пути.
Доказательство • Если M-увеличивающий путь P существует, то симметрическая разность M∆E(P)будетпаросочетанием большей мощности. • Если существует паросочетание | M'| > | M |, то M∆M' является вершинно-непересекающимся объединением путей и циклов, один из которых является увелличивающим.
Алгебраический подход • Пусть Gпростой граф и пусть G' орграф, полученный из G произвольной ориентацией ребер. • Для произвольного вектора xопределимматрицу Татта.
Паросочетание иматрица Татта Теорема8.8 (Tutte [1947] ) Граф G имеетсовершенноепаросочетаниетогда и только тогда, когдаdet TG(x) ≠ 0.
Доказательство • V(G) = {v1,…,vn} • Пусть Sn множество всех перестановок {1,…, n}. • Каждая перестановка π S'nсоответствует орграфу Hπ =( V(G),{(vi,vπ(i)): i = 1,…, n}), где ровно одна дуга входит в каждую вершину и ровно одна дуга выходит из нее. (HπĞ').
ПримерHπ M Hπ vi vj π(i)=j, π(j)=i.
Доказательство • Если существует перестановка π S'nтакая что Hπсостоит только из четных циклов, то в G есть совершенное паросочетание. • Пусть это не так. То есть для каждой π S'nсуществует нечетный цикл. • Тогда r(π) S'nтакая, что Hr(π) получается из Hπобратной ориентацией дуг в первом нечетном цикле (r(r(π)) = π).
ПримерHπи Hr(π) Hπ Hr(π) vi vj vj vi vk vk π(i)=j, π(j)=k, π(k)=i. π(i)=k, π(j)=i, π(k)=j.
sgn(π)= sgn(r(π)) Hπ Hr(π) w2 w1 w1 w2 w2k+1 w2k+1 w1,w2,w3, …, w2k,w2k+1 w2,w3,w4, …, w2k+1,w1 w1, w2,w3, …, w2k,w2k+1 w2k+1,w1,w2, …, w2k-1,w2k Одна перестановка получается из другой за 2к транспозиций.
Доказательство • Следовательно, два соответствующих этим перестановкам слагаемые в сумме взаимно сокращаются. Так как это выполняется для всех пар π и r(π), то det TG(x)≡0.
ВероятностныйАлгоритм Следствие8.9 (Lovász [1979] ) Пусть x = (xe)eE(G)―случайный вектор, каждая координата которого равномерно распределенав[0,1]. Тогда с вероятностью1рангTG(x) в точности равен 2(G).
Упражнение 8.1 • Пусть Gпроизвольный граф, M1и M2 два максимальных паросочетания в нем. Доказать, что | M1 | ≤ | M2|.
Упражнение 8.2 • Доказать, что k-регулярный двудольный граф имеет kпопарно не пересекающихся совершенных паросочетаний.