В
теории графов
паросочетание
, или
независимое множество рёбер
в графе, — это набор попарно несмежных рёбер.
Определение
Пусть дан
граф
G
= (
V
,
E
),
паросочетание
M
в
G
— это множество попарно несмежных рёбер, то есть рёбер, не имеющих общих вершин, т.е.
.
Связанные определения
Максимальное паросочетание
— это такое паросочетание
M
в графе
G
, которое не содержится ни в каком другом паросочетании этого графа, то есть к нему невозможно добавить ни одно ребро, которое бы являлось несмежным ко всем рёбрам паросочетания. Другими словами, паросочетание
M
графа
G
является максимальным, если любое ребро в
G
имеет непустое пересечение, по крайней мере, с одним ребром из
M
. Ниже приведены примеры максимальных паросочетаний (красные рёбра) в трёх графах
.
-
Наибольшее паросочетание
(или максимальное по размеру паросочетание
)— это такое паросочетание, которое содержит максимальное количество рёбер.
Число паросочетания
графа
— это число рёбер в наибольшем паросочетании. У графа может быть множество наибольших паросочетаний. При этом любое наибольшее паросочетание является максимальным, но не любое максимальное будет наибольшим. Следующие три рисунка показывают наибольшие паросочетания в тех же трёх графах
.
-
Некоторые авторы используют термин
«максимальное паросочетание»
для наибольшего паросочетания
.
Совершенным паросочетанием
(или
1-фактором
) называется паросочетание, в котором участвуют все вершины графа. То есть любая вершина графа инцидентна ровно одному ребру, входящему в паросочетание. Фигура (b) на рисунке выше является примером такого паросочетания. Любое совершенное паросочетание является наибольшим и максимальным. Совершенное паросочетание является также
рёберным покрытием
минимального размера. В общем случае
, где
—
число рёберного покрытия
графа
, иными словами, размер наибольшего паросочетания не превосходит размера наименьшего рёберного покрытия.
Почти совершенным паросочетанием
называется паросочетание, в котором не участвует ровно одна вершина. Это может произойти, если граф имеет нечётное число вершин. На рисунке выше паросочетание в графе (c) является почти совершенным. Если для любой вершины в графе существует почти совершенное паросочетание, не содержащее именно эту вершину, граф называется
факторно-критическим
.
Пусть задано паросочетание
M
.
-
чередующийся путь
— это путь, в котором рёбра поочерёдно принадлежат паросочетанию и не принадлежат ему.
-
пополняющий путь
(или увеличивающий путь) — это чередующийся путь, начинающийся и кончающийся свободными вершинами (то есть не участвующими в паросочетании).
Лемма Бержа
утверждает, что паросочетание является наибольшим в том и только в том случае, если не существует пополняющего пути.
Свойства
-
Число совершенных паросочетаний в двудольном графе равно перманенту его
матрицы смежности
.
-
В любом графе без изолированных вершин число паросочетания и
число рёберного покрытия
в сумме дают число вершин
.
-
В частности, если существует совершенное паросочетание, то оба числа равны |
V
| / 2.
-
Если
A
и
B
— два максимальных паросочетания, то |
A
| ≤ 2|
B
| и |
B
| ≤ 2|
A
|. Чтобы это увидеть, заметьте, что каждое ребро из
B
\
A
может быть сопряжено максимум двум рёбрам из
A
\
B
поскольку
A
— паросочетание. Однако каждое ребро
A
\
B
сопряжено с ребром
B
\
A
ввиду того, что
B
— максимальное. Следовательно,
-
-
Далее мы имеем
-
-
В частности, отсюда вытекает, что любое максимальное паросочетание является 2-аппроксимацией наибольшего паросочетания, а также 2-аппроксимацией минимального максимального паросочетания. Это неравенство точное. Например, если
G
— путь с тремя рёбрами и 4 вершинами, минимальный размер максимального паросочетания равен 1, а размер наибольшего паросочетания равен 2.
Многочлен паросочетаний
Производящая функция
числа
k
-рёберных паросочетаний в графе называется
многочлен паросочетаний
.
Пусть
G
— граф и
m
k
— число
k
-рёберных паросочетаний.
Полиномом паросочетаний графа
G
будет
-
Есть другое определение полинома паросочетаний
-
,
где
n
— число вершин в графе.
Оба определения имеют свои области применения.
Алгоритмы и вычислительная сложность
Наибольшее паросочетание в двудольном графе
Задачи нахождения паросочетания часто возникают при работе с
двудольными графами
. Поиск
наибольшего паросочетания в двудольном графе
является, пожалуй, простейшей задачей.
Алгоритм пополняющего пути
получает его, находя пополняющий путь из каждой вершины
в
и добавляя его в паросочетание, если путь будет найден. Альтернативный способ решения заключается в том, что паросочетание будет дополняться до тех пор, пока существуют расширяющие дополняющие пути:
-
Установи
.
-
Пока имеются расширяющие пополняющие пути
:
-
, где
- симметрическая разность множеств.
Пополняющий путь - это путь вида
, для которого истинно
при
. Пополняющий путь называется расширяющим, если
.
Лемма: Для любого графа
, паросочетания
и пополняющего пути
справедливо
паросочетание и
. Доказательство: Пусть
,
и
- начальная вершина
, так что
и
, а также
- последняя вершина
, так что
и
, и
- промежуточная вершина
, так что
. Из этого следует, что в граф будет добавлено на одно ребро больше, чем удалено из него.
Лемма: Для любого графа
и паросочетаний
,
таких, что
справедливо следующее: граф
содержит минимум
не пересекающихся в вершинах пополняющих путей относительно
в
. Доказательство: Пусть
и
, при этом действительно
и
и таким образом следует
. Пусть
при
компоненты связности
графа
. Из
следует
-
является изолированной вершиной или
-
является циклом четной длины или
-
является путем четной длины или
-
является путем нечетной длины
Вершины в
происходят попеременно из
и
. Пусть
, а
только если
- пополняющий путь.
и это означает, что должно существовать минимум
компонент
с
и, как следствие, дополняющих путей. Согласно определению компонент связности, такие дополняющи пути не будут пересекаться в вершинах.
Найти дополняющий путь можно следующим образом:
-
Даны
двудольный граф и паросочетание
.
-
Создай
, где
-
-
-
Поиск дополняющего пути сводится к поиску в
из свободной вершины
в свободную вершину
.
Поскольку пополняющий путь может быть найден за
- время поиска в глубину, время работы алгоритма составит
. Это решение эквивалентно добавлению
суперисточника
с рёбрами ко всем вершинам
, и
суперстока
с рёбрами из всех вершин
(трансформация графа займет
, и поиску
максимального потока
из
в
. Все рёбра, по которым идёт поток из
в
, образуют максимальное паросочетание, а размер наибольшего паросочетания будет равен величине потока. Несколько быстрее работает
алгоритм Хопкрофта — Карпа
, работающий за время
. Другой подход базируется на алгоритме быстрого
умножения матриц
и даёт сложность
, что в теории лучше для достаточно
плотных графов
, но на практике алгоритм медленнее.
Во взвешенном двудольном графе
Во
взвешенном
двудольном графе каждому ребру приписывается вес.
Паросочетание максимального веса в двудольном графе
определяется как паросочетание, для которого сумма весов рёбер паросочетания имеет максимальное значение. Если граф не является
полным двудольным
, отсутствующие рёбра добавляются с нулевым весом. Задача поиска такого паросочетания известна как
задача о назначениях
. Замечательный
венгерский алгоритм
решает задачу о назначениях и был одним из первых алгоритмов
комбинаторной оптимизации
. Задача может быть решена с помощью модифицированного поиска
кратчайшего пути
в алгоритме пополняющего пути.
Если используется
алгоритм Беллмана — Форда
, время работы будет
, или цену ребра можно сдвинуть для достижения времени
при применении
алгоритма Дейкстры
с
Фибоначчиевой кучей
.
Наибольшие паросочетания
Имеется алгоритм полиномиального времени для нахождения наибольшего паросочетания или паросочетания максимального веса в графе, не являющемся двудольным. Следуя
его называют методом
путей, деревьев и цветов
или просто
алгоритмом Эдмондса для паросочетаний
. Алгоритм использует
.
Обобщение той же техники может быть использовано для поиска
максимального независимого множества
в
графах без клешней
. Алгоритм Эдмодса был впоследствии улучшен до времени работы
, что соответствует алгоритмам для двудольных графов
.
Другой (рандомизированный) алгоритм, разработанный Муча и Санковсим (Mucha, Sankowski)
, основанный на быстром
произведении матриц
, даёт сложность
.
Максимальные паросочетания
Максимальное паросочетание можно найти простым
жадным алгоритмом
.
C
амым большим
максимальным паросочетанием является наибольшее паросочетание, которое может быть найдено за полиномиальное время. Pеализация с использованием псевдокода:
-
Дан граф
.
-
Установи
.
-
Пока множество
не пустое:
-
Выбери
.
-
Установи
.
-
Установи
.
-
Выведи
.
Однако неизвестно никакого полиномиального по времени алгоритма для нахождения
наименьшего максимального паросочетания
, то есть максимального паросочетания, содержащего
наименьшее возможное
число рёбер.
Заметим, что наибольшее паросочетание из
k
рёбер является
рёберным доминирующим множеством
с
k
рёбрами. И обратно, если задано минимальное рёберное доминирующее множество с
k
рёбрами, мы можем построить наибольшее паросочетание с
k
рёбрами за полиномиальное время. Таким образом, задача нахождения минимального по размеру максимального паросочетания эквивалентна задаче нахождения минимального рёберного доминирующего множества
. Обе эти
задачи оптимизации
известны как
NP-трудные
, а их распознавательные версии являются классическими примерами
NP-полных задач
. Обе задачи могут быть
аппроксимированы
с коэффициентом 2 с полиномиальным временем — просто находим произвольное максимальное паросочетание
M
.
Задачи перечисления
Число паросочетаний в графе известно как
индекс Хосойи
. Вычисление этого числа является
#P-полной
задачей. Задача остаётся #P-полной в специальном случае перечисления совершенных паросочетаний в
двудольном графе
, поскольку вычисление
перманента
случайной 0-1 матрицы (другая #P-полная задача) — это то же самое, что вычисление числа совершенных паросочетаний в двудольном графе, имеющем заданную матрицу в качестве
матрицы смежности
. Существует, однако, рандомизированная аппроксимационная схема полиномиального времени для вычисления числа паросочетаний в двудольном графе
. Замечательная теорема
, утверждающая, что число совершенных паросочетаний в
планарном графе
может быть вычислено в точности за полиномиальное время с помощью
алгоритма FKT
.
Число совершенных паросочетаний в
полном графе
K
n
(с чётным
n
) задаётся
двойным факториалом
(
n
− 1)!!
. Число паросочетаний в полном графе без ограничения, чтобы паросочетание было совершенным, задаётся
.
Нахождение всех рёбер, паросочетаемых рёбер
Одной из основных задач в теории паросочетаний является поиск всех рёбер, которые могут быть расширены до наибольшего паросочетания. Лучший
детерминированный алгоритм
решения этой задачи работает за время
.
Существует рандомизированный алгоритм, решающий задачу за время
.
В случае двудольного графа можно найти наибольшее паросочетание и использовать его для нахождения всех максимально паросочетаемых рёбер за линейное время
;
что даст в результате
для общих двудольных графов и
для плотных двудольных графов с
.
В случае, если одно из наибольших паросочетаний известно заранее
, общее время работы алгоритма будет
.
Характеристики и замечания
Теорема Кёнига
утверждает, что в двудольных графах размер наибольшего паросочетания равно размеру наименьшего
вершинного покрытия
. Из этого следует, что для двудольных графов задачи нахождения
наименьшего вершинного покрытия
,
наибольшего независимого множества
, и
могут быть решены за
полиномиальное время
.
Теорема Холла
(или теорема о свадьбах) обеспечивает характеризацию двудольных графов, имеющих совершенные паросочетания, а
теорема Татта
даёт характеризацию произвольных графов.
Совершенное паросочетание порождает
остовный
1-регулярный
подграф, то есть
1-фактор
. В общем случае остовный
k
-регулярный подграф — это
k
-фактор
.
Приложения
Структурная формула Кекуле
ароматических соединений
состоит из совершенных паросочетаний их
углеродного скелета
, показывая местоположение
двойных связей
в
химической структуре
. Эти структуры названы в честь
Фридриха Августа Кекуле
, который показал, что
бензол
(в терминах теории графов — это цикл из 6 вершин) может быть представлен в виде такой структуры
.
Индекс Хосойи
— это число непустых паросочетаний плюс единица. Он применяется в
вычислительной
и
математической химии
для исследования органических соединений.
См. также
Примечания
-
↑
Станислав Окулов.
. — Litres, 2014-02-07. — С. 186. — 428 с. —
ISBN 9785457534674
.
-
Alan Gibbons, Algorithmic Graph Theory, Cambridge University Press, 1985, Chapter 5.
-
Евстигнеев В.А.,Касьянов В.Н.
Series-parallel poset
// Словарь по графам в информатике / Под редакцией проф. Виктора Николаевича Касьянова. — Новосибирск: ООО «Сибирское Научное Издательство», 2009. — Т. 17. — (Конструирование и оптимизация программ). —
ISBN 978-591124-036-3
.
-
Фуад Алескеров, Элла Хабина, Дмитрий Шварц.
. — Litres, 2016-01-28. — С. 22. — 343 с. —
ISBN 9785457966925
.
-
Рубчинский А. А.
. — Directmedia, 2014-08-06. — С. 136. — 269 с. —
ISBN 9785445838029
.
-
Леонид Гладков, Владимир Курейчик, Виктор Курейчик.
. — Litres, 2016-01-28. — С. 276. — 367 с. —
ISBN 9785457965997
.
-
Леонид Гладков, Владимир Курейчик, Виктор Курейчик, Павел Сороколетов.
. — Litres, 2016-01-28. — С. 330. — 381 с. —
ISBN 9785457967472
.
-
Tibor Gallai.
Über extreme Punkt- und Kantenmengen // Ann. Univ. Sci. Budapest. Eötvös Sect. Math.. — 1959. —
Т. 2
. —
С. 133–138
.
-
↑
Douglas Brent West.
Introduction to Graph Theory. — 2nd. — Prentice Hall, 1999. —
ISBN 0-13-014400-2
.
-
↑
M. Mucha, P. Sankowski.
Maximum Matchings via Gaussian Elimination //
. — 2004. —
С. 248–255
.
-
Bala G. Chandran, Dorit S. Hochbaum.
. — 2011. —
arXiv
:
.
.
-
M. Fredman, R. Tarjan.
Fibonacci heaps and their uses in improved network optimization algorithms //
Journal of the ACM
. — 1987. —
Т. 34
,
вып. 3
. —
С. 596–615
.
-
Rainer Burkard, Mauro Dell’Amico, Silvano Martello.
. — Philadelphia: SIAM, Society for Industrial and Applied Mathematics, 2009. — С.
—79, 98.
глава 4.1.3 Historical notes, books, and surveys, глава 4.4.3 Efficient implementations
-
Silvio Micali, Vijay Vazirani.
An
algorithm for finding maximum matching in general graphs //
. — 1980. —
С. 17–27
. —
doi
:
.
-
Yannakakis Mihalis, Gavril Fanica.
Edge dominating sets in graphs // SIAM Journal on Applied Mathematics. — 1980. —
Т. 38
,
вып. 3
. —
С. 364–372
. —
doi
:
.
-
Michael R. Garey, David S. Johnson.
. — W.H. Freeman, 1979. —
ISBN 0-7167-1045-5
.
. Рёберное доминирующее множество обсуждается при рассмотрении задач нахождения доминирующих множеств, задачи GT2 в приложении A1.1. Минимальное по размеру максимальное паросочетание — это задача GT10 в приложении A1.1.
-
Giorgio Ausiello, Pierluigi Crescenzi, Giorgio Gambosi, Viggo Kann, Alberto Marchetti-Spaccamela, Marco Protasi.
Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties. — Springer, 2003.
Минимальное доминирующее рёберное множество — это задача GT3 в приложении B (страница 370). Минимальное по размеру максимальное паросочетание — это задача GT10 в приложении B (страница 374). См. также
от 5 сентября 2013 на
Wayback Machine
и
от 6 марта 2014 на
Wayback Machine
в
от 2 октября 2013 на
Wayback Machine
.
-
Ivona Bezáková, Daniel Štefankovič, Vijay V. Vazirani, Eric Vigoda.
Accelerating Simulated Annealing for the Permanent and Combinatorial Counting Problems //
. — 2008. —
Т. 37
,
вып. 5
. —
С. 1429–1454
. —
doi
:
.
-
David Callan.
. — 2009. —
arXiv
:
.
-
Extremal problems for topological indices in combinatorial chemistry //
. — 2005. —
Т. 12
,
вып. 7
. —
С. 1004–1013
. —
doi
:
.
-
Marcelo H.de Carvalho, Joseph Cheriyan.
An
algorithm for ear decompositions of matching-covered graphs // Proc. ACM/SIAM Symposium on Discrete Algorithms (SODA). — 2005. —
С. 415–423
.
-
Michael O. Rabin, Vijay V. Vazirani.
Maximum matchings in general graphs through randomization // J. of Algorithms. — 1989. —
Т. 10
. —
С. 557–567
.
-
Tamir Tassa.
Finding all maximally-matchable edges in a bipartite graph //
. — 2012. —
Т. 423
. —
С. 50–58
. —
doi
:
.
-
Aris Gionis, Arnon Mazza, Tamir Tassa.
k
-Anonymization revisited //
. — 2008. —
С. 744–753
.
-
Смотрите, например,
Nenad Trinajstić, Douglas J. Klein, Milan Randić.
On some solved and unsolved problems of
. — 1986. —
Т. 30
,
вып. S20
. —
С. 699–742
. —
doi
:
.
Литература для дальнейшего чтения
-
László Lovász, Michael D. Plummer.
Matching Theory. — North-Holland, 1986. —
ISBN 0-444-87916-1
.
-
Introduction to Algorithms. — second. — MIT Press and McGraw–Hill, 2001. —
ISBN 0-262-53196-8
.
-
S. J. Cyvin, Ivan Gutman.
Kekule Structures in Benzenoid Hydrocarbons. — Springer-Verlag, 1988.
-
Marek Karpinski, Wojciech Rytter.
. — Oxford University Press, 1998. —
ISBN 978-0-19-850162-6
.
Ссылки