Опубликован: 25.07.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 17:

Потоки в сетях

< Лекция 16 || Лекция 17: 123

Приложение

Теорема о максимальном потоке и минимальном разрезе позволяет проверять, максимален данный поток или нет, но только для достаточно простых сетей. Разумеется, на практике приходится иметь дело с большими и сложными сетями, и в общем случае трудно найти максимальный поток простым подбором. Опишем один алгоритм нахождения максимального потока в любой сети с целочисленными пропускными способностями. Перенесение этого алгоритма на сети с рациональными пропускными способностями осуществляется тривиальным образом и предоставляется читателю.

Шаг 1. Сначала подберем поток \varphi, обладающий ненулевой величиной (если такой поток существует). Стоит отметить, что чем больше величина выбранного нами начального потока \varphi, тем проще будут последующие шаги.

Шаг 2. Исходя из N, строим новую сеть N' путем изменения направления потока \varphi на противоположное. Более точно, любая дуга a, для которой \varphi (a)=0, остается в N' со своей первоначальной пропускной способностью, а любая дуга a, для которой \varphi (a)\ne0, заменяется дугой a с пропускной способностью \psi (a)-\varphi (a) и противоположно направленной дугой с пропускной способностью \varphi(a).

Шаг 3. Если в сети N' мы сможем найти ненулевой поток из v в w, то его можно добавить к первоначальному потоку \varphi и получить в N новый поток \varphi' большей величины. Теперь можно повторить шаг 2, используя при построении сети N' новый поток \varphi' вместо \varphi. Повторяя эту процедуру, мы в конце концов придем к сети N', не содержащей ненулевых потоков; тогда соответствующий поток \varphi будет максимальным потоком.

< Лекция 16 || Лекция 17: 123
Никита Толышев
Никита Толышев
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Антон Фоломеев
Антон Фоломеев
Украина
Ту Нгуен
Ту Нгуен
Вьетнам, Беларусь