Теорема Форда — Фалкерсона

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

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

Теорема Форда — Фалкерсо́на — теорема о максимальном потоке в графе.

Звучит так: величина максимального потока не превышает величины минимального разреза.

Достаточность: любой поток между вершинами t и s меньше или равен величине любого сечения. Пусть дан некоторый поток и некоторое сечение. Величина данного потока складывается из величин "грузов", перевозимых по всем возможным путям из вершины t в s. Каждый такой путь обязан иметь общее ребро с данным сечением. Так как по каждому ребру сечения суммарно нельзя перевести "груза" больше, чем его пропускная способность, поэтому сумма всех грузов меньше или равна сумме всех пропускных способностей рёбер данного сечения. Утверждение доказано.

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

На этой теореме основан алгоритм Форда — Фалкерсона поиска максимального потока в графе, он же является доказательством необходимости данной теоремы, т.е. оно является конструктивным.

Другое доказательство (через усиление)

Усилим теорему Форда-Фалкерсона следующим образом. Будем доказывать для сети <math>G(V,E)</math> с потоком f равносильность сразу трёх следующих фактов:

1° Поток f - максимальный

2° Пропускная способность минимального разреза равна величине потока f

3° В графе <math>G</math> нет дополняющего пути


1° → 3°. Предположив обратное, получим противоречие, описанное в информации по дополняющем пути в транспортном графе.

3° → 2°. Очевидно, что величина потока f не превышает пропускной способности минимального разреза <math>(S,T)</math>. Пусть <math>c(S,T)>f</math>. Тогда рассмотрим разрез, где во множестве<math>S</math> будут все вершины, кроме <math>t</math>. Тогда его пропускная способность не меньше пропускной способности минимального разреза, что, в свою очередь, больше величины потока f. Значит, существует направление <math>(u,t)</math> из <math>S</math> в <math>T</math>, что <math>f(u,t)<c(u,t)</math>. Теперь возьмём все такие <math>u</math> и перенесём их в <math>T</math>. Рассмотрев получившийся разрез, заметим, что его пропускная способность тоже меньше величины потока. Снова увеличиваем множество <math>T</math> и делаем так до тех пор, пока в множестве <math>S</math> не останется только вершина <math>s</math>. Она же будет первой вершиной в пути, который мы создаём. Теперь смотрим какую пару мы выбрали прошлым ходом. Пусть это пара <math>(s,u)</math>. Тогда к пути добавляем вершину <math>u</math>. Далее смотрим в паре с какой вершиной была на первом месте вершина <math>u</math>. Пусть это <math>(u,v)</math>. Тогда далее к пути добавляем вершину <math>v</math>. Делаем так до тех пор, пока не дойдём до вершины <math>t</math>. Однако по построению этот путь является остаточным, что противоречит предположению.

2° → 1°. Как уже говорилось, очевидно, что величина любого потока не превышает пропускной способности минимального разреза, а величина нашего потока <math>f</math> - равна. Тогда величина потока <math>f</math> не меньше величины любого другого потока в нашей сети, т.е. поток <math>f</math> - максимальный.

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

Пример

Файл:Min cut.png
Сеть с 3-мя минимальными разрезами

Справа дана сеть с 6-ю вершинами <math>V = \{s,o,p,q,r,t\}</math>, и суммарный поток от истока <math>s</math> к стоку <math>t</math> равен 5. Этот поток является максимальным для данной сети.

В данной сети возможны 3 минимальных разреза:

Cut Capacity
<math>S=\{s,p\},T=\{o,q,r,t\}</math> <math>c(s,o)+c(p,r)=3+2=5</math>
<math>S=\{s,o,p\},T=\{q,r,t\}</math> <math>c(o,q)+c(p,r)=3+2=5</math>
<math>S=\{s,o,p,q,r\},T=\{t\}</math> <math>c(q,t)+c(r,t)=2+3=5</math>

Ссылки

de:Max-Flow-Min-Cut-Theorem en:Max-flow min-cut theorem fr:Théorème flot-max/coupe-min he:משפט זרימה-מקסימלית חתך-מינימלי hu:Maximális folyam - minimális vágás ja:最大フロー最小カット定理 nl:Max-flow min-cut stelling sv:Max-flöde, minsta-snitt vi:Định lý luồng cực đại lát cắt cực tiểu

Личные инструменты

Served in 0.050 secs.