Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискр_матем_МУ.doc
Скачиваний:
11
Добавлен:
22.07.2019
Размер:
1.63 Mб
Скачать

Определение максимального потока методом разметки вершин

Процедура получения максимального потока состоит из:

  • операции А – процесса расстановки пометок у вершин,

  • операции В – изменения потока в сторону его увеличения.

Пометка начинается с истока , который помечается - .

Пусть задана помеченная вершина . Если для имеется смежная вершина , соединенная с ней насыщенной дугой, то последняя не помечается

хj

хi

хj

Е

хi

сли ,

то вершина помечается знаком , т.е. . Если смежная предыдущая вершина соединена с помеченной вершиной со значением потока

, то вершина помечается знаком , т.е. .

Не помечаются вершины, которые соединены с помеченной смежной вершиной, входяшей в нее с дугой с нулевым потоком

Очевидно, что с увеличением потока на дугах, оканчивающихся вершинами, которые помечены плюсом, и уменьшением потока на дугах, оканчивающихся на вершинах, которые отмечены минусом, можно увеличить поток в сети.

Пример

u u/

Если при построении помеченного пути будет помечен сток, то такая ситуация называется прорывом. В противном случае говорят о непрорыве.

Это означает, что между истоком и стоком имеется путь , вершины которого помечены индексами предшествующих вершин.

Таким образом, в соответствии со следствиями найден путь, который может увеличить поток.

Форд и Фалкерсон дали одну из модификаций метода пометок.

Начальная вершина помечается . Смежная с помеченной вершиной - последующая вершина помечается , если  , (12)

.

Смежная с помеченной вершиной неотмеченная вершина помечается , если  , где . (13)

Процедуру получения максимального потока рекомендуется начать с нулевого потока.

Пример

2

5

3 4 10

z

3 6

2

Легко видеть, что является путем не содержащим насыщенных дуг.

В соотвествии с формулой (13) увеличиваем значения потока на дугах на 2, тогда дуга становится насыщенной – в таблице это отмечено чертой сверху.

Последовательность решения примера

Дуги

0

1

2

3

0х4)

0

2

0х1)

0

0

0

2

4х3)

0

2

2

4х2)

0

0

1х2)

0

0

0

3х2)

0

0

0

0

3z)

0

2

2

2

2z)

0

0

3

5

Соответствующие значения потока приведены в третьем столбце.

На второй итерации выбираем второй путь свободный от насыщенных дуг. Увеличиваем значение потока на . Результирующий поток приведен в четвертом столбце. На третьей итерации выбирается путь , поток увеличивается на 2. Результаты приведены в пятом столбце .Прорыв в точку больше осуществить нельзя. Полученный поток является максимальным со значением Ф = 7.