Изменения

Перейти к: навигация, поиск

Теорема Менгера

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

Навигация