Метод проталкивания предпотока — различия между версиями
Warrior (обсуждение | вклад) м (→Определения) |
Warrior (обсуждение | вклад) (→Определения) |
||
Строка 5: | Строка 5: | ||
|definition= | |definition= | ||
'''Предпотоком''' ('''preflow''') будем называть функцию <tex> f: V \times V \rightarrow R </tex>, удовлетворяющую следующим свойствам: | '''Предпотоком''' ('''preflow''') будем называть функцию <tex> f: V \times V \rightarrow R </tex>, удовлетворяющую следующим свойствам: | ||
− | 1) <tex> f( | + | 1) <tex> f(u, v) = -f(v, u) </tex> (антисимметричность) |
− | 2) <tex> f( | + | 2) <tex> f(u, v) \leqslant c(u, v) </tex> (ограничение пропускной способностью) |
− | 3) <tex>\forall u \in V \setminus \{s, t\} \quad \sum\limits_{v \in V} f( | + | 3) <tex>\forall u \in V \setminus \{s, t\} \quad \sum\limits_{v \in V} f(v, u) \geqslant 0 </tex> (ослабленное условие сохранения потока) |
}} | }} | ||
Как можно заметить, по своим свойствам предпоток очень похож на [[Определение сети, потока#Определение потока|поток]] и отличается лишь тем, что для него не выполняется закон сохранения потока. | Как можно заметить, по своим свойствам предпоток очень похож на [[Определение сети, потока#Определение потока|поток]] и отличается лишь тем, что для него не выполняется закон сохранения потока. | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | '''Избыточным потоком''' ('''excess flow'''), входящим в вершину <tex> u </tex>, назовем величину <tex> e(u) = \sum \limits_{v \in V} f( | + | '''Избыточным потоком''' ('''excess flow'''), входящим в вершину <tex> u </tex>, назовем величину <tex> e(u) = \sum \limits_{v \in V} f(v, u) </tex>.<br> |
Тогда вершина <tex> u \in V \setminus \{s, t\} </tex> будет называться '''переполненной'''('''overflowing'''), если <tex> e(u) > 0 </tex>. | Тогда вершина <tex> u \in V \setminus \{s, t\} </tex> будет называться '''переполненной'''('''overflowing'''), если <tex> e(u) > 0 </tex>. | ||
+ | }} | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | Функция <tex> h: V \rightarrow N \cup \{0\}</tex> называется '''высотой вершины'''('''vertex label'''), если она удовлетворяет условиям: | ||
+ | 1) <tex> h(s) = \left\vert V \right\vert </tex> | ||
+ | |||
+ | 2) <tex> h(t) = 0 </tex> | ||
+ | 3) <tex> \forall (u, v) \in E_f \quad h(u) \leqslant h(v) + 1</tex> | ||
}} | }} | ||
Версия 23:20, 6 декабря 2012
Метод проталкивая предпотока — обобщенный алгоритм нахождения максимального потока в транспортной сети. В отличии от алгоритма Эдмондса-Карпа и алгоритма Диница не является частным случаем метода Форда-Фалкерсона.
Содержание
Определения
Определение: |
Предпотоком (preflow) будем называть функцию 1) (антисимметричность)2) 3) (ограничение пропускной способностью) (ослабленное условие сохранения потока) | , удовлетворяющую следующим свойствам:
Как можно заметить, по своим свойствам предпоток очень похож на поток и отличается лишь тем, что для него не выполняется закон сохранения потока.
Определение: |
Избыточным потоком (excess flow), входящим в вершину Тогда вершина будет называться переполненной(overflowing), если . | , назовем величину .
Определение: |
Функция 1) 2) 3) | называется высотой вершины(vertex label), если она удовлетворяет условиям: