Дополняющая сеть, дополняющий путь — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Лемма о сложении потоков)
(не показано 35 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
<b>Остаточной пропускной способностью</b> ребра <tex>(u, v)</tex> называется величина дополнительного потока, который мы можем направить из <tex> u </tex> в <tex> v </tex>, не превысив пропускную способность <tex> c(u, v) </tex>. Иными словами <tex> c_f(u, v) = c(u, v) - f(u, v) </tex>.
+
'''Остаточной пропускной способностью''' (англ. ''residual capacity'') ребра <tex>(u, v)</tex> называется величина дополнительного [[Определение сети, потока#flow|потока]], который мы можем направить из <tex> u </tex> в <tex> v </tex>, не превысив [[Определение сети, потока#flow|пропускную способность]] <tex> c(u, v) </tex>. Иными словами <tex> c_f(u, v) = c(u, v) - f(u, v) </tex>.
 
}}
 
}}
  
 
{{Определение
 
{{Определение
 +
|id=residual_network
 
|definition=
 
|definition=
Для заданной транспортной сети <tex>G=(V,E)</tex> и потока <tex>f</tex>, <b>дополняющей сетью</b> (residual network) в <tex>G</tex>, порожденной потоком <tex>f</tex>, является сеть <tex>G_f=(V,E_f)</tex>, где <tex>E_f=\{(u,v) \in V\times V : c_f(u, v) > 0\}</tex>
+
Для заданной [[Определение сети, потока#flow_network|транспортной сети]] <tex>G=(V,E)</tex> и потока <tex>f</tex>, '''остаточной сетью''', ('''дополняющая сеть''', англ. ''residual network'') в <tex>G</tex>, порожденной потоком <tex>f</tex>, является сеть <tex>G_f=(V,E_f)</tex>, где <tex>E_f=\{(u,v) \in V\times V \mid c_f(u, v) > 0\}</tex>
 
}}
 
}}
  
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Для заданных транспортной сети <tex>G=(V,E)</tex> и потока <tex>f</tex> <b>дополняющим путем</b> (augmenting path) <tex>p</tex> является простой путь из истока в сток в остаточной сети <tex>G_f=(V,E_f)</tex>.
+
Для заданной транспортной сети <tex>G=(V,E)</tex> и потока <tex>f</tex> '''дополняющим путем''' (англ. ''augmenting path'') <tex>p</tex> является простой путь из [[Определение сети, потока#flow_network| истока в сток]] в остаточной сети <tex>G_f=(V,E_f)</tex>.
 
}}
 
}}
  
==Лемма о сложении потоков==
+
{|border="0" cellpadding="5" width=30% align=center
{{Лемма
+
|[[Файл:Flow-network.png|thumb|340px|center|Граф с некоторым потоком]]
|statement=
+
|[[Файл:Residual-network.png|thumb|340px|center|Остаточная сеть этого графа]]
Пусть <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>.
+
|
|proof=
+
|}
Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока. <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>
 
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) \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>
 
<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>
 
  
 +
== Источники информации==
 +
* ''Кормен Т., Лейзерсон Ч., Ривест Р.'' Алгоритмы: построение и анализ.[http://wmate.ru/ebooks/?dl=380&mirror=1] — 2-е изд. — М.: Издательский дом «Вильямс», 2007. — С. 1296. ISBN — 978-0-2625-3196-2
 +
* [http://ru.wikipedia.org/wiki/Транспортная_сеть Википедия {{---}} Транспортная сеть]
 +
* [http://en.wikipedia.org/wiki/Flow_network Wikipedia {{---}} Flow Network]
  
}}
+
[[Категория:Алгоритмы и структуры данных]]
 +
[[Категория:Задача о максимальном потоке]]

Версия 19:54, 18 ноября 2015

Определение:
Остаточной пропускной способностью (англ. residual capacity) ребра [math](u, v)[/math] называется величина дополнительного потока, который мы можем направить из [math] u [/math] в [math] v [/math], не превысив пропускную способность [math] c(u, v) [/math]. Иными словами [math] c_f(u, v) = c(u, v) - f(u, v) [/math].


Определение:
Для заданной транспортной сети [math]G=(V,E)[/math] и потока [math]f[/math], остаточной сетью, (дополняющая сеть, англ. residual network) в [math]G[/math], порожденной потоком [math]f[/math], является сеть [math]G_f=(V,E_f)[/math], где [math]E_f=\{(u,v) \in V\times V \mid c_f(u, v) \gt 0\}[/math]


Определение:
Для заданной транспортной сети [math]G=(V,E)[/math] и потока [math]f[/math] дополняющим путем (англ. augmenting path) [math]p[/math] является простой путь из истока в сток в остаточной сети [math]G_f=(V,E_f)[/math].


Граф с некоторым потоком
Остаточная сеть этого графа

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