Сложение и разность потоков — различия между версиями
(→Лемма о сложении потоков) |
м (rollbackEdits.php mass rollback) |
||
(не показано 10 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
− | |||
{{Лемма | {{Лемма | ||
+ | |about = | ||
+ | о сложении потоков | ||
|statement= | |statement= | ||
− | Пусть <tex> G = (V, E) </tex> - транспортная сеть с источником <tex>s</tex> и стоком <tex>t</tex>, а <tex>f</tex> - поток в <tex>G</tex>. Пусть <tex>G_f</tex> - остаточная сеть в <tex>G</tex>, порожденная потоком <tex>f</tex>, а <tex>f'</tex> - поток в <tex>G_f</tex>. Тогда сумма потоков <tex>f + f'</tex>, определяемая уравнением <tex>(f + f')(u, v) = f(u,v) + f'(u,v)</tex>, является потоком в <tex>G</tex>, и величина этого потока равна <tex>|f + f'| = |f| + |f'|</tex>. | + | Пусть <tex> G = (V, E) </tex> {{---}} [[Определение_сети,_потока#flow_network|транспортная сеть]] с источником <tex>s</tex> и стоком <tex>t</tex>, а <tex> f </tex> {{---}} [[Определение_сети,_потока#flow|поток]] в <tex>G</tex>. Пусть <tex> G_f </tex> {{---}} [[Дополняющая_сеть,_дополняющий_путь#residual_network|остаточная сеть]] в <tex>G</tex>, порожденная потоком <tex>f</tex>, а <tex> f' </tex> {{---}} поток в <tex>G_f</tex>. Тогда сумма потоков <tex>f + f'</tex>, определяемая уравнением <tex>(f + f')(u, v) = f(u,v) + f'(u,v)</tex>, является потоком в <tex>G</tex>, и [[Определение_сети,_потока#flow|величина]] этого потока равна <tex>|f + f'| = |f| + |f'|</tex>. |
|proof= | |proof= | ||
− | Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока. | + | Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения [[Определение_сети,_потока#flow|потока]]. |
− | + | ||
− | <tex> (f + f')(u, v) = f(u,v) + f'(u,v) = -f(v,u) - f'(v,u) </tex> <tex> = -(f(v,u) + f'(v,u)) = -(f + f')(v,u)</tex> | + | # Для подтверждения антисимметричности заметим, что для всех <tex>(u,v) \in V</tex> справедливо: |
+ | #: <tex> (f + f')(u, v) = f(u,v) + f'(u,v) = -f(v,u) - f'(v,u) </tex> <tex> = -(f(v,u) + f'(v,u)) = -(f + f')(v,u)</tex> | ||
+ | #: | ||
+ | # Покажем соблюдение ограничений пропускной способности. | ||
+ | #: Заметим, что <tex>f'(u,v) \leqslant c_f(u,v)</tex> для всех <tex>u,v \in V </tex> и <tex> c_f(u, v) = c(u, v) - f(u, v) </tex>. Тогда <br> | ||
+ | #: <tex>(f + f')(u,v) = f(u,v) + f'(u,v) \leqslant f(u,v) + (c(u,v) - f(u,v)) = c(u,v) </tex>. | ||
+ | #: | ||
+ | # Заметим, что для всех <tex>u \in V - \{s,t\}</tex> справедливо равенство: <br> | ||
+ | #: <tex> \sum\limits_{v\in V} (f + f')(u, v) = \sum\limits_{v\in V} (f(u,v) + f'(u,v)) = \sum\limits_{v\in V} f(u,v) + \sum\limits_{v\in V} f'(u,v) = 0 + 0 = 0</tex> <br> | ||
+ | #:<tex> |f + f'| = \sum\limits_{v\in V} (f + f')(s, v) = \sum\limits_{v\in V} (f(s,v) + f'(s,v)) </tex> <tex>= \sum\limits_{v\in V} f(s,v) + \sum\limits_{v\in V} f'(s,v) = |f| + |f'|</tex> | ||
+ | }} | ||
− | + | {{Лемма | |
− | <tex>(f | + | |about = |
+ | о разности потоков | ||
+ | |statement= | ||
+ | Пусть <tex> G = (V, E) </tex> {{---}} транспортная сеть с источником <tex>s</tex> и стоком <tex>t</tex>, а <tex>h</tex> и <tex> f </tex> {{---}} [[Определение_сети,_потока#flow|потоки]] в <tex> G </tex>. Пусть <tex>G_f</tex> {{---}} [[Дополняющая_сеть,_дополняющий_путь#residual_network|остаточная сеть]] в <tex>G</tex>, порожденная потоком <tex>f</tex>. Тогда разность потоков <tex>h - f</tex>, определяемая уравнением <tex>(h - f)(u, v) = h(u,v) - f(u,v)</tex>, является потоком в <tex>G_f</tex>, и величина этого потока равна <tex>|h - f| = |h| - |f|</tex>. | ||
+ | |proof= | ||
+ | Антисимметричность и правило сохранения потока для <tex>h - f</tex> проверяются аналогично лемме о сложении потоков. | ||
+ | Покажем соблюдение ограничений пропускной способности. | ||
− | + | <tex>(h - f)(u,v) = h(u,v) - f(u,v) \leqslant c(u,v) - f(u,v) = c_f(u,v) </tex>. | |
− | + | ||
− | <tex> |f | + | Теперь покажем, что [[Определение_сети,_потока#flow|величина]] потока <tex>h - f</tex> равна разности величин потоков <tex>h</tex> и <tex>f</tex>. |
+ | |||
+ | <tex> |h - f| = \sum\limits_{v\in V} (h - f)(s, v) = \sum\limits_{v\in V} (h(s,v) - f(s,v)) </tex> <tex>= \sum\limits_{v\in V} h(s,v) - \sum\limits_{v\in V} f(s,v) = |h| - |f|</tex> | ||
}} | }} | ||
− | == | + | == Источники информации == |
* ''Кормен Т., Лейзерсон Ч., Ривест Р.'' Алгоритмы: построение и анализ.[http://wmate.ru/ebooks/?dl=380&mirror=1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296. | * ''Кормен Т., Лейзерсон Ч., Ривест Р.'' Алгоритмы: построение и анализ.[http://wmate.ru/ebooks/?dl=380&mirror=1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296. | ||
+ | |||
+ | [[Категория:Алгоритмы и структуры данных]] | ||
+ | [[Категория:Задача о максимальном потоке]] |
Текущая версия на 19:05, 4 сентября 2022
Лемма (о сложении потоков): |
Пусть транспортная сеть с источником и стоком , а — поток в . Пусть — остаточная сеть в , порожденная потоком , а — поток в . Тогда сумма потоков , определяемая уравнением , является потоком в , и величина этого потока равна . — |
Доказательство: |
Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока.
|
Лемма (о разности потоков): |
Пусть потоки в . Пусть — остаточная сеть в , порожденная потоком . Тогда разность потоков , определяемая уравнением , является потоком в , и величина этого потока равна . — транспортная сеть с источником и стоком , а и — |
Доказательство: |
Антисимметричность и правило сохранения потока для проверяются аналогично лемме о сложении потоков.Покажем соблюдение ограничений пропускной способности. . Теперь покажем, что величина потока равна разности величин потоков и . |
Источники информации
- Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ.[1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296.