Дополняющая сеть, дополняющий путь

Материал из Викиконспекты
Перейти к: навигация, поиск
Определение:
Остаточной пропускной способностью ребра [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 : 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].


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

Лемма:
Пусть [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]

Необходимо проверить, выполняются ли ограничения антисимметричности, пропускной способности и сохранения потока. Для подтверждения антисимметричности заметим, что для всех [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].
Покажем соблюдение ограничений пропускной способности. Заметим, что [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].

Заметим, что для всех [math]u \in V - \{s,t\}[/math] справедливо равенство
[math]\triangleleft[/math]