
DM.III.6n
.doc
3.
Включим одну из вновь помеченных вершин,
например
,
в строящуюся аугментальную цепь.
Учитывая, что вершины
и
уже помечены, пометим остальные вершины,
смежные вершине
.
Множество таких вершин состоит из одной
вершины
,
т.к.
,
эта вершина получает метку
.
4.
Добавим одну из вершин, смежных с
и отличных от
,
в цепь. Например,
.
Пометим непомеченные вершины, смежные
вершине
;
это вершины
и
.
Ребро
является обратным, а
,
поэтому вершина
получает метку
.
Поскольку
и ребро
– прямое, сток
получает метку
.
Включая
в цепь, построим аугментальную цепь.
Эту цепь удобно записать следующим
образом
.
Стрелка
«»
ставится тогда, когда ребро, соединяющее
смежные вершины цепи, прямое, стрелка
«
»,
когда это ребро – обратное.
5
.
Так как все ребра в построенной цепи
прямые, поток через нее увеличен на
величину
(рис. 112).
6.
Стираем все метки и для полученного
потока строим новую аугментальную цепь.
При этом для дуг, которые уже включены
в ранее построенную цепь, при расчетах
учитывается только разность между их
пропускной способностью и величиной
пущенного через них потока. Например,
для дуги
это разность
.
7. Следующая возможная аугментальная цепь
строятся аналогично. Направления всех ее дуг совпадают с направлением потока, поэтому в этих дугах поток может быть увеличен на 5 (рис. 113).
8
.
Далее, строим цепь
.
Здесь, кроме того, необходимо учесть,
что в вершину
входят два ненулевых потока. Поэтому
суммарный поток из
в
,
т.е. поток через дугу
равен
(рис. 114).
9
.
Опять стираем все метки и для полученного
потока строим очередную аугментальную
цепь. Просматривая вершины, смежные
,
видим, что через вершину
дальнейшее наращивание потока невозможно.
Поэтому помечаем только вершины
и
,
для первой из них имеем
,
а для второй –
.
Будем увеличивать поток через вершину
,
т.е. включим ее в аугментальную цепь.
Рассматривая вершины
и
,
смежные этой вершине, видим, что дуга
из
в
нагружена до ее пропускной способности.
Следовательно, увеличение потока через
вершину
невозможно. Поэтому включаем в цепь
вершину
.
Просматриваем смежные с ней вершины
и
,
заключаем, что они имеют одинаковые
метки
.
Выбирая вершину
,
видим, что теперь в цепь можно включить
только вершину
.
Получим аугментальную цепь
.
Во всех дугах, которые входят в эту цепь, увеличиваем поток на 1 (рис. 115).
10.
Дальнейшее наращивание потока возможно
только через вершину
.
Эта вершина получает метку
.
Просматриваем смежные ей вершины
и
.
Первую из них помечаем
,
а вторую –
.
Включим в цепь вершину
,
тогда, как нетрудно заметить, остальные
вершины аугментальной цепи находятся
однозначно. Это цепь
.
В
о
всех дугах, входящих в эту аугментальную
цепь, поток опять можно увеличить на 1
(рис. 116).
11.
Очередная аугментальная цепь вновь
будет включать вершину
и вершину
,
теперь с меткой
.
За
будет следовать вершина
(увеличение потока через вершины
и
невозможно), которая получает метку
.
За вершиной
может следовать только вершина
;
ей присваивается метка
.
Дуга
,
идущая из
в
,
имеет ориентацию, противоположную
направлению потока, поэтому вершине
,
смежной
,
даем метку
.
Далее обычным образом включаем в цепь
вершины
и
.
Получаем аугментальную цепь
.
В
прямых дугах этой цепи поток на 2
увеличивается, а в обратной дуге
на 2 уменьшается (рис. 117). При этом, как
нетрудно заметить, в вершине
происходит перераспределение
потока.
12.
При попытке построить очередную
аугментальную цепь убеждаемся, что это
невозможно: вершины
,
,
,
а значит и вершина
,
оказываются непомеченными. Поэтому
величина максимального потока
в сети будет равна сумме потоков, входящих
на предыдущем шаге в слив
:
.
Минимальный разрез
проходит по дугам
,
,
,
идущим в непомеченные вершины.
Обратите
внимание, что пропускная способность
найденного минимального разреза
действительно равна величине максимального
потока.
Как
уже отмечалось вначале, анализ сети с
полюсами можно свести к анализу
двухполюсной сети. Для этого к сети
добавляют две новые вершины. Одну из
них принимают за источник и соединяют
дугами со всеми полюсами сети. Вторую
вершину принимают за сток, с ней дугами
соединяют все полюсы рассматриваемой
сети.