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

Материал из Викиконспекты
Перейти к: навигация, поиск
(Литература)
Строка 26: Строка 26:
 
}}
 
}}
  
== Литература ==
+
== Источники информации ==
 
* Ravindra Ahuja, Thomas Magnanti, James Orlin. Network flows (1993)
 
* Ravindra Ahuja, Thomas Magnanti, James Orlin. Network flows (1993)
  
 
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория: Задача о потоке минимальной стоимости]]
 
[[Категория: Задача о потоке минимальной стоимости]]

Версия 23:39, 6 января 2017

Лемма (о разности потоков):
Пусть [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)