Лучшие вопросы
Таймлайн
Чат
Перспективы
Паросочетание
набор попарно несмежных рёбер графа Из Википедии, свободной энциклопедии
Remove ads
В теории графов паросочетание, или независимое множество рёбер в графе, — это набор попарно несмежных рёбер.
Определение
Суммиров вкратце
Перспектива
Пусть дан граф G = (V,E), паросочетание M в G — это множество попарно несмежных рёбер, то есть рёбер, не имеющих общих вершин, т.е. .
Связанные определения
Максимальное паросочетание — это такое паросочетание M в графе G, которое не содержится ни в каком другом паросочетании этого графа, то есть к нему невозможно добавить ни одно ребро, которое бы являлось несмежным ко всем рёбрам паросочетания. Другими словами, паросочетание M графа G является максимальным, если любое ребро в G имеет непустое пересечение, по крайней мере, с одним ребром из M. Ниже приведены примеры максимальных паросочетаний (красные рёбра) в трёх графах[1].
Наибольшее паросочетание (или максимальное по размеру паросочетание[2])— это такое паросочетание, которое содержит максимальное количество рёбер. Число паросочетания[3] графа — это число рёбер в наибольшем паросочетании. У графа может быть множество наибольших паросочетаний. При этом любое наибольшее паросочетание является максимальным, но не любое максимальное будет наибольшим. Следующие три рисунка показывают наибольшие паросочетания в тех же трёх графах[1].
Некоторые авторы используют термин «максимальное паросочетание» для наибольшего паросочетания[4][5][6][7].
Совершенным паросочетанием (или 1-фактором) называется паросочетание, в котором участвуют все вершины графа. То есть любая вершина графа инцидентна ровно одному ребру, входящему в паросочетание. Фигура (b) на рисунке выше является примером такого паросочетания. Любое совершенное паросочетание является наибольшим и максимальным. Совершенное паросочетание является также рёберным покрытием минимального размера. В общем случае , где — число рёберного покрытия графа , иными словами, размер наибольшего паросочетания не превосходит размера наименьшего рёберного покрытия.
Почти совершенным паросочетанием называется паросочетание, в котором не участвует ровно одна вершина. Это может произойти, если граф имеет нечётное число вершин. На рисунке выше паросочетание в графе (c) является почти совершенным. Если для любой вершины в графе существует почти совершенное паросочетание, не содержащее именно эту вершину, граф называется факторно-критическим.
Пусть задано паросочетание M.
- чередующийся путь — это путь, в котором рёбра поочерёдно принадлежат паросочетанию и не принадлежат ему.
- пополняющий путь (или увеличивающий путь) — это чередующийся путь, начинающийся и кончающийся свободными вершинами (то есть не участвующими в паросочетании).
Лемма Бержа утверждает, что паросочетание является наибольшим в том и только в том случае, если не существует пополняющего пути.
Remove ads
Свойства
- Число совершенных паросочетаний в двудольном графе равно перманенту его матрицы смежности.
- В любом графе без изолированных вершин число паросочетания и число рёберного покрытия в сумме дают число вершин[8].
- В частности, если существует совершенное паросочетание, то оба числа равны |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.
Remove ads
Многочлен паросочетаний
Производящая функция числа k-рёберных паросочетаний в графе называется многочлен паросочетаний. Пусть G — граф и mk — число k-рёберных паросочетаний. Полиномом паросочетаний графа G будет
Есть другое определение полинома паросочетаний
- ,
где n — число вершин в графе. Оба определения имеют свои области применения.
Алгоритмы и вычислительная сложность
Суммиров вкратце
Перспектива
Наибольшее паросочетание в двудольном графе
Задачи нахождения паросочетания часто возникают при работе с двудольными графами. Поиск наибольшего паросочетания в двудольном графе[9] является, пожалуй, простейшей задачей. Алгоритм пополняющего пути получает его, находя пополняющий путь из каждой вершины в и добавляя его в паросочетание, если путь будет найден. Альтернативный способ решения заключается в том, что паросочетание будет дополняться до тех пор, пока существуют расширяющие дополняющие пути:
- Установи .
- Пока имеются расширяющие пополняющие пути :
- , где - симметрическая разность множеств.
Пополняющий путь - это путь вида , для которого истинно при . Пополняющий путь называется расширяющим, если .
Лемма: Для любого графа , паросочетания и пополняющего пути справедливо паросочетание и . Доказательство: Пусть , и - начальная вершина , так что и , а также - последняя вершина , так что и , и - промежуточная вершина , так что . Из этого следует, что в граф будет добавлено на одно ребро больше, чем удалено из него.
Лемма: Для любого графа и паросочетаний , таких, что справедливо следующее: граф содержит минимум не пересекающихся в вершинах пополняющих путей относительно в . Доказательство: Пусть и , при этом действительно и и таким образом следует . Пусть при компоненты связности графа . Из следует
- является изолированной вершиной или
- является циклом четной длины или
- является путем четной длины или
- является путем нечетной длины
Вершины в происходят попеременно из и . Пусть
, а только если - пополняющий путь. и это означает, что должно существовать минимум компонент с и, как следствие, дополняющих путей. Согласно определению компонент связности, такие дополняющи пути не будут пересекаться в вершинах.
Найти дополняющий путь можно следующим образом:
- Даны двудольный граф и паросочетание .
- Создай , где
- Поиск дополняющего пути сводится к поиску в из свободной вершины в свободную вершину .
Поскольку пополняющий путь может быть найден за - время поиска в глубину, время работы алгоритма составит . Это решение эквивалентно добавлению суперисточника с рёбрами ко всем вершинам , и суперстока с рёбрами из всех вершин (трансформация графа займет , и поиску максимального потока из в . Все рёбра, по которым идёт поток из в , образуют максимальное паросочетание, а размер наибольшего паросочетания будет равен величине потока. Несколько быстрее работает алгоритм Хопкрофта — Карпа, работающий за время . Другой подход базируется на алгоритме быстрого умножения матриц и даёт сложность [10], что в теории лучше для достаточно плотных графов, но на практике алгоритм медленнее.[11]
Во взвешенном двудольном графе
Во взвешенном двудольном графе каждому ребру приписывается вес. Паросочетание максимального веса в двудольном графе[9] определяется как паросочетание, для которого сумма весов рёбер паросочетания имеет максимальное значение. Если граф не является полным двудольным, отсутствующие рёбра добавляются с нулевым весом. Задача поиска такого паросочетания известна как задача о назначениях. Замечательный венгерский алгоритм решает задачу о назначениях и был одним из первых алгоритмов комбинаторной оптимизации. Задача может быть решена с помощью модифицированного поиска кратчайшего пути в алгоритме пополняющего пути. Если используется алгоритм Беллмана — Форда, время работы будет , или цену ребра можно сдвинуть для достижения времени при применении алгоритма Дейкстры с Фибоначчиевой кучей[12]. [13]
Наибольшие паросочетания
Имеется алгоритм полиномиального времени для нахождения наибольшего паросочетания или паросочетания максимального веса в графе, не являющемся двудольным. Следуя Джеку Эдмондсу[англ.] его называют методом путей, деревьев и цветов или просто алгоритмом Эдмондса для паросочетаний. Алгоритм использует двунаправленные дуги[англ.]. Обобщение той же техники может быть использовано для поиска максимального независимого множества в графах без клешней. Алгоритм Эдмодса был впоследствии улучшен до времени работы , что соответствует алгоритмам для двудольных графов[14]. Другой (рандомизированный) алгоритм, разработанный Муча и Санковсим (Mucha, Sankowski)[10], основанный на быстром произведении матриц, даёт сложность .
Максимальные паросочетания
Максимальное паросочетание можно найти простым жадным алгоритмом. Cамым большим максимальным паросочетанием является наибольшее паросочетание, которое может быть найдено за полиномиальное время. Pеализация с использованием псевдокода:
- Дан граф .
- Установи .
- Пока множество не пустое:
- Выбери .
- Установи .
- Установи .
- Выведи .
Однако неизвестно никакого полиномиального по времени алгоритма для нахождения наименьшего максимального паросочетания, то есть максимального паросочетания, содержащего наименьшее возможное число рёбер.
Заметим, что наибольшее паросочетание из k рёбер является рёберным доминирующим множеством с k рёбрами. И обратно, если задано минимальное рёберное доминирующее множество с k рёбрами, мы можем построить наибольшее паросочетание с k рёбрами за полиномиальное время. Таким образом, задача нахождения минимального по размеру максимального паросочетания эквивалентна задаче нахождения минимального рёберного доминирующего множества[15]. Обе эти задачи оптимизации известны как NP-трудные, а их распознавательные версии являются классическими примерами NP-полных задач[16]. Обе задачи могут быть аппроксимированы с коэффициентом 2 с полиномиальным временем — просто находим произвольное максимальное паросочетание M[17].
Задачи перечисления
Число паросочетаний в графе известно как индекс Хосойи. Вычисление этого числа является #P-полной задачей. Задача остаётся #P-полной в специальном случае перечисления совершенных паросочетаний в двудольном графе, поскольку вычисление перманента случайной 0-1 матрицы (другая #P-полная задача) — это то же самое, что вычисление числа совершенных паросочетаний в двудольном графе, имеющем заданную матрицу в качестве матрицы смежности. Существует, однако, рандомизированная аппроксимационная схема полиномиального времени для вычисления числа паросочетаний в двудольном графе[18]. Замечательная теорема Кастелейна[англ.], утверждающая, что число совершенных паросочетаний в планарном графе может быть вычислено в точности за полиномиальное время с помощью алгоритма FKT.
Число совершенных паросочетаний в полном графе Kn (с чётным n) задаётся двойным факториалом (n − 1)!![19]. Число паросочетаний в полном графе без ограничения, чтобы паросочетание было совершенным, задаётся телефонными номерами[англ.][20].
Нахождение всех рёбер, паросочетаемых рёбер
Одной из основных задач в теории паросочетаний является поиск всех рёбер, которые могут быть расширены до наибольшего паросочетания. Лучший детерминированный алгоритм решения этой задачи работает за время [21]. Существует рандомизированный алгоритм, решающий задачу за время [22]. В случае двудольного графа можно найти наибольшее паросочетание и использовать его для нахождения всех максимально паросочетаемых рёбер за линейное время[23]; что даст в результате для общих двудольных графов и для плотных двудольных графов с . В случае, если одно из наибольших паросочетаний известно заранее[24], общее время работы алгоритма будет .
Remove ads
Характеристики и замечания
Теорема Кёнига утверждает, что в двудольных графах размер наибольшего паросочетания равен размеру наименьшего вершинного покрытия. Из этого следует, что для двудольных графов задачи нахождения наименьшего вершинного покрытия, наибольшего независимого множества, и максимальной вершинной биклики могут быть решены за полиномиальное время.
Теорема Холла (или теорема о свадьбах) обеспечивает характеризацию двудольных графов, имеющих совершенные паросочетания, а теорема Татта даёт характеризацию произвольных графов.
Совершенное паросочетание порождает остовный 1-регулярный подграф, то есть 1-фактор. В общем случае остовный k-регулярный подграф — это k-фактор.
Remove ads
Приложения
Структурная формула Кекуле ароматических соединений состоит из совершенных паросочетаний их углеродного скелета, показывая местоположение двойных связей в химической структуре. Эти структуры названы в честь Фридриха Августа Кекуле, который показал, что бензол (в терминах теории графов — это цикл из 6 вершин) может быть представлен в виде такой структуры[25].
Индекс Хосойи — это число непустых паросочетаний плюс единица. Он применяется в вычислительной и математической химии для исследования органических соединений.
Remove ads
См. также
- Рёберная раскраска
- Независимое множество
- Декомпозиция Далмейджа-Мендельсона
- Устойчивое паросочетание
- Оптимальное паросочетание[англ.]
- Кососимметический граф[англ.]
- Словарь терминов теории графов
Примечания
Литература для дальнейшего чтения
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads