Звезда и паросочетание
В звезде \(K_{1,n}\) найдите наибольший размер паросочетания.
Все рёбра имеют общий конец.
Любые два ребра звезды имеют общий центр, поэтому в паросочетание нельзя взять два ребра. Одно ребро взять можно. Ответ: \(1\).
Глава
Теория
Паросочетание выбирает рёбра без общих концов. В двудольном графе это язык распределения задач, выбора представителей и составления пар.
Теорема Холла даёт точный критерий: левую долю \(A\) можно полностью покрыть паросочетанием тогда и только тогда, когда для любого \(S\subseteq A\) множество соседей \(N(S)\) имеет размер хотя бы \(|S|\).
Если объекты одного типа должны получить попарно разные объекты другого типа, стройте двудольный граф: слева требования, справа возможные выборы.
Затем проверьте условие Холла: любая группа требований должна иметь не меньше доступных вариантов, чем её размер.
Примеры
Паросочетание — набор рёбер без общих концов. В звезде \(K_{1,n}\) любое паросочетание содержит не больше одного ребра, потому что все рёбра имеют общий центр.
Если множество \(S\) левой доли покрыто паросочетанием, то его вершины сопоставлены разным вершинам из \(N(S)\). Поэтому \(|N(S)|\ge |S|\).
Для множеств \(A_1,\ldots,A_n\) система различных представителей — это выбор \(a_i\in A_i\), причём все \(a_i\) различны. Это паросочетание между множествами слева и элементами справа.
Если двудольный граф \(d\)-регулярен, то для любого \(S\) слева из \(S\) выходит \(d|S|\) рёбер. Все они входят в \(N(S)\), каждая вершина справа принимает не больше \(d\) таких рёбер, значит, \(d|S|\le d|N(S)|\), и \(|N(S)|\ge |S|\). По Холлу есть паросочетание.
Если каждый набор из \(k\) учеников совместно может решать хотя бы \(k\) разных задач, то можно назначить каждому ученику по разной доступной задаче. Это ровно условие Холла.
Если для любого \(S\) выполнено \(|N(S)|\ge |S|+1\), то после удаления любого одного правого объекта всё ещё выполнено \(|N(S)|\ge |S|\), значит, matching сохраняется.
Если путь начинается и заканчивается непокрытыми вершинами и его рёбра чередуются: не из паросочетания, из паросочетания, не из паросочетания, то замена вдоль пути увеличивает размер паросочетания на \(1\).
В \(d\)-регулярном двудольном графе можно найти совершенное паросочетание, удалить его, получить \((d-1)\)-регулярный граф и повторять. Так рёбра раскладываются на \(d\) совершенных паросочетаний.
Задачи
В звезде \(K_{1,n}\) найдите наибольший размер паросочетания.
Все рёбра имеют общий конец.
Любые два ребра звезды имеют общий центр, поэтому в паросочетание нельзя взять два ребра. Одно ребро взять можно. Ответ: \(1\).
В двудольном графе паросочетание покрывает все \(a\) вершин левой доли. Докажите, что правая доля содержит не меньше \(a\) вершин.
Разные левые вершины сопоставлены разным правым.
Рёбра паросочетания не имеют общих концов. Поэтому \(a\) покрытых левых вершин соединены с \(a\) различными вершинами правой доли. Значит, справа есть хотя бы \(a\) вершин.
Пусть в двудольном графе есть паросочетание, покрывающее всю левую долю \(A\). Докажите, что для любого \(S\subseteq A\) выполнено \(|N(S)|\ge |S|\).
Посмотрите, куда паросочетание отправляет вершины из \(S\).
Каждая вершина из \(S\) покрыта своим ребром паросочетания. Эти рёбра ведут в разные вершины правой доли, и все эти вершины лежат в \(N(S)\). Поэтому в \(N(S)\) есть как минимум \(|S|\) вершин.
Пусть \(A_1=A_2=\{1,2\}\), \(A_3=\{2,3\}\). Найдите систему различных представителей.
Попробуйте оставить число \(2\) для третьего множества или не оставлять.
Например, можно выбрать \(1\in A_1\), \(2\in A_2\), \(3\in A_3\). Все представители различны, значит, это система различных представителей.
В графе выбрано паросочетание, к которому нельзя добавить ребро. Докажите, что ребра между двумя непокрытыми вершинами нет.
Такое ребро можно было бы добавить.
Если две непокрытые вершины соединены ребром, это ребро не имеет общих концов с выбранными рёбрами. Его можно добавить к паросочетанию, противоречие.
Три кружка имеют списки возможных старост: \(A_1=\{a,b\}\), \(A_2=\{b,c\}\), \(A_3=\{a,c\}\). Докажите, что можно выбрать разных старост для всех кружков.
Проверьте условие Холла для подмножеств кружков.
Для одного кружка вариантов \(2\). Для любых двух кружков объединение списков содержит все три имени или хотя бы два имени. Для трёх кружков объединение равно \(\{a,b,c\}\), имеет размер \(3\). Условие Холла выполнено, значит, существует система различных представителей. Например, \(A_1\to a\), \(A_2\to b\), \(A_3\to c\).
В двудольном графе каждая левая вершина имеет степень не меньше \(3\), а каждая правая вершина имеет степень не больше \(3\). Докажите, что существует паросочетание, покрывающее всю левую долю.
Для \(S\) слева посчитайте рёбра из \(S\) в \(N(S)\).
Возьмём любое \(S\) в левой доле. Из \(S\) выходит не меньше \(3|S|\) рёбер. Все они входят в \(N(S)\), а каждая вершина из \(N(S)\) принимает не больше \(3\) таких рёбер. Значит, \(3|S|\le3|N(S)|\), откуда \(|N(S)|\ge |S|\).
Условие Холла выполнено, следовательно, есть паросочетание, покрывающее левую долю.
Докажите, что в любом \(d\)-регулярном двудольном графе с \(d>0\) есть паросочетание, покрывающее всю левую долю.
Примените подсчёт рёбер для произвольного \(S\).
Для любого \(S\) слева из него выходит ровно \(d|S|\) рёбер. Все они входят в \(N(S)\), и каждая вершина из \(N(S)\) имеет степень \(d\), значит, принимает не больше \(d\) этих рёбер. Поэтому \(d|S|\le d|N(S)|\), откуда \(|N(S)|\ge |S|\). По теореме Холла нужное паросочетание существует.
Для семейства множеств \(A_1,\ldots,A_n\) известно, что объединение любых \(k\) из них содержит не меньше \(k+1\) элементов. Докажите, что после удаления любого одного элемента всё равно можно выбрать систему различных представителей.
После удаления одного элемента объединение любых \(k\) множеств потеряет не больше одного элемента.
Удалим произвольный элемент \(x\). Возьмём любые \(k\) множеств. До удаления их объединение имело размер не меньше \(k+1\). После удаления \(x\) размер объединения уменьшится не более чем на \(1\), значит, останется не меньше \(k\) элементов.
Условие Холла выполнено для нового семейства, поэтому система различных представителей существует.
Пусть относительно паросочетания найден путь, который начинается и заканчивается непокрытыми вершинами, а его рёбра чередуются: не выбранное, выбранное, не выбранное и так далее. Докажите, что размер паросочетания можно увеличить на \(1\).
Поменяйте статус всех рёбер пути.
Удалим из паросочетания выбранные рёбра этого пути и добавим невыбранные рёбра пути. Так как путь чередуется, общих концов у новых выбранных рёбер не появится.
Путь начинается и заканчивается непокрытыми вершинами, поэтому невыбранных рёбер на пути на одно больше, чем выбранных. Следовательно, размер паросочетания увеличится на \(1\).
Каждому из \(n\) докладов разрешено выступать в некоторые дни. Известно, что для любых \(k\) докладов объединение разрешённых дней содержит не меньше \(k\) дней. Докажите, что можно назначить всем докладам разные дни.
Это ровно условие Холла.
Построим двудольный граф: слева доклады, справа дни, ребро означает, что доклад можно поставить в этот день. Условие задачи говорит, что для любого набора \(S\) докладов множество соседних дней имеет размер не меньше \(|S|\). По теореме Холла есть паросочетание, покрывающее все доклады. Оно и задаёт расписание.
В каждой из \(n\) секций состоят некоторые школьники. Докажите, что можно выбрать из каждой секции по разному представителю тогда и только тогда, когда объединение любых \(k\) секций содержит не меньше \(k\) школьников.
Переформулируйте как SDR.
Если представители выбраны, то любые \(k\) секций имеют \(k\) разных представителей, все они лежат в объединении этих секций. Поэтому объединение содержит не меньше \(k\) школьников.
Обратно, условие про объединения — это условие Холла для множеств школьников, соответствующих секциям. По теореме Холла существует система различных представителей.
В двудольном графе с левой долей \(A\) выполнено \(|N(S)|\ge |S|+2\) для любого непустого \(S\subseteq A\). Докажите, что после удаления любых двух вершин правой доли всё ещё есть паросочетание, покрывающее \(A\).
Любое \(N(S)\) потеряет не больше двух вершин.
Удалим две правые вершины. Для любого непустого \(S\subseteq A\) его множество соседей потеряет не больше двух вершин. Поэтому новый размер соседства не меньше \(|S|+2-2=|S|\).
Условие Холла сохраняется, значит, существует паросочетание, покрывающее левую долю.
В двудольном графе каждая левая вершина имеет степень не меньше \(5\), а каждая правая вершина имеет степень не больше \(4\). Докажите, что существует паросочетание, покрывающее левую долю.
Подсчёт даст даже \(|N(S)|\ge \frac54|S|\).
Для любого \(S\) слева из него выходит не меньше \(5|S|\) рёбер. Все эти рёбра входят в \(N(S)\), а каждая правая вершина принимает не больше \(4\) таких рёбер. Значит, \(5|S|\le4|N(S)|\), откуда \(|N(S)|\ge \frac54|S|\ge |S|\).
По теореме Холла есть паросочетание, покрывающее левую долю.
Докажите, что в любом \(d\)-регулярном двудольном графе с \(d>0\) существует совершенное паросочетание.
Сначала докажите, что доли равны, затем примените Холла.
Пусть доли \(A\) и \(B\). Считая рёбра по долям, получаем \(d|A|=d|B|\), значит, \(|A|=|B|\).
По задаче о регулярном двудольном графе есть паросочетание, покрывающее \(A\). Так как доли равны, оно покрывает и \(B\). Следовательно, паросочетание совершенное.
Есть \(n\) экзаменов и \(n\) дней. Каждый экзамен запрещено проводить не более чем в одном дне, и каждый день запрещён не более чем для одного экзамена. Докажите, что экзамены можно назначить на разные дни, соблюдая запреты.
Проверьте условие Холла для одного экзамена и для двух или более экзаменов отдельно.
Построим двудольный граф: экзамен соединён с днём, если его можно провести в этот день. Проверим условие Холла.
Для одного экзамена доступно хотя бы \(n-1\) дней, а при \(n\ge2\) это не меньше \(1\). Если взято \(k\ge2\) экзаменов, то любой день доступен хотя бы одному из них: ведь один день может быть запрещён не более чем для одного экзамена. Значит, объединение доступных дней равно всем \(n\) дням, а \(n\ge k\).
Условие Холла выполнено для любого набора экзаменов. Следовательно, существует расписание с разными днями.
Докажите: если относительно паросочетания существует увеличивающий путь, то паросочетание не является максимальным по размеру.
Переключите рёбра вдоль пути.
По определению увеличивающий путь начинается и заканчивается непокрытыми вершинами, а рёбра на нём чередуются. Переключение статуса рёбер вдоль пути сохраняет свойство быть паросочетанием и добавляет на одно ребро больше, чем удаляет. Значит, размер паросочетания увеличивается на \(1\). Следовательно, исходное паросочетание не было максимальным по размеру.
Докажите, что паросочетание максимально по размеру тогда и только тогда, когда относительно него нет увеличивающего пути.
Если есть большее паросочетание, рассмотрите симметрическую разность двух паросочетаний.
Если увеличивающий путь есть, то размер паросочетания можно увеличить, значит, оно не максимально.
Обратно, пусть существует паросочетание \(M'\) большего размера, чем \(M\). Рассмотрим граф, состоящий из рёбер, которые входят ровно в одно из \(M\) и \(M'\). В этом графе степени вершин не превосходят \(2\), поэтому его компоненты — пути и циклы, где рёбра из \(M\) и \(M'\) чередуются.
Так как \(|M'|>|M|\), в какой-то компоненте рёбер из \(M'\) больше, чем рёбер из \(M\). Цикл имеет поровну рёбер обоих типов, значит, это путь. Он начинается и заканчивается рёбрами из \(M'\), а его концы не покрыты \(M\). Следовательно, это увеличивающий путь относительно \(M\). Противоречие отсутствию увеличивающих путей.
Докажите, что рёбра любого \(d\)-регулярного двудольного графа можно разбить на \(d\) совершенных паросочетаний.
Найдите одно совершенное паросочетание и удалите его.
В \(d\)-регулярном двудольном графе есть совершенное паросочетание. Удалим его рёбра. У каждой вершины степень уменьшится на \(1\), поэтому оставшийся граф будет \((d-1)\)-регулярным и двудольным.
Повторяем рассуждение: находим совершенное паросочетание, удаляем его. Через \(d\) шагов все рёбра будут удалены, а найденные паросочетания попарно не пересекаются и покрывают все рёбра.
Есть семейство конечных множеств \(A_1,\ldots,A_n\). Каждый элемент принадлежит не более чем \(r\) множествам, а каждое множество имеет размер не меньше \(r\). Докажите, что у семейства есть система различных представителей.
Для \(k\) выбранных множеств посчитайте пары «множество, элемент».
Возьмём любые \(k\) множеств. В них суммарно не меньше \(rk\) вхождений элементов, потому что каждое множество имеет размер не меньше \(r\). Каждый элемент из их объединения может быть посчитан не более \(r\) раз, так как он принадлежит не более чем \(r\) множествам всего.
Если размер объединения равен \(u\), то \(rk\le ru\), значит, \(u\ge k\). Условие Холла выполнено для любых \(k\) множеств. Следовательно, система различных представителей существует.
Лестницы