
DM.III
.8.docОчевидно, что:
1)
,
;
2)
,
;
3)
.
Можно, наконец,
доказать, что для связного n-графа
.
Паросочетания возникают в различных задачах. Рассмотрим одну из них, известную под названием задача о свадьбах:
В компании юношей и девушек каждый из юношей знаком с несколькими девушками. В каком случае можно женить юношей так, чтобы каждый женился на одной из знакомых ему девушек?
Пусть,
например, имеются три юноши ю1,
ю2,
ю3
и пять девушек д1,
д2,
д3,
д4,
д5.
Первый юноша знаком со всеми девушками,
второй – с девушками д1,
д3,
д4,
а третий – с д2,
д4,
д5.
Эту ситуацию можно иллюстрировать с
помощью двудольного графа (рис. 134), в
котором наличие ребра означает знакомство
юноши с девушкой. Выделенные ребра
показывают один из возможных вариантов
бракосочетаний. Паросочетание, состоящее
из этих ребер, является наибольшим.
Паросочетание
в двудольном графе
называется паросочетанием
из
в
,
если для каждой вершины
существует вершина
такая, что ребро
.
В этом случае также говорят, что
паросочетание
покрывает
вершины доли
.
Наконец, взаимно однозначное соответствие
между вершинами из
и подмножеством вершин из
,
обладающее тем свойством, что
соответствующие вершины соединены
ребром, часто называют совершенным
паросочетанием
из
в
.
Паросочетание на рис. 134 является
совершенным паросочетанием из
в
,
но не является паросочетанием из
в
(покрывает
,
но не покрывает
).
Таким образом, чтобы решить задачу о свадьбах, необходимо указать, при каких условиях существует совершенное поросочетание из множества юношей во множество девушек.
Паросочетания были определены для произвольных гра-фов, не обязательно двудольных. Однако при рассмотрении двудольных графов они возникают наиболее естественным образом. Решение очень многих практических задач связано с исследованием паросочетаний в двудольных графах. Задача о свадьбах – типичный пример подобной задачи. Рассмотрим еще одну такую задачу.
2. Критерий двудольности. Дальнейшее изучение паросочетаний в двудольных графах начнем с критерия двудольности.
Теорема
3.10.1
(Кёниг).
Конечный связный граф
является двудольным тогда и только
тогда, когда он не имеет циклов нечетной
длины.
Доказательство.
Пусть
– двудольный граф и
– один из его циклов длины
.
Фиксируем некоторую вершину
цикла
и, выходя из нее, последовательно обойдем
все
ребер этого цикла. В итоге мы опять
возвратимся в вершину
.
Поскольку концы каждого ребра двудольного
графа лежат в разных долях,
– четное число.
Обратно, пусть
– связный граф, не имеющий циклов
нечетной длины. Выберем вершину
графа и построим разбиение множества
всех его вершин на два подмножества
и
.
Вершину
включим в подмножество
.
В этот же класс отнесем все те вершины
графа, для которых расстояние
– четное число. Остальные вершины графа
включим в класс
,
расстояние от
до этих вершин – нечетное число.
Докажем, что ни в
одном из подмножеств
,
нет двух смежных вершин, т.е. вершин,
которые соединены друг с другом.
Предположим, что это не так, т.е. существуют
смежные вершины
и
,
принадлежащие одному классу. Так как
вершина
принадлежит классу
,
а все смежные ей вершины – классу
,
то ни одна из вершин
,
не совпадает с вершиной
.
Пусть
– кратчайшая цепь, соединяющая
с
,
а
– кратчайшая цепь, соединяющая
с
.
Общие вершины этих цепей обозначим
через
,
…,
,
считая от вершины
.
Поскольку любая подцепь кратчайшей
цепи является кратчайшей, подцепи цепей
,
,
соединяющие
и
,
имеют одинаковые длины. По этой же
причине одинаковые длины имеют их
подцепи, соединяющие
и
(
).
Отсюда следует, что подцепи цепей
,
от вершины
до вершин
и
имеют одинаковые четности. Но тогда
объединение этих подцепей и ребра
)
является циклом нечетной длины, а это
противоречит условию. Теорема доказана.
■
Следствие. Конечный связный граф является двудольным тогда и только тогда, когда он не имеет простых циклов нечетной длины.
Из доказательства
теоремы легко извлечь алгоритм
распознавания двудольных графов. Пусть
– произвольный конечный граф.
1. Выберем произвольную
вершину
и пометим ее номером 0.
2. Каждую вершину,
смежную
,
пометим номером 1; множество таких вершин
обозначим
.
3. Все вершины,
смежные вершинам множества
,
пометим номером 0, множество таких вершин
обозначим
.
4. Все вершины,
смежные вершинам множества
,
пометим номером 1 и т.д.
Поскольку граф
является конечным, после некоторого
конечного числа шагов все вершины будут
помечены. Пусть
– множество вершин, помеченных нулем,
а
–
множество вершин, помеченных единицей.
Если ни в одном из этих множеств, не
окажется вершин, которые соединены друг
с другом, то граф является двудольным.
В противном случае, граф двудольным не
является.
3. Паросочетания и трансверсали в двудольных графах. Рассмотрим критерий существования совершенного паросочетания (т.е. покрывающего вершины одной из долей) в двудольном графе.
Теорема
3.10.2.
Пусть
– двудольный граф,
– произвольное подмножество множества
,
– его окружение. Тогда совершенное
паросочетание из
в
существует тогда и только тогда, когда
(3.10.1)
для каждого
подмножества
из
.
На языке задачи о
свадьбах необходимое условие состоит
в том, чтобы любые
юношей из
были в совокупности знакомы по меньшей
мере с
девушками. Очевидно, что если для
какого-то
это условие нарушено, то женить требуемым
способом невозможно даже этих
юношей.
Задача
10.1. На дне рождения присутствуют
девушки и 8 юношей. Оказалось, что для
любых
юношей число девушек, знакомых хотя бы
с одним из них, не меньше, чем
.
Доказать, что не менее половины юношей
могут одновременно пригласить на танец
знакомую девушку.
Решение. Пусть
– множество присутствующих юношей,
– девушек. Построим двудольный граф
присутствующих, в котором ребрами
соединены вершины, соответствующие
знакомым юношам и девушкам. Добавим 4
новых вершины в долю
,
каждую из них соединим с каждой вершиной
доли
.
Полученный после этих операций новый
граф обозначим
.
Легко заметить,
что существование в графе
паросочетания, содержащего 4 ребра,
эквивалентно существованию совершенного
паросочетания в графе
.
Согласно теореме 3.10.2 последнее
паросочетание существует тогда и только
тогда, когда
для любого подмножества
.
Отсюда следует, что окружение подмножества
(т.е. девушки, знакомые с юношами из
)
в графе
должно состоять из
вершин. По условию для подмножества
,
содержащего
вершин,
(для любых
юношей число девушек, знакомых хотя бы
с одним из них, не меньше, чем
).
Следовательно, полученное требование
выполняется.
При решении некоторых типов комбинаторных задач используется понятие трансверсали и теорема М.Холла, характеризующая это понятие.
Пусть
– конечное непустое множество, а
– семейство его подмножеств (необязательно
различных и необязательно непересекающихся).
Трансверсалью (или системой
различных представителей) семейства
называется всякое подмножество
элементов из
,
в котором
,
и
при
.
Теорема
3.10.3 (Холл).
Пусть
– непустое множество,
– семейство его подмножеств. Для
существования трансверсали семейства
необходимо и достаточно, чтобы для
каждого
объединение
любых
подмножеств
,
содержало не менее
различных элементов.