Теорема Менгера: зв'язність, непересічні шляхи та дуальність max-flow min-cut
Скільки незалежних маршрутів з'єднують два міста на карті, і скільки ланок довелося б розірвати зловмиснику, щоб їх ізолювати? У 1927 році австрійський математик Карл Менгер довів, що відповідь на обидва питання завжди однакова — дуальність, яка через десятиліття виявилася окремим випадком теореми про максимальний потік і мінімальний розріз і сьогодні лежить в основі кожного розрахунку надійності мереж — від магістралей інтернету до електромереж.
1. Вершинна та реберна зв'язність
Візьмемо дві різні вершини s і t у графі G. Набір s-t шляхів називають внутрішньо вершинно-непересічним, якщо жодні два шляхи з цього набору не мають спільних вершин, окрім самих s і t. Аналогічно, набір є реберно-непересічним, якщо жодні два шляхи не мають спільних ребер (при цьому вони можуть проходити через спільні проміжні вершини).
s-t вершинний розріз (роздільник) — це множина вершин, окрім s і t, видалення яких знищує кожен шлях від s до t. s-t реберний розріз аналогічно є множиною ребер, видалення яких роз'єднує s і t. Обидва показники вимірюють одну й ту саму інтуїтивну ідею з різних боків: наскільки "надлишковим" є з'єднання між s і t?
2. Теорема Менгера — вершинна форма
Карл Менгер довів наступну надзвичайну дуальність у своїй роботі 1927 року про теорію кривих — задовго до того, як "теорія графів" стала окремою дисципліною, а потокові мережі були формалізовані:
Напрям "≤" простий: будь-який вершинний розріз розміру k повинен перетинати кожен з вершинно-непересічних шляхів (кожен шлях повинен проходити через хоча б одну вершину розрізу, а непересічні шляхи не можуть ділити її), тому не може бути більше k непересічних шляхів, якщо мінімальний розріз має розмір k. Глибока частина теореми — і причина, чому знадобився серйозний доказовий апарат для її встановлення — це напрям "≥": що завжди можна знайти k непересічних шляхів, якщо мінімальний розріз має розмір k. Рівність тут — не збіг, а гарантія теореми для кожного графа.
3. Реберна версія теореми
Теорема Менгера має "близнюка" для ребер, іноді приписуваного спільно Менгеру, а пізніше незалежно виведеного як наслідок теорії максимального потоку:
Це саме те твердження, яке отримують, якщо встановити пропускну здатність кожного ребра рівною 1 у потоковій мережі та застосувати теорему про максимальний потік і мінімальний розріз: максимальний потік = мінімальний розріз, і завдяки одиничним пропускним здатностям та теоремі про цілочисельність максимальний потік розкладається саме на стільки реберно-непересічних шляхів з одиничним потоком.
4. Ідея доведення: зведення до max-flow
Найелегантніше сучасне доведення теореми Менгера проходить через теорему про максимальний потік і мінімальний розріз, відкриту незалежно на три десятиліття пізніше Фордом і Фалкерсоном у 1956 році. Зведення майже дивовижно пряме:
Вершинно-непересічна версія випливає з тієї ж ідеї після невеликого, але вирішального трюку — розщеплення кожної вершини на два вузли, з'єднані ребром пропускної здатності 1, — про що йдеться далі.
5. Розщеплення вершин: обмеження на вершини
Стандартний max-flow обмежує лише те, скільки потоку може пройти через ребро; він нічого не говорить про кількість шляхів, що можуть проходити через вершину. Класичне вирішення, необхідне для вершинної форми теореми Менгера, — розщеплення вершин:
Запуск max-flow на цьому перетвореному графі та розкладання отриманого цілочисельного потоку на шляхи дає максимальну кількість внутрішньо вершинно-непересічних s-t шляхів, а відповідний мінімальний розріз у розщепленому графі відповідає точно мінімальному вершинному розрізу у вихідному графі — тому що будь-яке ребро розрізу вигляду v_in → v_out відповідає "видаленню" вершини v.
6. Теорема Уітні та k-зв'язність
Гасслер Уітні узагальнив парний результат Менгера в глобальне твердження про загальну стійкість графа. Граф G є k-вершинно-зв'язним, якщо він має більше ніж k вершин і залишається зв'язним після видалення будь-яких k−1 вершин.
Саме це на практиці означає "вершинна зв'язність" κ(G): κ(G) є одночасно (а) розміром найменшого вершинного розрізу в усьому графі, і (б) гарантованою мінімальною кількістю непересічних маршрутів між будь-якою парою вершин. Ідентична дуальність зберігається для реберної зв'язності λ(G), і для довільних графів завжди виконується κ(G) ≤ λ(G) ≤ δ(G) (мінімальний степінь).
7. Зв'язок із теоремою Кеніга
Теорема Менгера має відомого "родича", обмеженого дводольними графами: теорему Кеніга, яка стверджує, що у дводольному графі розмір максимального паросполучення дорівнює розміру мінімального вершинного покриття. Обидва результати є прикладами більш загального патерну — max-min дуальності, реалізованої через потік у мережі, — і обидва можна вивести з max-flow min-cut, використовуючи по суті ту саму конструкцію джерело/стік, яку застосовують для дводольного паросполучення.
Фактично, вся ця родина (Менгер, Кеніг, теорема Холла про шлюби, теорема Ділворта про покриття ланцюгами) об'єднана під парасолькою дуальності лінійного програмування: кожна з них є цілочисельною програмою, чия лінійна релаксація має цілочисельний оптимум, гарантований повною унімодулярністю матриці обмежень потоку в мережі.
8. Застосування: надійність мереж і стійкість до відмов
- Проєктування відмовостійких мереж: провайдери та оператори дата-центрів використовують теорему Менгера, щоб підтвердити, що топологія може пережити k одночасних відмов лінії або маршрутизатора — прямо перетворюючи вимогу надійності на гарантію непересічних шляхів.
- Стійкі протоколи маршрутизації: протоколи, що заздалегідь обчислюють кілька непересічних резервних шляхів (наприклад, MPLS fast reroute), спираються на алгоритми, які є прямою реалізацією наведеного вище зведення до max-flow через розщеплення вершин.
- Трасування у VLSI та мікросхемах: непересічна маршрутизація дротів на чіпі так, щоб жодні дві мережі не перетинали один і той самий канальний ресурс, — пряме застосування реберної теореми Менгера.
- Аналіз соціальних мереж: вершинна зв'язність між двома людьми в соціальному графі вимірює, скільки "незалежних" людей потрібно було б видалити, щоб розірвати їхній зв'язок, — показник структурної стійкості потоку впливу чи інформації.
- Біологічні транспортні мережі: судинні та міцелієві мережі часто аналізують на k-зв'язність, щоб зрозуміти їхню стійкість до локальних пошкоджень, використовуючи ті самі алгоритми на основі Менгера.