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

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Определения)
м (Определения)
Строка 15: Строка 15:
 
|definition=
 
|definition=
 
'''Избыточным потоком''' ('''excess flow'''), входящим в вершину <tex> u </tex>, назовем величину <tex> e(u) = \sum \limits_{v \in V} f(vu) </tex>.<br>
 
'''Избыточным потоком''' ('''excess flow'''), входящим в вершину <tex> u </tex>, назовем величину <tex> e(u) = \sum \limits_{v \in V} f(vu) </tex>.<br>
Тогда вершина <tex> u \in V \setminus \{s, t\} </tex> будет называться '''переполненной''', если <tex> e(u) > 0 </tex>.
+
Тогда вершина <tex> u \in V \setminus \{s, t\} </tex> будет называться '''переполненной'''('''overflowing'''), если <tex> e(u) > 0 </tex>.
 
}}
 
}}
  

Версия 22:46, 6 декабря 2012

Метод проталкивая предпотока — обобщенный алгоритм нахождения максимального потока в транспортной сети. В отличии от алгоритма Эдмондса-Карпа и алгоритма Диница не является частным случаем метода Форда-Фалкерсона.

Определения

Определение:
Предпотоком (preflow) будем называть функцию [math] f: V \times V \rightarrow R [/math], удовлетворяющую следующим свойствам:

1) [math] f(uv) = -f(vu) [/math] (антисимметричность)

2) [math] f(uv) \leqslant c(uv) [/math] (ограничение пропускной способностью)

3) [math]\forall u \in V \setminus \{s, t\} \quad \sum\limits_{v \in V} f(vu) \geqslant 0 [/math] (ослабленное условие сохранения потока)

Как можно заметить, по своим свойствам предпоток очень похож на поток и отличается лишь тем, что для него не выполняется закон сохранения потока.

Определение:
Избыточным потоком (excess flow), входящим в вершину [math] u [/math], назовем величину [math] e(u) = \sum \limits_{v \in V} f(vu) [/math].
Тогда вершина [math] u \in V \setminus \{s, t\} [/math] будет называться переполненной(overflowing), если [math] e(u) \gt 0 [/math].


Идея

Операции

Схема алгоритм

Корректность алгоритма

Оценка быстродействия

Источники