Теорема Форда-Фалкерсона — различия между версиями
(Новая страница: «{{Теорема |statement= Если <tex> f </tex> {{---}} некоторый поток в сети <tex> G = (V, E) </tex> с источником <tex>s</tex> …») |
м (rollbackEdits.php mass rollback) |
||
(не показано 9 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{Теорема | {{Теорема | ||
|statement= | |statement= | ||
− | Если <tex> f </tex> {{---}} некоторый поток в сети <tex> G = (V, E) </tex> с источником <tex>s</tex> и стоком <tex>t</tex>, то следующие утверждения эквивалентны: | + | Если <tex> f </tex> {{---}} некоторый [[Определение_сети,_потока|поток]] в сети <tex> G = (V, E) </tex> с источником <tex>s</tex> и стоком <tex>t</tex>, то следующие утверждения эквивалентны: |
− | # Поток <tex> f </tex> максимален | + | # Поток <tex> f </tex> максимален. |
− | # В <tex> G_f </tex> не существует пути <tex>s \leadsto t</tex> | + | # В <tex> G_f </tex> не существует пути <tex>s \leadsto t. </tex> |
− | # <tex> |f| = c(S, T) </tex> для некоторого разреза <tex> (S, T) </tex> сети <tex> G </tex> | + | # <tex> |f| = c(S, T) </tex> для некоторого разреза <tex> (S, T) </tex> сети <tex> G. </tex> |
|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> \langle S, T \rangle</tex> является разрезом, так как по <tex> (2) </tex> в <tex> G_f </tex> не существует <tex> s \leadsto t</tex>. |
По [[Разрез,_лемма_о_потоке_через_разрез|лемме о потоке через разрез]] <tex> f(S, T) = |f| </tex>. Также <tex> \forall u \in S, v \in T</tex> известно, что <tex>f(u, v) = c(u, v) </tex>, так как иначе вершина <tex> v </tex> | По [[Разрез,_лемма_о_потоке_через_разрез|лемме о потоке через разрез]] <tex> f(S, T) = |f| </tex>. Также <tex> \forall u \in S, v \in T</tex> известно, что <tex>f(u, v) = c(u, v) </tex>, так как иначе вершина <tex> v </tex> | ||
должна была бы принадлежать множеству <tex> S </tex>. Поэтому <tex> c(S, T) = f(S, T) = |f| </tex>. | должна была бы принадлежать множеству <tex> S </tex>. Поэтому <tex> c(S, T) = f(S, T) = |f| </tex>. | ||
<tex> (3) \Rightarrow (1) </tex> | <tex> (3) \Rightarrow (1) </tex> | ||
− | Так как существует разрез, такой что <tex> |f| = c(S, T) </tex>, то согласно [[Разрез,_лемма_о_потоке_через_разрез|следствию леммы о слабой двойственности потока и разреза]] <tex> |f| \ | + | |
+ | Так как существует разрез, такой что <tex> |f| = c(S, T) </tex>, то согласно [[Разрез,_лемма_о_потоке_через_разрез|следствию леммы о слабой двойственности потока и разреза]] <tex> |f| \leqslant c(S, T)</tex>, поэтому <tex> f </tex> максимален. | ||
}} | }} | ||
+ | == См. также == | ||
+ | * [[Определение_сети,_потока|Определение сети, потока]] | ||
+ | * [[Алгоритм_Форда-Фалкерсона,_реализация_с_помощью_поиска_в_глубину|Алгоритм Форда-Фалкерсона, реализация с помощью поиска в глубину]] | ||
− | == | + | == Источники информации == |
* ''Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд'' '''Алгоритмы: построение и анализ''', 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.) | * ''Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд'' '''Алгоритмы: построение и анализ''', 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.) | ||
− | + | [[Категория: Алгоритмы и структуры данных]] | |
− | + | [[Категория: Задача о максимальном потоке ]] |
Текущая версия на 19:12, 4 сентября 2022
Теорема: |
Если поток в сети с источником и стоком , то следующие утверждения эквивалентны:
— некоторый
|
Доказательство: |
Докажем от противного. Предположим, что в лемме о сумме потоков тоже является потоком в сети , и причем , что приводит нас к противоречию, что максимальный поток. существует какой-нибудь путь . Тогда рассмотрим . По
Рассмотрим множество лемме о потоке через разрез . Также известно, что , так как иначе вершина должна была бы принадлежать множеству . Поэтому . и . Разбиение является разрезом, так как по в не существует . ПоТак как существует разрез, такой что , то согласно следствию леммы о слабой двойственности потока и разреза , поэтому максимален. |
См. также
Источники информации
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)