Паросочетания. Реберные покрытия
Задачи, сформулированные в предыдущем пункте, решаются путем отыскания в графе , так называемых, максимального паросочетания и минимального реберного покрытия. Сформулируем определения этих понятий.
Паросочетанием в М в графе G(V,X) называется подмножество ребер X' множества Х такое, что каждая вершина графа инцидентна не более чем одному ребру из X'.
Паросочетание с наибольшим числом ребер называется максимальным паросочетанием.
Реберным покрытием С графа G(V, X) называется такое подмножество его ребер X’ множества Х, что каждая вершина графа инцидентна хотя бы одному ребру из X’.
Реберное покрытие, содержащее наибольшее число ребер, называется минимальным реберным покрытием.
Рассмотрим граф, представленный на рисунке.
Паросочетаними являются множества: {{v2, v5}, {v3, v6}}, {{v3, v6}, {v4, v7}, {v9, v8}}. Максимальным паросочетанием является, например, множество {{v8, v4}, {v6, v3}, {v5, v2}}. Если в это множество добавить хотя бы одно какое- либо ребро, то это множество уже не будет паросочетанием.
Добавим в максимальное паросочетание ребра {v1, v2}, {v4, v7}, {v9, v8}, получим реберное покрытие, причем минимальное.
Задачи о максимальном паросочетании и минимальном реберном покрытии связаны между собой таким образом, что решение любой из них позволяет найти решение другой. Изучим связь между этими задачами.
Пусть М – произвольное паросочетание графа. Возьмем любую вершину v V, которая не инцидентна ни одному из ребер, составляющих М. добавим к паросочетанию любое ребро, инцидентное вершине v, и будем повторять это действие до тех пор, пока не переберем все вершины, не инцидентные ни одному ребру из М. в результате получим множество ребер C' Х, являющихся реберным покрытием графа.
Пусть С – произвольное реберное покрытие, вершина v V, инцидентна более чем одному ребру из С. Исключим из С любое инцидентное v ребро и будем повторять это действие до тех пор, покане останется ни одной вершины, которая инцидентна более чем одному ребру. Получим некоторое паросочетание M’ графа G.
Справедливо утверждение, которое примем без доказательства:
Если М – максимальное паросочетание, то C' – минимальное реберное покрытие. Если С – минимальное реберное покрытие, то М' – максимальное паросочетание.
Эквивалентность задач о максимальном паросочетании и минимальном реберном покрытии позволяет при решении одной из них построить и решение другой.
Введем несколько необходимых понятий.
Открытая вершина – это вершинане инцидентная ни одному ребру из ребер паросочетания М.
Чередующаяся цепь – это простая цепь, в которой из любой пары смежных ребер одно принадлежит М, а другое – не принадлежит.
Увеличивающая чередующаяся цепь – это чередующаяся цепь, у которой концевые вершины являются открытыми.
Для графа , представленного на рисунке выше возьмем паросочетание М = {{v2, v5}, {v3, v6}}, тогда упорядоченная последовательность ребер {{v1, v2}, {v2, v5}, {v5, v6}, {v6, v3}, {v3, v4}} - увеличивающая чередующаяся цепь.
Алгоритм выделения максимального паросочетания основывается на утверждении:
Паросочетание М тогда и только тогда максимальное, когда для него не существует увеличивающей чередующейся цепи.
Алгоритм построения максимального паросочетания
Задан связный граф G(V, X) и выделено какое – либо паросочетание М:
выбрать любую открытую вершину и отыскать увеличивающую чередующуюся цепь;
если такая цепь есть, то не входившие в паросочетания ребра этой цепи включить в максимальное паросочетание, а остальные исключить;
если для выбранной вершины не найдется такая цепь, то выбрать другую вершину и повторить работу;
алгоритм заканчивается , когда все открытые вершины прверены на наличие увеличивающей цепи.
Минимальное реберное покрытие можно получить из построенного максимального паросочетания следующим образом: взять любую вершину, не инцидентную ребрам из М.; добавить к паросочетанию любое ребро, инцидентное этой вершине и повторять действие до тех пор, пока не переберем все вершины, не инцидентные ни одному ребру из М.
Рассмотрим пример на построение максимального паросочетания и минимального реберного покрытиядл вышеприведенного графа:
выделим паросочетание { {v5, v6} ,{v3, v4}} (ребра окрашены в красный цвет);
открытыми являются вершины: v1, v2, v7, v8, v9 ;
для вершин v2, v7, v8 существуют увеличивающие цепи;
для v2 : {v2, v5}, {v5, v6}, {v6, v3}, {v3, v4}, {v4, v7}; для нее максимальное паросочетание : {v2, v5}, {v6, v3}, {v4, v7} (ребра – синие тонкие линии));
для v7 – как для v2 ;
для v8 максимальное паросочетание: {v8 , v4}, {v3 , v6} , {v5, v2} (ребра – широкие синие линии).
Из максимального паросочетания, например для вершины v2, построим минимальное реберное покрытие: не инцидентны вершины v1 и v8 . Добавим ребра к М : {v1, v2}, {v8, v4}. Осталась не инцидентной вершина v9. Добавим в построенное реберное покрытие еще одно ребро {v9, v8}.
М вместе с добавленными ребрами – минимальное реберное покрытие данного графа.
V1 V2 V3 V4 V9
V5 V6 V7 V8
Максимальные паросочетание Минимальное реберное покрытие
- Лекция 2
- Лекция 3
- Лекция 4
- Лекция 5
- Лекция 13
- Лекция 14
- Лекция 16
- Основные понятия
- Понятие множества. Способы задания множеств.
- Понятие множества. Способы задания множеств.
- Отношения между множествами.
- 3, Операции над множествами.
- Алгебра множеств.
- Теорема о количестве подмножеств конечного множества.
- Формула включений и исключений.
- Лекция 2
- 1.Понятие вектора. Прямое произведение множеств.
- 2.Теорема о количестве элементов прямого произведения.
- Понятие вектора. Прямое произведение множеств.
- Теорема о количестве элементов прямого произведения.
- Лекция 3
- 2. Понятие высказывания.
- 3. Логические операции над высказываниями
- 4.Формулы алгебры логики.
- Лекция 4
- 2. Важнейшие равносильности алгебры логики.
- 3.Равносильные преобразования формул.
- Задачи для самостоятельного решения
- Лекция 5
- Дизъюнктивная нормальная форма.
- Конъюнктивная нормальная форма.
- Проблема разрешимости.
- Лекция 6
- Функции алгебры логики.
- 3. Представление произвольной функции алгебры логики в виде формулы алгебры логики.
- 4.Приложения алгебры логики в технике (релейно-контактные схемы).
- Контрольные вопросы
- Лекция 7
- Совершенная дизъюнктивная нормальная форма.
- Совершенная конъюнктивная нормальная форма.
- Совершенная дизъюнктивная нормальная форма.
- 2.Совершенная конъюнктивная нормальная форма.
- Лекция 8
- 2.Понятие минимальной днф. Метод минимизирующих карт.
- 3.Метод Квайна.
- 4.Метод Карно.
- 5.Постановка задачи минимизации в геометрической форме.
- 6.Сокращенная днф.
- 7.Тупиковая днф. Днф Квайна.
- Лекция 9
- Некоторые логические операции. Двоичное сложение.
- Полином Жегалкина.
- Некоторые логические операции. Двоичное сложение.
- Полином Жегалкина.
- Лекция 10
- Полная система . Достаточное условие полноты.
- Критерий полноты системы булевых функций.
- Независимые системы. Базис замкнутого класса.
- Полная система. Достаточное условие полноты.
- Критерий полноты системы булевых функций.
- 3. Независимые системы. Базис замкнутого класса.
- Лекция 11
- Понятие предиката.
- Логические операции над предикатами.
- 1. Понятие предиката
- 2. Логические операции над предикатами
- Лекция 12
- 2. Формулы логики предикатов.
- Значение формулы логики предикатов.
- 4. Равносильные формулы логики предикатов.
- Лекция 13
- Построение противоположных утверждений.
- 3. Прямая, обратная и противоположная теоремы.
- 4. Необходимые и достаточные условия.
- 5. Доказательство методом от противного.
- Задачи для самостоятельного решения
- Лекция 14
- 2. Использование метода математической индукции для нахождения сумм конечного числа слагаемых
- 3. Использование метода математической индукции для доказательства неравенств и делимости выражений, зависящих от n на некоторое число
- 4. Обобщение метода математической индукции
- Контрольные вопросы
- Лекция 15
- Операции над бинарными отношениями.
- 3. Свойства бинарных отношений.
- 4. Специальные бинарные отношения.
- Контрольные вопросы
- Лекция 16
- Функция
- 1. 4. Отображение
- Обратная функция
- 2. Свойства отображений и функций
- 3.Операции над функциями. Свойства операций
- Контрольные вопросы
- Лекция 17
- Основные понятия .
- 2. Смежность, инцидентность, степени вершин.
- 3. Способы задания графов
- Маршруты в неориентированном графе
- Операции над графами.
- Связность. Компоненты связности
- Контрольные вопросы
- Лекция 18
- 2. Метрические характеристики неориентированного графа
- Минимальные маршруты в нагруженных графах
- Задачи на деревьях
- Цикловой ранг графа. Цикломатическое число
- Контрольные вопросы
- Лекция 19
- Эйлеровы цепи и циклы
- Гамильтоновы циклы и цепи
- Эйлеровы цепи и циклы
- Гамильтоновы циклы и цепи.
- Контрольные вопросы
- Лекция 20
- Двудольный граф. Условие существования двудольного графа
- Паросочетания . Реберные покрытия
- Двудольный граф. Условие существования двудольного графа
- Паросочетания. Реберные покрытия
- Контрольные вопросы
- Лекция 21
- Основные определения
- Алгоритм плоской укладки графа
- Контрольные вопросы
- Лекция 22
- Способы задания ориентированного графа
- Путь в ориентированном графе
- 4. Связность. Компоненты связности в орграфе
- Контрольные вопросы
- Лекция 23
- 2. Минимальные пути в нагруженных орграфах
- 3. Порядковая функция орграфа без контуров
- Контрольные вопросы