Сложение и разность потоков — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Лемма о сложении потоков)
Строка 5: Строка 5:
 
|proof=
 
|proof=
 
Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока. <br>  
 
Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока. <br>  
1) Для подтверждения антисимметричности заметим, что для всех <tex>(u,v) \in V</tex>, справедливо: <br> <br> <tex> (f + f')(u, v) = f(u,v) + f'(u,v) = -f(v,u) - f'(v,u) = -(f(v,u) + f'(v,u)) = -(f + f')(v,u)</tex>.<br> <br>
+
1) Для подтверждения антисимметричности заметим, что для всех <tex>(u,v) \in V</tex>, справедливо: <br>
2) Покажем соблюдение ограничений пропускной способности. Заметим, что <tex>f'(u,v) \le c_f(u,v)</tex> для всех <tex>u,v \in V </tex> и <tex> c_f(u, v) = c(u, v) - f(u, v) </tex>. Тогда <br> <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 + f')(u,v) = f(u,v) + f'(u,v) \le f(u,v) + (c(u,v) - f(u,v)) = c(u,v) </tex>. <br> <br>
+
 
3) Заметим, что для всех <tex>u \in V - \{s,t\}</tex> справедливо равенство <br> <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> <br>
+
2) Покажем соблюдение ограничений пропускной способности. Заметим, что <tex>f'(u,v) \le 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'| = \sum\limits_{v\in V} (f + f')(s, v) = \sum\limits_{v\in V} (f(s,v) + f'(s,v)) = \sum\limits_{v\in V} f(s,v) + \sum\limits_{v\in V} f'(s,v) = |f| + |f'|</tex>
+
<tex>(f + f')(u,v) = f(u,v) + f'(u,v) \le f(u,v) + (c(u,v) - f(u,v)) = c(u,v) </tex>.  
 +
 
 +
 
 +
3) Заметим, что для всех <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>
 
}}
 
}}
  
 
== Литература ==
 
== Литература ==
 
* ''Кормен Т., Лейзерсон Ч., Ривест Р.'' Алгоритмы: построение и анализ.[http://wmate.ru/ebooks/?dl=380&mirror=1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296.
 
* ''Кормен Т., Лейзерсон Ч., Ривест Р.'' Алгоритмы: построение и анализ.[http://wmate.ru/ebooks/?dl=380&mirror=1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296.

Версия 06:25, 22 января 2011

Лемма о сложении потоков

Лемма:
Пусть [math] G = (V, E) [/math] - транспортная сеть с источником [math]s[/math] и стоком [math]t[/math], а [math]f[/math] - поток в [math]G[/math]. Пусть [math]G_f[/math] - остаточная сеть в [math]G[/math], порожденная потоком [math]f[/math], а [math]f'[/math] - поток в [math]G_f[/math]. Тогда сумма потоков [math]f + f'[/math], определяемая уравнением [math](f + f')(u, v) = f(u,v) + f'(u,v)[/math], является потоком в [math]G[/math], и величина этого потока равна [math]|f + f'| = |f| + |f'|[/math].
Доказательство:
[math]\triangleright[/math]

Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока.
1) Для подтверждения антисимметричности заметим, что для всех [math](u,v) \in V[/math], справедливо:
[math] (f + f')(u, v) = f(u,v) + f'(u,v) = -f(v,u) - f'(v,u) [/math] [math] = -(f(v,u) + f'(v,u)) = -(f + f')(v,u)[/math]


2) Покажем соблюдение ограничений пропускной способности. Заметим, что [math]f'(u,v) \le c_f(u,v)[/math] для всех [math]u,v \in V [/math] и [math] c_f(u, v) = c(u, v) - f(u, v) [/math]. Тогда
[math](f + f')(u,v) = f(u,v) + f'(u,v) \le f(u,v) + (c(u,v) - f(u,v)) = c(u,v) [/math].


3) Заметим, что для всех [math]u \in V - \{s,t\}[/math] справедливо равенство
[math] \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[/math]

[math] |f + f'| = \sum\limits_{v\in V} (f + f')(s, v) = \sum\limits_{v\in V} (f(s,v) + f'(s,v)) [/math] [math]= \sum\limits_{v\in V} f(s,v) + \sum\limits_{v\in V} f'(s,v) = |f| + |f'|[/math]
[math]\triangleleft[/math]

Литература

  • Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ.[1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296.