Изменения

Перейти к: навигация, поиск

Теорема о декомпозиции

15 байт добавлено, 15:58, 22 декабря 2010
Нет описания правки
о декомпозиции потока
|statement=
Любой поток <tex>f</tex> [[Определение сети, потока|транспортной сети]] <tex>G = (V, E)</tex> можно представить в виде совокупности <tex>O(E)</tex> путей из истока в сток и циклов. При этом все пути и циклы имеет имеют положительный поток.
|proof=
Пусть <tex>s</tex> - исток, <tex>t</tex> - сток потока сети <tex>fG</tex>. Пусть из <tex>s</tex> выходит хотя бы одно ребро с положительным потоком. Пойдем по этому ребру, попадем в вершину <tex>v_1</tex>. Если <tex>v_1</tex> совпадает с <tex>t</tex>, то найденный путь является путем из <tex>s</tex> в <tex>t</tex>, иначе по закону сохранения потока для вершины <tex>v_1</tex> из нее должно выходить хотя бы одно ребро с положительным потоком в некоторую вершину <tex>v_2</tex>. Будем продолжать этот процесс до тех пор, пока <tex>v_i</tex> не совпадет с <tex>t</tex> (найден путь из <tex>s</tex> в <tex>t</tex>) либо с <tex>v_j, j < i</tex> или <tex>s</tex> одной из ранее посещенных вершин (найден цикл). Данный путь (цикл) будет иметь положительный поток <tex>f'</tex>, равный минимальному среди потоков по всем ребрам пути (цикла). Уменьшая поток каждого ребра этого пути (цикла) на величину <tex>f'</tex>, получаем новый поток. Будем продолжать описанный алгоритм до тех пор, пока поток из <tex>s</tex> не станет нулевым. Потребуем теперь, чтобы потоки из других вершин стали нулевыми. Для этого повторим поиск циклов вышеописанным способом для других вершин. Итак, поскольку потоки по всем ребрам равны нулю, то мы получили искомую декомпозицию потока. Заметим, что после поиска одного пути (цикла) поток хотя бы по одному из ребер обнулится, следовательно, для полного представления потока потребуется не более <tex>E</tex> таких операций.
}}
Анонимный участник

Навигация