Теорема Форда-Фалкерсона — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «{{Теорема |statement= Если <tex> f </tex> {{---}} некоторый поток в сети <tex> G = (V, E) </tex> с источником <tex>s</tex> …»)
 
м
Строка 7: Строка 7:
 
|proof=
 
|proof=
 
<tex> (1)\Rightarrow (2)</tex>
 
<tex> (1)\Rightarrow (2)</tex>
 +
 
Докажем от противного. Предположим, что в <tex> G_f </tex> существует какой-нибудь путь <tex>p = s \leadsto t</tex>.
 
Докажем от противного. Предположим, что в <tex> G_f </tex> существует какой-нибудь путь <tex>p = s \leadsto t</tex>.
 
Тогда рассмотрим <tex> f + f_p </tex>. По [[Лемма_о_сложении_потоков|лемме о сумме потоков]] <tex> f + f_p </tex> тоже является потоком в сети <tex> G </tex>,  
 
Тогда рассмотрим <tex> f + f_p </tex>. По [[Лемма_о_сложении_потоков|лемме о сумме потоков]] <tex> f + f_p </tex> тоже является потоком в сети <tex> G </tex>,  
Строка 12: Строка 13:
  
 
<tex> (2) \Rightarrow (3) </tex>
 
<tex> (2) \Rightarrow (3) </tex>
 +
 
Рассмотрим множество <tex> S = \lbrace v \in V : \exists\, s \leadsto v \text{ in } G_f \rbrace </tex> и <tex> T = V \setminus S</tex>.  
 
Рассмотрим множество <tex> S = \lbrace v \in V : \exists\, s \leadsto v \text{ in } G_f \rbrace </tex> и <tex> T = V \setminus S</tex>.  
 
Разбиение <tex> S </tex> и <tex> T </tex> является разрезом, так как не существует <tex> s \leadsto t</tex>.
 
Разбиение <tex> S </tex> и <tex> T </tex> является разрезом, так как не существует <tex> s \leadsto t</tex>.
Строка 18: Строка 20:
  
 
<tex> (3) \Rightarrow (1) </tex>
 
<tex> (3) \Rightarrow (1) </tex>
 +
 
Так как существует разрез, такой что <tex> |f| = c(S, T) </tex>, то согласно [[Разрез,_лемма_о_потоке_через_разрез|следствию леммы о слабой двойственности потока и разреза]] <tex> |f| \le c(S, T)</tex>, поэтому <tex> f </tex> максимален
 
Так как существует разрез, такой что <tex> |f| = c(S, T) </tex>, то согласно [[Разрез,_лемма_о_потоке_через_разрез|следствию леммы о слабой двойственности потока и разреза]] <tex> |f| \le c(S, T)</tex>, поэтому <tex> f </tex> максимален
 
}}
 
}}

Версия 23:15, 21 декабря 2010

Теорема:
Если [math] f [/math] — некоторый поток в сети [math] G = (V, E) [/math] с источником [math]s[/math] и стоком [math]t[/math], то следующие утверждения эквивалентны:
  1. Поток [math] f [/math] максимален
  2. В [math] G_f [/math] не существует пути [math]s \leadsto t[/math]
  3. [math] |f| = c(S, T) [/math] для некоторого разреза [math] (S, T) [/math] сети [math] G [/math]
Доказательство:
[math]\triangleright[/math]

[math] (1)\Rightarrow (2)[/math]

Докажем от противного. Предположим, что в [math] G_f [/math] существует какой-нибудь путь [math]p = s \leadsto t[/math]. Тогда рассмотрим [math] f + f_p [/math]. По лемме о сумме потоков [math] f + f_p [/math] тоже является потоком в сети [math] G [/math], и причем [math] |f + f_p| = |f| + |f_p| \gt |f| [/math], что приводит нас к противоречию, что [math] f [/math] максимальный поток.

[math] (2) \Rightarrow (3) [/math]

Рассмотрим множество [math] S = \lbrace v \in V : \exists\, s \leadsto v \text{ in } G_f \rbrace [/math] и [math] T = V \setminus S[/math]. Разбиение [math] S [/math] и [math] T [/math] является разрезом, так как не существует [math] s \leadsto t[/math]. По лемме о потоке через разрез [math] f(S, T) = |f| [/math]. Также [math] \forall u \in S, v \in T[/math] известно, что [math]f(u, v) = c(u, v) [/math], так как иначе вершина [math] v [/math] должна была бы принадлежать множеству [math] S [/math]. Поэтому [math] c(S, T) = f(S, T) = |f| [/math].

[math] (3) \Rightarrow (1) [/math]

Так как существует разрез, такой что [math] |f| = c(S, T) [/math], то согласно следствию леммы о слабой двойственности потока и разреза [math] |f| \le c(S, T)[/math], поэтому [math] f [/math] максимален
[math]\triangleleft[/math]


Литература

  • Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)

См. также