
- •Теория графов и комбинаторика
- •3 Семестр
- •Содержание.
- •Лекция № 1.
- •Определение 9.
- •Определение 16.
- •Пример.
- •Лемма 4.
- •Замечание.
- •Деревья. Определение 3.
- •Лекция № 3.
- •Пример.
- •Лекция № 5.
- •Пример.
- •Пример.
- •Определение 5.
- •Теорема 2.
- •Следствие.
- •Пример.
- •Паросочетания в двудольных графах.
- •Пример.
- •Пример.
- •Пример.
- •Лекция № 12.
- •Теорема 3.
- •Пример.
- •Пример.
- •Пример.
- •Пример.
- •Пример.
- •Утверждение 1.
- •Следствие.
- •Пример.
- •Утверждение 2.
- •Определение 1.
- •Пример.
- •Пример.
- •Пример.
- •Экзаменационная программа.
Паросочетания в двудольных графах.
Определение 4.
Паросочетанием в любом графе называется подмножество попарно не смежных рёбер.
Определение 5.
Паросочетания в двудольном графе называются совершенными, если для любой вершины из левой или правой доли инцидентное ей ребро входит в это паросочетание.
Определение 6.
Максимальное паросочетание имеет максимальное число рёбер.
Следствие.
–множество всех
вершин из Y,
смежных с z.
Если существует совершенное паросочетание,
то
Необходимое и достаточное условие.
Определение 7.
Пусть
– двудольный граф,
.
Произвольно занумеруем рёбра. Возьмём
матрицу
:
Пример.
Определение 8.
Перманент квадратной
матрицы А – сумма модулей всех слагаемых
определителей
.
Утверждение.
Все совершенные
паросочетания в двудольном графе
однозначно соответствуют ненулевым
слагаемым в
.
Ненулевое
слагаемое
имеет вид
.
Покажем, что
попарно смежны, т. е. образуют паросочетание.
Если
и
смежны в вершине доли
(или долиY),
то слагаемое перманента, содержащее
такие рёбра, соответствует выбору
одинаковых строк (одинаковых столбцов)
матрицы
,
что невозможно по определению перманента
и определителя.
Теорема 1. (Холла, критического существования совершенного паросочетания)
В двудольном графе
существует совершенное паросочетание
Уже доказано
выше.
Пусть это условие
выполняется, но совершенное паросочетание
не существует, тогда каждое слагаемое
равно 0. Для любой подстановки
.
Пусть
,
тогда
строк
подматрица изp
строк
,
у которой любой минор порядкаp
равен 0
(получили противоречие).
Пример.
Следствие. (достаточное условие существования совершенного паросочетания)
Пусть
.
Если
,
то совершенное паросочетание существует.
Пусть
,
рассмотрим
– множество рёбер, инцидентных вершинам
изz.
Пусть
Следствие.
Если
,
то существует совершенное паросочетание.
Лекция № 9.
СПОСОБЫ ПОСТРОЕНИЯ
СОВЕРШЕННОГО ПАРОСОЧЕТАНИЯ.
Условия теоремы Холла (самый не эффективный).
С помощью перманента (универсальный).
Венгерский алгоритм:
Обозначим паросочетания за П («пи»);
Рёбра, входящие в П назовём Т-рёбрами (тёмными);
Остальные рёбра назовём С-рёбрами (светлыми).
Начать с любого П (одно ребро);
Если
Т-ребро, инцидентное
, то П является совершенным (ВЫХОД), иначе
не инцидентная Т-ребру. В этом случае нужно построить дерево цепей, выходящих из вершины
и чередующихся по цвету рёбер (С – Т – С…);
Если все цепи закончились Т-рёбрами, то совершенного П не существует (ВЫХОД), иначе существует цепь С – Т – С;
Перекрашиваем все рёбра этой цепи, т. е. Т
С, С
Т, при этом число Т-рёбер увеличивается на 1;
Взять полученное паросочетание в качестве текущего и вернуться к пункту 2.
Пример.
I способ.
Видно, что найдено совершенное паросочетание, т. к. из каждой вершины X выходит ровно по одному Т-ребру.
II способ.
Задача
о назначениях.
Имеется n
видов работы
иn
работников
.
–польза от
назначения
на
.
Необходимо распределить работу между работниками так, чтобы получить максимум пользы.
Алгоритм.
Будем приписывать метки и менять их:
–метка вершины
;
–метка вершины
.
Построить двудольный граф, соединив рёбрами
;
Если существует совершенное паросочетание, то оно определяет максимальное назначение (ВЫХОД), иначе построить Венгерским алгоритмом дерево Т цепей, которое доказывает, что совершенного паросочетания нет;
Для каждой вершины
вычислить
;
;
Для каждой вершины
изменить метки:
Вернуться к пункту 2.
Пример.
Смотри типовой расчет № 2.
Лекция № 10.
ЗАДАЧА О КРАТЧАЙШЕМ ПУТИ.
Дан ориентированный
граф
.
– начальная,
– конечная вершины.
– длина дуги. Требуется найти путь из
в
,
который обладает минимальной суммой
весов входящих в него рёбер среди всех
таких путей из
в
.
Алгоритм поиска минимального пути.
–временная метка
вершины V
(верхняя оценка длины минимального пути
из
в
);
–постоянная метка
вершины V
(точное значение длины минимального
пути из
в
).
Этап
I
– нахождение длины минимального пути
из
в
,
т. е.
V – текущая вершина.
Построить множество
вершин, в которые ведут дуги изV;
Для каждой вершины
обновить временную метку
;
Найти вершину с минимальной временной меткой (если их несколько, то берём любую);
;
Если
, то
и вернуться к пункту 3.
Этап II – построение пути.
Путь в виде списка L строим с конца.
Построить множество
вершин
, из которых идут дуги вV;
Найти вершину
(если их несколько, то берём любую).
Если
, то вернуться к пункту 2, иначе ВЫХОД.