Метод проталкивания предпотока — различия между версиями
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), если . |
| Определение: |
| Функция называется высотой вершины(vertex label), если она удовлетворяет условиям:
1) 2) 3) |