Изменения

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

Сложение и разность потоков

2193 байта добавлено, 10:48, 15 января 2016
м
Нет описания правки
==Лемма о сложении потоков==
{{Лемма
|about =
о сложении потоков
|statement=
Пусть <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=
Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения [[Определение_сети,_потока#flow|потока]]. <br> 1) # Для подтверждения антисимметричности заметим, что для всех <tex>(u,v) \in V</tex>, справедливо: <br>#: <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>}}
2) Покажем соблюдение ограничений пропускной способности. Заметим, что {{Лемма|about =о разности потоков|statement=Пусть <tex>f'G = (uV,vE) \le c_f(u</tex> {{---}} транспортная сеть с источником <tex>s</tex> и стоком <tex>t</tex>,v)а <tex>h</tex> для всех и <tex> f </tex>u{{---}} [[Определение_сети,v \in V _потока#flow|потоки]] в <tex> G </tex> и . Пусть <tex>G_f</tex> c_f(u{{---}} [[Дополняющая_сеть, v) = c(u_дополняющий_путь#residual_network|остаточная сеть]] в <tex>G</tex>, v) - порожденная потоком <tex>f(u, v) </tex>. Тогда разность потоков <tex>h - f<br/tex>, определяемая уравнением <tex>(h - f + f')(u,v) = fh(u,v) + - f'(u,v) \le f(u</tex>,v) + (c(uявляется потоком в <tex>G_f</tex>,v) и величина этого потока равна <tex>|h - f| = |h| - |f(u,v)) |</tex>.|proof= c(u,v) Антисимметричность и правило сохранения потока для <tex>h - f</tex>проверяются аналогично лемме о сложении потоков.
Покажем соблюдение ограничений пропускной способности.
3) Заметим, что для всех <tex>u \in V (h - \{s,t\}</tex> справедливо равенство <br><tex> \sum\limits_{v\in V} (f + f')(u, v) = \sum\limits_{v\in V} (fh(u,v) + - f'(u,v)) = \sum\limits_{leqslant c(u,v\in V} ) - f(u,v) + \sum\limits_{v\in V} f'= c_f(u,v) = 0 + 0 = 0</tex> .  Теперь покажем, что [[Определение_сети,_потока#flow|величина]] потока <tex>h - f</tex> равна разности величин потоков <tex>h</tex> и <brtex>f</tex>. <tex> |h - f + f'| = \sum\limits_{v\in V} (h - f + f')(s, v) = \sum\limits_{v\in V} (fh(s,v) + - f'(s,v)) </tex> <tex>= \sum\limits_{v\in V} fh(s,v) + - \sum\limits_{v\in V} f'(s,v) = |fh| + - |f'|</tex>
}}
== Литература Источники информации ==
* ''Кормен Т., Лейзерсон Ч., Ривест Р.'' Алгоритмы: построение и анализ.[http://wmate.ru/ebooks/?dl=380&mirror=1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296.
 
[[Категория:Алгоритмы и структуры данных]]
[[Категория:Задача о максимальном потоке]]
37
правок

Навигация