Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_po_diskretnoy_matematike.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.71 Mб
Скачать

3.13. Задача о максимальном потоке

В этом параграфе будут рассматриваться сети , имеющие единственную вершину с нулевой полустепенью захода и единственную вершину с нулевой полустепенью исхода. Вершину будем называть источником, а вершину - стоком сети . Вес дуги будем называть пропускной способностью этой дуги.

Для удобства изложения введем следующие обозначения. Через обозначим множество дуг, для которых вершина является началом, а через обозначим множество дуг, для которых вершина является концом.

Определение. Потоком в сети называется функция , удовлетворяющая условиям:

1. ;

2. для всех вершин , , , где и

Значение можно интерпретировать как поток, втекающий в вершину , а значение - как поток, вытекающий из вершины . Тогда второе условие можно переформулировать так: поток, втекающий в любую вершину, за исключением источника и стока, должен быть равен вытекающему из этой вершины потоку.

У словие 1) называется условием ограничения по пропускной способности, а условие 2) – условием сохранения потока в вершинах.

Пример 1. На рисунке дан пример сети и потока в ней. Пропускная способность дуги указана около соответствующей дуги, там же через запятую указано значение .

Определение. Положим . Число называется величиной потока.

Определение. Поток называется максимальным, если для любого потока справедливо неравенство .

Задача о максимальном потоке состоит в следующем: в заданной сети найти поток максимальной величины.

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

Теорема. В каждой сети существует максимальный поток.

Определение. Цепью из вершины в вершину на сети называется последовательность попарно различных вершин и дуг

,

(здесь ), в которой любые два соседних элемента инцидентны.

Если при этом дуга выходит из вершины и заходит в вершину , то она называется прямой дугой цепи. Если же дуга выходит из вершины и заходит в вершину , то она называется обратной дугой цепи.

Пусть - поток в сети и - цепь из в . Для каждой дуги цепи положим

и

.

Определение. Цепь из в называется - дополняющей, если .

Пример 2. В сети, изображенной на рисунке 1, цепь, включающая последовательно вершины , является - дополняющей для потока, рассмотренного в примере 1.

Одним из алгоритмов, позволяющих построить максимальный поток, является алгоритм Форда-Фалкерсона.

Алгоритм Форда –Фалкерсона. 0-ой шаг. Положим для всех дуг .

-ый шаг. Пусть к началу шага по цепи течет поток . Для текущего потока ищется -дополняющая -цепь.

Если такой цепи нет, то максимальный поток найден: это .

В противном случае, если такая -дополняющая -цепь имеется, ей дается имя и по следующему правилу строится поток :

Величина этого потока определяется равенством

.

Замечание. Возникает существенный вопрос: закончится ли работа алгоритма за конечное число шагов? Оказывается, гарантии этому нет. Гарантировать построение максимального потока можно в случае, если на каждом шаге производить увеличение потока вдоль кратчайших по числу дуг -дополняющих цепей.

Пример 3. Построим максимальный поток для сети из примера 1.

Ш аг 0. ;

поток указан на рис. 1;

.

Шаг 1. ,

,

поток указан на рис. 2;

.

Ш аг 2. ,

,

поток указан на рис. 3;

.

Ш аг 3. ,

,

поток указан на рис. 4;

.

Шаг 4. ,

,

поток указан на рис. 5;

.

Для цепи, изображенной на рисунке 5 , -дополняющих цепей из в нет. Следовательно, поток является максимальным потоком.

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]