Теорема Менгера — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показано 27 промежуточных версий 9 участников) | |||
Строка 1: | Строка 1: | ||
− | + | Теорема Менгера представляет собой группу теорем, связывающих такие понятия на графах как ''<tex>k</tex>-связность'' и ''количество непересекающихся путей'' относительно двух выделенных вершин. Возникают различные варианты очень похожих друг на друга по формулировке теорем в зависимости от того, рассматриваем ли мы ситуацию в ''ориентированном'' или ''неориентированном'' графе, и подразумеваем ли ''реберную <tex>k</tex>-связность'' и ''реберно непересекающиеся пути'' или же ''вершинную <tex>k</tex>-связность'' и ''вершинно непересекающиеся пути''. | |
− | |||
− | Теорема Менгера | ||
− | |||
− | |||
− | |||
− | + | ==Подготовка к доказательству== | |
− | + | Для доказательства мы будем пользоваться развитой раннее [[Определение сети, потока|теорией потоков]]. Кроме базовых определений нам потребуется понятие [[Дополняющая сеть, дополняющий путь| остаточной сети]] (иначе {{---}} дополнительной сети), а также [[Теорема_Форда-Фалкерсона|теорема Форда-Фалкерсона]]. | |
− | |||
+ | Кроме того, потребуется лемма о целочисленности потока, которую сейчас и докажем: | ||
+ | {{Лемма | ||
+ | |about=о целочисленности потока | ||
+ | |statement= Если пропускные способности всех ребер целочисленные (сеть целочислена), то существует максимальный поток, целочисленный на каждом ребре. | ||
+ | |proof= | ||
+ | :Для доказательства достаточно рассмотреть [[Алгоритм Форда-Фалкерсона, реализация с помощью поиска в глубину|алгоритм Форда-Фалкерсона]] для поиска максимального потока. Алгоритм делает примерно следующее (подробней {{---}} читай в соответствующей статье): | ||
− | + | :# В начале берем какой-нибудь поток за начальный (например, нулевой). | |
+ | :# В остаточной сети этого потока находим какой-нибудь путь из источника к стоку и увеличиваем поток на пропускную способность этого пути. | ||
+ | :# Повторяем пункт <tex>2</tex> до тех пор, пока находится хоть какой-то путь в остаточной сети. | ||
− | + | :То, что получится в конце, будет максимальным потоком. В случае целочисленной сети достаточно в качестве начального приближения взять нулевой поток, и не трудно видеть, что на каждой итерации (в том числе и последней) этот поток будет оставаться целочисленным, что и докажет требуемое. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{ | + | И, наконец, сделаем немного более осознанным в общем-то и так интуитивно понятное утверждение: |
− | + | {{Утверждение | |
− | + | |statement=Если в сети, где все пропускные способности ребер равны <tex>1</tex>, существует целочисленный поток величиной <tex>L</tex> то существует и <tex>L</tex> реберно непересекающихся путей. | |
− | |statement= | ||
− | |||
|proof= | |proof= | ||
− | + | : Считаем, что <tex>u</tex> {{---}} источник, <tex>v</tex> {{---}} сток. | |
+ | : В начале поймем, что если поток не нулевой, то существует маршрут из <tex>u</tex> в <tex>v</tex> лежащий только на ребрах с потоком равным <tex>1</tex>. В самом деле, если бы такого маршрута не существовало, то можно было бы выделить множество вершин до которых такие маршруты из вершины <tex>u</tex> существуют, не включающее <tex>v</tex>, и по нему построить разрез. Поток через такой разрез, очевидно равен нулю, видим противоречие (т.к. <tex>f(U,V)=|f|</tex>, смотри [[Разрез, лемма о потоке через разрез|первую лемму]]). | ||
+ | |||
+ | :Итак, найдем какой-нибудь маршрут из <tex>u</tex> в <tex>v</tex> лежащий только на ребрах где поток равен <tex>1</tex>. Удалив все ребра находящиеся в этом маршруте и оставив все остальное неизменным, придем к целочисленному потоку величиной <tex>L-1</tex>. Ясно, что можно повторить тоже самое еще <tex>L-1</tex> раз, и, таким образом мы выделим <tex>L</tex> реберно непересекающихся маршрутов. | ||
}} | }} | ||
− | |||
+ | ==Теорема== | ||
+ | Теперь сама теорема будет тривиальным следствием. В начале сформулируем и докажем реберную версию для случая ориентированного графа. | ||
− | }} | + | {{Теорема |
+ | |about=Менгера о реберной двойственности в ориентированном графе | ||
+ | |statement=Между вершинами <tex>u</tex> и <tex>v</tex> существует <tex>L</tex> реберно непересекающихся путей тогда и только тогда, когда после удаления любых <tex>(L-1)</tex> ребер существует путь из <tex>u</tex> в <tex>v</tex>. | ||
+ | |proof= | ||
+ | <tex>\Leftarrow</tex> | ||
+ | :Как и прежде, пусть <tex>u</tex> {{---}} источник, а <tex>v</tex> {{---}} сток. | ||
+ | :Назначим каждому ребру пропускную способность <tex>1</tex>. Тогда существует максимальный поток, целочисленный на каждом ребре (по лемме). | ||
+ | :По теореме Форда-Фалкерсона для такого потока существует разрез с пропускной способностью равной потоку. Удалим в этом разрезе <tex>L-1</tex> ребер, и тогда, раз <tex>u</tex> и <tex>v</tex> находятся в разных частях разреза и, существует путь из <tex>u</tex> в <tex>v</tex>, то в разрезе останется хотя бы еще одно ребро. Это значит, что пропускная способность разреза и вместе с ним величина потока не меньше <tex>L</tex>. А так как поток целочисленный, то это и означает, что найдется <tex> L</tex> реберно непересекающихся путей. | ||
− | + | <tex>\Rightarrow</tex> | |
− | + | :Существует <tex> L</tex> реберно непересекающихся путей, а значит, удалив любые <tex>L-1</tex> ребер хотя бы один путь останется не тронутым (принцип Дирихле). Это и означает, что существует путь из <tex>u</tex> в <tex>v</tex>. | |
− | |||
− | |||
− | |||
}} | }} | ||
{{Теорема | {{Теорема | ||
− | |about= | + | |about=Менгера о вершинной двойственности в ориентированном графе |
− | + | |statement=Между вершинами <tex>u</tex> и <tex>v</tex> существует <tex>L</tex> вершинно непересекающихся путей тогда и только тогда, когда после удаления любых <tex>(L-1)</tex> вершин существует путь из <tex>u</tex> в <tex>v</tex>. | |
− | |statement= | ||
− | |||
|proof= | |proof= | ||
− | + | ||
+ | :Разобьем каждую вершину на две таким образом: | ||
+ | |||
+ | :[[Файл:Menger-vertex.JPG]] | ||
+ | |||
+ | :''(все входящие ребра заходят в левую вершину, исходящие выходят из правой. между двумя новыми вершинами добавляем ребро)'' | ||
+ | |||
+ | :Теперь задача практически сведена к первой теореме. | ||
+ | :Необходимо лишь отметить, что если в старом графе пути вершинно пересекаются, то в новом графе пути необходимо реберно пересекаются и наоборот. | ||
+ | :Кроме того, предложение "удалить в исходном графе любые <tex>L</tex> вершин" можно заменять на "в новом графе можно удалить любые <tex>L</tex> ребер" (достаточно выбирать вершины на концах этих ребер). Можно заменять и обратно, если учесть, что можно удалять ребра между парой вершин, которые раньше были одним целым. | ||
}} | }} | ||
+ | <includeonly> | ||
+ | Теоремы для неориентированного графа формулируются идентично, а их доказательства сводятся к своим ориентированным двойникам путем замены каждого ребра на две дуги: | ||
+ | |||
+ | [[Файл:Menger_undirected.JPG]] | ||
+ | </includeonly> | ||
+ | |||
+ | ==См. также== | ||
+ | *[[Теорема Менгера, альтернативное доказательство]] | ||
+ | * [[wikipedia:Menger's theorem | Wikipedia {{---}} Menger's theorem ]] | ||
+ | |||
+ | ==Источники информации== | ||
+ | * Ловас Л., Пламмер М. {{---}} '''Прикладные задачи теории графов. Теория паросочетаний в математике, физике, химии''' (глава 2.4 стр. 117) {{---}} 1998. {{---}} 656 с. {{---}} ISBN 5-03-002517-0 | ||
+ | * Харари Ф. '''Теория графов.''' глава 5 — М.: Мир, 1973. (Изд. 3, М.: КомКнига, 2006. — 296 с.) | ||
− | + | [[Категория:Алгоритмы и структуры данных]] | |
− | + | [[Категория:Связность в графах]] |
Текущая версия на 19:05, 4 сентября 2022
Теорема Менгера представляет собой группу теорем, связывающих такие понятия на графах как
-связность и количество непересекающихся путей относительно двух выделенных вершин. Возникают различные варианты очень похожих друг на друга по формулировке теорем в зависимости от того, рассматриваем ли мы ситуацию в ориентированном или неориентированном графе, и подразумеваем ли реберную -связность и реберно непересекающиеся пути или же вершинную -связность и вершинно непересекающиеся пути.Подготовка к доказательству
Для доказательства мы будем пользоваться развитой раннее теорией потоков. Кроме базовых определений нам потребуется понятие остаточной сети (иначе — дополнительной сети), а также теорема Форда-Фалкерсона.
Кроме того, потребуется лемма о целочисленности потока, которую сейчас и докажем:
Лемма (о целочисленности потока): |
Если пропускные способности всех ребер целочисленные (сеть целочислена), то существует максимальный поток, целочисленный на каждом ребре. |
Доказательство: |
|
И, наконец, сделаем немного более осознанным в общем-то и так интуитивно понятное утверждение:
Утверждение: |
Если в сети, где все пропускные способности ребер равны , существует целочисленный поток величиной то существует и реберно непересекающихся путей. |
|
Теорема
Теперь сама теорема будет тривиальным следствием. В начале сформулируем и докажем реберную версию для случая ориентированного графа.
Теорема (Менгера о реберной двойственности в ориентированном графе): |
Между вершинами и существует реберно непересекающихся путей тогда и только тогда, когда после удаления любых ребер существует путь из в . |
Доказательство: |
|
Теорема (Менгера о вершинной двойственности в ориентированном графе): |
Между вершинами и существует вершинно непересекающихся путей тогда и только тогда, когда после удаления любых вершин существует путь из в . |
Доказательство: |
|
См. также
Источники информации
- Ловас Л., Пламмер М. — Прикладные задачи теории графов. Теория паросочетаний в математике, физике, химии (глава 2.4 стр. 117) — 1998. — 656 с. — ISBN 5-03-002517-0
- Харари Ф. Теория графов. глава 5 — М.: Мир, 1973. (Изд. 3, М.: КомКнига, 2006. — 296 с.)