Что такое сеть? |
Потоки в сетях
Теорема (о максимальном потоке и минимальном разрезе). Во всякой сети величина любого максимального потока равна пропускной способности любого минимального разреза.
Первое доказательство. Предположим сначала, что пропускная способность любой дуги является целым числом. В этом случае можно рассматривать сеть как орграф , в котором пропускные способности представляют число дуг, соединяющих различные вершины. Тогда величина максимального потока соответствует в полному числу непересекающихся по дугам простых орцепей из в , а пропускная способность минимального разреза — минимальному числу дуг в — разделяющем множестве. Применяя теперь теорему о целочисленности, мы сразу получим нужный результат.
Чтобы перенести этот результат на сети с рациональными пропускными способностями, умножим все пропускные способности на подходящее целое число (например, наименьшее общее кратное всех знаменателей), чтобы получились целые числа. Тогда приходим к случаю, описанному в предыдущем абзаце, и нужный результат получаем после деления на соответствующей величины максимального потока и пропускной способности минимального разреза.
Наконец, если некоторые из пропускных способностей иррациональны, то теорема доказывается с использованием аппроксимации этих чисел рациональными (с любой заданной точностью) и применением предыдущего результата. При этом аппроксимирующие рациональные числа можно подобрать так, чтобы разность между величиной любого максимального потока и пропускной способностью любого минимального разреза можно было сделать сколь угодно малой. Конечно, на практике иррациональные пропускные способности встречаются крайне редко, поскольку обычно пропускные способности задаются в десятичной форме.
Второе доказательство. Теперь приведем прямое доказательство теоремы о максимальном потоке и минимальном разрезе. Заметим, что поскольку величина любого максимального потока не превышает пропускной способности любого минимального разреза, достаточно доказать существование разреза, пропускная способность которого равна величине данного максимального потока.
Пусть — максимальный поток. Определим два множества и вершин сети: пусть обозначено основание орграфа , соответствующего рассматриваемой сети; тогда вершина сети содержится в в том и только в том случае, если в существует простая цепь , обладающая тем свойством, что любое ее ребро соответствует либо ненасыщенной дуге , либо дуге , через которую проходит ненулевой поток. (Заметим, что вершина , очевидно, содержится в .) Множество состоит из всех тех вершин, которые не принадлежат .
Покажем теперь, что не пусто и, в частности, содержит вершину . Если это не так, то принадлежит , и тогда в существует простая цепь , обладающая указанным выше свойством. Выберем положительное число , удовлетворяющее следующим двум условиям:
- оно не превышает ни одного из чисел, необходимых для насыщения дуг первого типа;
- оно не превышает потока через любую из дуг второго типа.
Очевидно, что если потоки через дуги первого типа увеличить на , а потоки через дуги второго типа уменьшить на , то величина потока увеличится на . Но это противоречит нашему предположению о том, что — — максимальный поток, и, следовательно, содержится в .
Для завершения доказательства обозначим через множество всех дуг вида , где принадлежит , а принадлежит . Ясно, что является разрезом. Более того, мы видим, что каждая дуга из насыщена, так как в противном случае вершина также принадлежала бы . Следовательно, пропускная способность множества должна равняться величине потока , а поэтому и есть искомый разрез.