|
Кружок обучения мастерству программирования при СПбГУ |
Лекции группы A0 - Лекция 09 - Рандом + Геометрия (Сергей Копелиович)
Note: Звездочкой отмечены темы, на которые на лекции времени не хватило.
Краткий план лекции "Рандом + Геометрия"
- Поиск паросочетания в двудольном графе (Кун, min cover)
- Матроиды
- Поиск паросочетания в произвольном графе (Эдмандс)
- Задачи про лекс.мин. паросочетание, про регулярные графы
Полный план лекции
- Основы
- Паросочетание. Лемма о дополняющем пути. (Для произвольного графа)
- |C| >= |M|, C - вершинное покрытие.
- M --O(E)--> C => min|C| = max|M| : Th. Кёнига-Эгервари
- Получили алгоритм построения maxM, minC, maxN (N - независимое множество), задача о max клике в двудольном графе.
- Лемме Холла (о девушках)
- Фишки
- Матроиды = Кун + Мин. по весу в одной доле
- Определения. Аксиомы, база.
- Алгоритм Радо-Эдмондса
- Мин. по весу в обеих долях за O(VE) (нашли оптимум для одной доли, для второй, спарили, ответ = сумме ответов)
- Мин. лекс. парсоч за O(VE) (нашли какое-то, далее за O(E) посчитали мн-во допустимых ребер)
- Недвудольный случай
- * Th. Татта-Берджа про 2|M| = min по U (|V| - ood(G/U) + |U|)
- * Док-во алгоритма Эдмондса через Татта-Берджа
- Алгоритм Эдмондса.
- Док-во без Татта-Берджа, на халяву.
- Удобности реализации = Кун (лес := дерево) + dfs
- Random-Algo (парсоч в 2-дульном --> пересекающиеся чередующиеся цепочки)
- Алгоритм поиска паросочетания на двудольных регулярных графах.
- Всегда сущ Perfect Matching (следует из леммы Холла)
- d = 2^k => алгоритм за O(E)
- Произвольное d, алгоритм за O(ED) (функция потенциалов, улучшение по циклу)
- Произвольное d, алгоритм за O(ElogD) (редукция графа за O(E) до [V, VlogD])