Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показано 13 промежуточных версий 4 участников)
Строка 1: Строка 1:
 +
{{Лемма
 +
|about=
 +
о разности потоков
 +
|statement=
 +
Пусть <tex> f </tex> и <tex> g </tex> {{---}} потоки равной величины в сети <tex> G </tex>. Тогда <tex> g </tex> можно представить как сумму <tex> f </tex> и нескольких циклов в остаточной сети <tex> G_f </tex>, т.е. <tex>g = f + \sum_{i} C_i </tex>.
 +
|proof=
 +
Рассмотрим разность потоков <tex> g - f </tex>, <tex> |g - f| = 0 </tex>. Построим ее [[теорема о декомпозиции|декомпозицию]]. В декомпозиции могут быть только циклы, т.к. наличие путей <tex> s \leadsto t</tex> противоречило бы нулевой величине потока. Таким образом, получили разбиение разности потоков на циклы. Заметим, что <tex> g(u,v) - f(u,v) \leqslant c(u, v) - f(u, v) = c_f(u, v)</tex>, т.е. все циклы принадлежат <tex>G_f</tex>. 
 +
}}
 +
 
{{Лемма
 
{{Лемма
 
|about=
 
|about=
 
об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети
 
об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети
|statement=  
+
|statement=
Следующие утверждения эквивалентны:
+
Поток <tex> f </tex> {{---}} минимальной стоимости среди потоков своей величины <tex> \iff </tex> в остаточной сети <tex> G_f </tex> нет циклов отрицательной стоимости.
*Поток <tex> f </tex> {{---}} минимальной стоимости.
 
остаточной сети <tex> G_f </tex> нет циклов отрицательного веса.
 
 
|proof=  
 
|proof=  
 
*<tex>\Rightarrow </tex>
 
*<tex>\Rightarrow </tex>
От противного. Пусть существует <tex> C </tex> {{---}} цикл отрицательного веса в <tex> G_f </tex>,
+
От противного. Пусть существует <tex> C </tex> {{---}} цикл отрицательной стоимости в <tex> G_f </tex>,
 
<tex> c_m </tex> {{---}} наименьшая остаточная пропускная способность среди рёбер <tex> C </tex>.
 
<tex> c_m </tex> {{---}} наименьшая остаточная пропускная способность среди рёбер <tex> C </tex>.
  
 
Пустим по <tex> C </tex> поток <tex> f_+ = c_m </tex>.  
 
Пустим по <tex> C </tex> поток <tex> f_+ = c_m </tex>.  
Так как сумма весов по циклу отрицательна и поток по каждому ребру одинаков, то <tex> \sum_{u,v \in V} p(u,v) \cdot f_+(u,v) < 0</tex>  
+
Так как сумма стоимостей по циклу отрицательна и поток по каждому ребру одинаков, то <tex> \sum_{(u,v) \in E} p(u,v) \cdot f_+(u,v) < 0</tex>  
  
<tex>\Rightarrow </tex> <tex>\sum_{u,v \in V} p(u,v) \cdot (f + f_+)(u,v) < \sum_{u,v \in V} p(u,v) \cdot f</tex> <tex>\Rightarrow f </tex> {{---}} не минимальный. Противоречие.
+
<tex>\Rightarrow </tex> <tex>\sum_{(u,v) \in E} p(u,v) \cdot (f + f_+)(u,v) < \sum_{(u,v) \in E} p(u,v) \cdot f(u, v)</tex> <tex>\Rightarrow f </tex> {{---}} не минимальный. Противоречие.
 
*<tex>\Leftarrow </tex>
 
*<tex>\Leftarrow </tex>
От противного. Пусть <tex> f </tex> - не минимальной стоимости. Тогда существует <tex> f_m </tex> - поток минимальной стоимости и того же объема.
+
Рассмотрим поток <tex> f </tex>, такой что в <tex> G_f </tex> нет циклов отрицательной стоимости. Рассмотрим <tex> f' </tex> {{---}} поток величины <tex> |f| </tex> и минимальной стоимости, т. е. <tex> p(f') \leqslant p(f) </tex>. По лемме представим <tex>f' = f + \sum_{i} C_i </tex>. По условию стоимости всех циклов неотрицательны. Получаем <tex> p(f') \geqslant p(f) \Rightarrow p(f') = p(f)</tex>.
Существует поток <tex> f_- </tex>, такой что <tex>f_m = f + f_-~,~|f_-| = 0~,~\sum_{u,v \in V} p(u,v) \cdot f_-(u,v) < 0</tex>.
+
}}
  
По [[Теорема_о_декомпозиции|теореме о декомпозиции]] <tex> f_- </tex> представим в виде совокупности <tex> P_i </tex>, где поток <tex>f_i</tex> (<tex>f_-</tex> по <tex>P_i</tex>) положителен и для каждого <tex>i</tex> верно одно из двух утверждений:
+
== Источники информации ==
* <tex> P_i </tex> - путь из истока в сток.
+
* Ravindra Ahuja, Thomas Magnanti, James Orlin. Network flows (1993)
* <tex> P_i </tex> - цикл.
 
Если из истока в сток - изменится объем потока, что противоречит условию.
 
<tex>\Rightarrow \forall i~ P_i - </tex> цикл.
 
 
 
Так как все потоки по циклам положительны, <tex> sgn(\sum_{u,v \in V} p(u,v)) = sgn(\sum_{u,v \in V} p(u,v) \cdot f_i(u,v))</tex>
 
 
 
Рассмотрим <tex>P_i</tex>:
 
*<tex>\sum_{uv \in P_i} p(u,v)= 0 \Rightarrow P_i</tex> - цикл нулевого веса. Тогда <tex>\exists j~:~P_j</tex> - цикл ненулевого веса.
 
*<tex>\sum_{uv \in P_i} p(u,v)> 0 \Rightarrow P_i</tex> - цикл положительного веса. Рассмотрим <tex>f_* = (f_- - f_i)</tex>. Стоимость <tex>f_*</tex> меньше стоимости <tex>f_-</tex> <tex>\Rightarrow f_m</tex> - не минимальной стоимости. Противоречие.
 
*<tex>\sum_{uv \in P_i} p(u,v)< 0 \Rightarrow P_i</tex> - цикл отрицательного веса. Противоречие.
 
}}
 
  
 +
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория: Задача о потоке минимальной стоимости]]
 
[[Категория: Задача о потоке минимальной стоимости]]

Текущая версия на 19:21, 4 сентября 2022

Лемма (о разности потоков):
Пусть [math] f [/math] и [math] g [/math] — потоки равной величины в сети [math] G [/math]. Тогда [math] g [/math] можно представить как сумму [math] f [/math] и нескольких циклов в остаточной сети [math] G_f [/math], т.е. [math]g = f + \sum_{i} C_i [/math].
Доказательство:
[math]\triangleright[/math]
Рассмотрим разность потоков [math] g - f [/math], [math] |g - f| = 0 [/math]. Построим ее декомпозицию. В декомпозиции могут быть только циклы, т.к. наличие путей [math] s \leadsto t[/math] противоречило бы нулевой величине потока. Таким образом, получили разбиение разности потоков на циклы. Заметим, что [math] g(u,v) - f(u,v) \leqslant c(u, v) - f(u, v) = c_f(u, v)[/math], т.е. все циклы принадлежат [math]G_f[/math].
[math]\triangleleft[/math]
Лемма (об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети):
Поток [math] f [/math] — минимальной стоимости среди потоков своей величины [math] \iff [/math] в остаточной сети [math] G_f [/math] нет циклов отрицательной стоимости.
Доказательство:
[math]\triangleright[/math]
  • [math]\Rightarrow [/math]

От противного. Пусть существует [math] C [/math] — цикл отрицательной стоимости в [math] G_f [/math], [math] c_m [/math] — наименьшая остаточная пропускная способность среди рёбер [math] C [/math].

Пустим по [math] C [/math] поток [math] f_+ = c_m [/math]. Так как сумма стоимостей по циклу отрицательна и поток по каждому ребру одинаков, то [math] \sum_{(u,v) \in E} p(u,v) \cdot f_+(u,v) \lt 0[/math]

[math]\Rightarrow [/math] [math]\sum_{(u,v) \in E} p(u,v) \cdot (f + f_+)(u,v) \lt \sum_{(u,v) \in E} p(u,v) \cdot f(u, v)[/math] [math]\Rightarrow f [/math] — не минимальный. Противоречие.

  • [math]\Leftarrow [/math]
Рассмотрим поток [math] f [/math], такой что в [math] G_f [/math] нет циклов отрицательной стоимости. Рассмотрим [math] f' [/math] — поток величины [math] |f| [/math] и минимальной стоимости, т. е. [math] p(f') \leqslant p(f) [/math]. По лемме представим [math]f' = f + \sum_{i} C_i [/math]. По условию стоимости всех циклов неотрицательны. Получаем [math] p(f') \geqslant p(f) \Rightarrow p(f') = p(f)[/math].
[math]\triangleleft[/math]

Источники информации

  • Ravindra Ahuja, Thomas Magnanti, James Orlin. Network flows (1993)