Теорема Менгера — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 19: Строка 19:
  
 
:То, что получится в конце, будет максимальным потоком. В случае целочисленной сети достаточно в качестве начального приближения взять нулевой поток, и не трудно видеть, что на каждой итерации (в том числе и последней) этот поток будет оставаться целочисленным, что и докажет требуемое.
 
:То, что получится в конце, будет максимальным потоком. В случае целочисленной сети достаточно в качестве начального приближения взять нулевой поток, и не трудно видеть, что на каждой итерации (в том числе и последней) этот поток будет оставаться целочисленным, что и докажет требуемое.
 +
}}
 +
 +
И, наконец, сделаем немного более осознаным в общем-то и так интуитивно-понятное утверждение:
 +
{{Утверждение
 +
|statement=Если в сети, где все пропускные способности ребер равны 1, существует целочисленный поток величиной <tex>L</tex> то существует и <tex>L</tex> реберно непересекающихся путей.
 +
|proof=
 +
:В начале поймем, что если поток не нулевой, то существует маршрут из <tex>u</tex> в <tex>v</tex> лежащий только на ребрах с потоком равным 1.
 +
...
 +
 +
:Итак, найдем какой-нибудь маршрут из <tex>u</tex> в <tex>v</tex> лежащий только на ребрах где поток равен 1. Удалив все ребра находящиеся в этом маршруте и оставив все остальное неизменным, придем к целочисленному потоку величиной <tex>L-1</tex>. Ясно, что можно повторить тоже самое еще <tex>L-1</tex> раз, и, таким образом мы выделим <tex>L</tex> реберно непересекающихся маршрутов.
 
}}
 
}}
  
Строка 30: Строка 40:
 
:<tex>\Leftarrow</tex>
 
:<tex>\Leftarrow</tex>
  
:Назначим каждому ребру пропускную способность 1. Тогда существует максимальный поток, целочисленный на каждом ребре(по лемме).  
+
:Назначим каждому ребру пропускную способность 1. Тогда существует максимальный поток, целочисленный на каждом ребре (по лемме).  
:По теореме Форда-Фалкерсона для такого потока существует разрез с пропускной способностью равной потоку. По условию «после удаления <tex>\forall L-1</tex> (и в частности тех, что находятся в нашем разрезе) ребер все еще будет <tex>\exists</tex> путь из <tex>u</tex> в <tex>v</tex>», значит пропускная способность разреза и вместе с ним величина потока <tex>\geqslant L</tex>. А так как поток целочисленный, то это и означает, что <tex>\exists L</tex> реберно непересекающихся путей.
+
:По теореме Форда-Фалкерсона для такого потока существует разрез с пропускной способностью равной потоку. Удалим в этом разрезе <tex>L-1</tex> ребер, и тогда раз <tex>u</tex> и <tex>v</tex> находятся в разных частях разреза, и <tex>\exists</tex> путь из <tex>u</tex> в <tex>v</tex>, то в разрезе останется хотя бы еще одно ребро. Значит пропускная способность разреза и вместе с ним величина потока <tex>\geqslant L</tex>. А так как поток целочисленный, то это и означает, что <tex>\exists L</tex> реберно непересекающихся путей.
  
 
:<tex>\Rightarrow</tex>
 
:<tex>\Rightarrow</tex>
Строка 37: Строка 47:
 
}}
 
}}
  
 +
{{Теорема
 +
|about=Менгера о вершинной двойственности в ориентированном графе
 +
|statement=Между вершинами <tex>u</tex> и <tex>v\; \exists L</tex> вершинно непересекающихся путей <tex>\Leftrightarrow</tex> после удаления  <tex>\forall L-1</tex> вершин <tex>\exists</tex> путь из <tex>u</tex> в <tex>v</tex>.
 +
|proof=
 +
Для доказательства достаточно заменить каждую вершину на две:
 +
//картинка
 +
таким образом задача сводится к предыдущей теореме
 +
}}
  
//все остальные теоремы
+
Теоремы для неореинтированного графа сводятся к своим двойникам для ореинтированного простой заменой каждого ребра на две дуги
 
+
//картинка
==Примечание==
 
''Если в сети, где все пропускные способности равны 1 существует целочисленный поток величиной <tex>L</tex> то существует и <tex>L</tex> реберно непересекающихся путей.''
 
 
 
Поясним это: найдем какой-нибудь маршрут из <tex>u</tex> в <tex>v</tex> лежащий только на ребрах где поток равен 1. Такой маршут обязательно существует, пока величина потока больше 0 (иначе сразу получаем противоречие: рассмотрим множество вершин достижимых по ненулевым ребрам из стока и построим по нему разрез. Пропускная способность разреза равна 0, значит и поток должен быть равен 0). Удалив все ребра находящиеся в этом маршруте и оставив все остальное неизменным, придем к потоку величиной <tex>L-1</tex>. Ясно, что можно повторить тоже самое еще <tex>L-1</tex> раз, и, таким образом мы выделим <tex>L</tex> реберно непересекающихся маршрутов, что и требуется.
 
  
 
==Смотри также==
 
==Смотри также==

Версия 05:03, 27 октября 2011

Эта статья находится в разработке!

Теорема Менгера представляет собой группу теорем, связывающих такие понятия на графах как k-связность и количество непересекающихся путей относительно двух выделенных вершин. Возникают различные варианты очень похожих друг на друга по формулировке теорем в зависимости от того, рассматриваем ли мы ситуацию в ориентированном или неориентированном графе, и подразумеваем ли реберную k-связность и реберно непересекающиеся пути или же вершинную k-связность и вершинно непересекающиеся пути.

Подготовка к доказательству

Для доказательства мы будем пользоваться развитой раннее теорией потоков. Кроме базовых определений нам потребуется понятие остаточной сети (иначе - дополнительной сети), а также теорема Форда-Фалкерсона.

Кроме того потребуется лемма о целочисленности потока, которую сейчас и докажем:

Лемма (о целочисленности потока):
      Если пропускные способности всех ребер целочисленные (сеть целочислена), то существует максимальный поток, целочисленный на каждом ребре.
Доказательство:
[math]\triangleright[/math]
Для доказательства достаточно рассмотреть алгоритм Форда-Фалкерсона для поиска максимального потока. Алгоритм делает примерно следующее (подробней - читай в соответствующей статье):
1. В начале берем какой-нибудь поток за начальный (например, нулевой).
2. В остаточной сети этого потока находим какой-нибудь путь из источника к стоку и увеличиваем поток на пропускную способность этого пути.
3. Повторяем пункт 2 до тех пор, пока находится хоть какой-то путь в остаточной сети.
То, что получится в конце, будет максимальным потоком. В случае целочисленной сети достаточно в качестве начального приближения взять нулевой поток, и не трудно видеть, что на каждой итерации (в том числе и последней) этот поток будет оставаться целочисленным, что и докажет требуемое.
[math]\triangleleft[/math]

И, наконец, сделаем немного более осознаным в общем-то и так интуитивно-понятное утверждение:

Утверждение:
Если в сети, где все пропускные способности ребер равны 1, существует целочисленный поток величиной [math]L[/math] то существует и [math]L[/math] реберно непересекающихся путей.
[math]\triangleright[/math]
В начале поймем, что если поток не нулевой, то существует маршрут из [math]u[/math] в [math]v[/math] лежащий только на ребрах с потоком равным 1.

...

Итак, найдем какой-нибудь маршрут из [math]u[/math] в [math]v[/math] лежащий только на ребрах где поток равен 1. Удалив все ребра находящиеся в этом маршруте и оставив все остальное неизменным, придем к целочисленному потоку величиной [math]L-1[/math]. Ясно, что можно повторить тоже самое еще [math]L-1[/math] раз, и, таким образом мы выделим [math]L[/math] реберно непересекающихся маршрутов.
[math]\triangleleft[/math]

Теорема

Теперь сама теорема будет тривиальным следствием. В начале сформулируем и докажем реберную версию для случая ориентированного графа.

Теорема (Менгера о реберной двойственности в ориентированном графе):
Между вершинами [math]u[/math] и [math]v\; \exists L[/math] реберно непересекающихся путей [math]\Leftrightarrow[/math] после удаления [math]\forall L-1[/math] ребер [math]\exists[/math] путь из [math]u[/math] в [math]v[/math].
Доказательство:
[math]\triangleright[/math]
[math]\Leftarrow[/math]
Назначим каждому ребру пропускную способность 1. Тогда существует максимальный поток, целочисленный на каждом ребре (по лемме).
По теореме Форда-Фалкерсона для такого потока существует разрез с пропускной способностью равной потоку. Удалим в этом разрезе [math]L-1[/math] ребер, и тогда раз [math]u[/math] и [math]v[/math] находятся в разных частях разреза, и [math]\exists[/math] путь из [math]u[/math] в [math]v[/math], то в разрезе останется хотя бы еще одно ребро. Значит пропускная способность разреза и вместе с ним величина потока [math]\geqslant L[/math]. А так как поток целочисленный, то это и означает, что [math]\exists L[/math] реберно непересекающихся путей.
[math]\Rightarrow[/math]
[math]\exists L[/math] реберно непересекающихся путей, а значит удалив любых [math]L-1[/math] ребер хотя бы один путь останется останется не тронутым (принцип Дирихле). Это и означает [math]\exists[/math] путь из [math]u[/math] в [math]v[/math].
[math]\triangleleft[/math]
Теорема (Менгера о вершинной двойственности в ориентированном графе):
Между вершинами [math]u[/math] и [math]v\; \exists L[/math] вершинно непересекающихся путей [math]\Leftrightarrow[/math] после удаления [math]\forall L-1[/math] вершин [math]\exists[/math] путь из [math]u[/math] в [math]v[/math].
Доказательство:
[math]\triangleright[/math]

Для доказательства достаточно заменить каждую вершину на две: //картинка

таким образом задача сводится к предыдущей теореме
[math]\triangleleft[/math]

Теоремы для неореинтированного графа сводятся к своим двойникам для ореинтированного простой заменой каждого ребра на две дуги //картинка

Смотри также

Литература

  • Ловас Л., Пламмер М. Прикладные задачи теории графов. Теория паросочетаний в математике, физике, химии 1998. 656 с. ISBN 5-03-002517-0 (глава 2.4 стр. 117)