Теорема о максимальном расходе и минимальном разрезе - Max-flow min-cut theorem

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

В теорема о максимальном потоке и минимальном отсечении это частный случай теорема двойственности за линейные программы и может использоваться для получения Теорема Менгера и Теорема Кенига – Эгервари.[1]

Определения и заявление

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

Чтобы сформулировать теорему, сначала необходимо определить каждую из этих величин.

Позволять N = (V, E) быть ориентированный граф, куда V обозначает множество вершин, а E это множество ребер. Позволять sV и тV быть источником и приемником N, соответственно.

В емкость ребра - это отображение обозначается cУФ или же c(ты, v) куда ты,vV. Он представляет собой максимальный поток, который может пройти через край.

Потоки

А поток это отображение обозначается или же , при соблюдении следующих двух ограничений:

  1. Ограничение емкости: Для каждого края ,
  2. Сохранение потоков: Для каждой вершины Помимо и (т.е. источник и раковинасоответственно) имеет место равенство

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

В ценить потока определяется

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

Задача максимального потока требует наибольшего потока в данной сети.

Задача максимального расхода. Максимизировать , то есть направить как можно больше потока из к .

Порезы

Другая половина теоремы о максимальном потоке и минимальном разрезе относится к другому аспекту сети: набору разрезов. An s-t вырезать C = (S, Т) это раздел V такой, что sS и тТ. То есть, s-т разрез - это разделение вершин сети на две части, с источником в одной части и стоком в другой. В набор для резки разреза C - это набор ребер, которые соединяют исходную часть выреза с входной частью:

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

В емкость из s-t вырезать - общий вес его ребер,

куда если и , иначе.

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

Проблема с минимальным разрезом s-t. Свести к минимуму c(S, Т), то есть определить S и Т так что емкость S-T разрез минимально.

Основная теорема

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

Теорема о максимальном потоке и минимальном разрезе. Максимальное значение потока s-t равно минимальной пропускной способности по всем отрезкам s-t.

Постановка линейной программы

Задачу о максимальном потоке и задачу о минимальном разрезе можно сформулировать как две прямодвойственные линейные программы.[2]

Максимальный расход (Primal)

Мин-вырез (двойной)

переменные

[переменная для каждого края]

[переменная для каждого края]

[переменная для нетерминального узла]

цель

максимизировать

[максимальный общий поток из источника]

свести к минимуму

[мин. общая вместимость кромок в резе]

ограничения

при условии

[ограничение на ребро и ограничение на нетерминальный узел]

при условии

[ограничение на край]

знаковые ограничения

LP с максимальным расходом прост. Двойной ЛП получается с использованием алгоритма, описанного в двойная линейная программа. Получившийся LP требует пояснений. Интерпретация переменных в LP min-cut:

Цель минимизации суммирует пропускную способность по всем ребрам, которые содержатся в разрезе.

Ограничения гарантируют, что переменные действительно соответствуют законному сокращению:[3]

  • Ограничения (эквивалентно ) гарантируют, что для нетерминальных узлов u, v, если ты в S и v в Т, то ребро (ты,v) засчитывается в разрезе ().
  • Ограничения (эквивалентно ) гарантируют, что если v в Т, то край (s, v) учитывается в разрезе (поскольку s по определению в S).
  • Ограничения (эквивалентно ) гарантируют, что если ты в S, то край (u, t) учитывается в разрезе (поскольку т по определению в Т).

Обратите внимание, что, поскольку это проблема минимизации, мы не должны гарантировать, что ребро нет в разрезе - мы только должны гарантировать, что каждое ребро, которое должно быть в разрезе, суммируется в целевой функции.

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

Пример

Сеть со значением потока, равным пропускной способности отрезка s-t

На рисунке справа изображена сеть со значением расхода 7. Цифровая аннотация на каждой стрелке в виде Икс/у, указывает поток (Икс) и емкость (у). Всего семь потоков, исходящих из источника (4 + 3 = 7), равно как и потоков в сток (3 + 4 = 7).

Вершины, отмеченные белым цветом, и вершины, отмеченные серым цветом, образуют подмножества S и Т s-t разреза, множество разрезов которого содержит пунктирные края. Поскольку пропускная способность отрезка s-t равна 7, что равняется значению потока, теорема о максимальном потоке и минимальном отрезке указывает, что значение потока и пропускная способность отрезка s-t являются оптимальными в этой сети.

Обратите внимание, что поток через каждую из пунктирных кромок работает на полную мощность: это «узкое место» системы. Напротив, в правой части сети есть свободные мощности. В частности, поток от узла один к узлу два не обязательно должен быть равен 1. Если бы не было потока между узлами один и два, то входы в приемник изменились бы на 4/4 и 3/5; общий поток все равно будет семь (4 + 3 = 7). С другой стороны, если поток от узла один к узлу два удвоится до 2, то входы в приемник изменится на 2/4 и 5/5; общий поток снова останется на уровне семи (2 + 5 = 7).

Заявление

Теорема Седербаума о максимальном потоке

Задачу максимального потока можно сформулировать как максимизацию электрического тока через сеть, состоящую из нелинейных резистивных элементов.[4] В этой постановке предел тока яв между входными клеммами электрической сети в качестве входного напряжения Vв подходы , равняется весу набора с минимальным весом.

Обобщенная теорема о максимальном потоке и минимальном разрезе

Помимо пропускной способности ребра, рассмотрим пропускную способность каждой вершины, т. Е. Отображение обозначается c(v), так что поток ж должен удовлетворять не только ограничению пропускной способности и сохранению потоков, но и ограничению пропускной способности вершин

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

В этом новом определении Обобщенная теорема о максимальном потоке и минимальном разрезе утверждает, что максимальное значение потока s-t равно минимальной пропускной способности отрезка s-t в новом смысле.

Теорема Менгера

В задаче о неориентированных рёберно-непересекающихся путях задан неориентированный граф грамм = (V, E) и две вершины s и т, и мы должны найти максимальное количество непересекающихся ребер s-t путей в грамм.

В Теорема Менгера утверждает, что максимальное количество непересекающихся ребер s-t путей в неориентированном графе равно минимальному количеству ребер в s-t разрезе.

Проблема выбора проекта

Сетевая постановка задачи выбора проекта с оптимальным решением

В задаче выбора проекта есть п проекты и м машины. Каждый проект пя приносит доход р(пя) и каждая машина qj расходы c(qj) покупать. Для каждого проекта требуется несколько машин, и каждая машина может использоваться несколькими проектами. Проблема состоит в том, чтобы определить, какие проекты и машины следует выбрать и купить соответственно, чтобы получить максимальную прибыль.

Позволять п быть набором проектов нет выбран и Q быть набором купленных машин, то проблема может быть сформулирована как,

Поскольку первый член не зависит от выбора п и Q, эту задачу максимизации можно сформулировать как задачу минимизации, т. е.

Вышеупомянутая задача минимизации затем может быть сформулирована как задача минимального сокращения путем построения сети, в которой источник подключен к проектам с мощностью р(пя), а мойка подключается машинами емкостью c(qj). Край (пя, qj) с бесконечный мощность добавляется, если проект пя требуется машина qj. Набор s-t cut-set представляет проекты и машины в п и Q соответственно. По теореме о максимальном потоке и минимальном разрезе можно решить проблему как проблема максимального расхода.

Рисунок справа дает сетевую формулировку следующей задачи выбора проекта:

Проект р(пя)

Машина c(qj)

1100200

Для проекта 1 требуются машины 1 и 2.

2200100

Для проекта 2 требуется машина 2.

315050

Для проекта 3 требуется машина 3.

Минимальная мощность разреза s-t составляет 250, а сумма дохода по каждому проекту составляет 450; поэтому максимальная прибыль грамм 450 - 250 = 200, выбрав проекты п2 и п3.

Идея здесь состоит в том, чтобы «направить» прибыль проекта по «трубам» машины. Если мы не можем заполнить трубу, отдача станка будет меньше, чем ее стоимость, и алгоритм минимальной резки сочтет более дешевым сократить край прибыли проекта, а не предел затрат станка.

Проблема сегментации изображения

Каждый черный узел обозначает пиксель.

В проблеме сегментации изображений есть п пикселей. Каждый пиксель я может быть присвоено значение переднего плана жя или фоновое значение бя. Существует штраф в размере пij если пиксели я, j смежные и имеют разные назначения. Проблема состоит в том, чтобы назначить пиксели переднему или заднему плану так, чтобы сумма их значений за вычетом штрафов была максимальной.

Позволять п быть набором пикселей, назначенных переднему плану и Q - набор точек, отнесенных к фону, то задача может быть сформулирована как,

Вместо этого эту задачу максимизации можно сформулировать как задачу минимизации, т. Е.

Вышеупомянутая задача минимизации может быть сформулирована как задача минимального среза путем построения сети, в которой источник (оранжевый узел) подключен ко всем пикселям с емкостью жя, а сток (пурпурный узел) соединен всеми пикселями с емкостью бя. Два ребра (я, j) и (j, я) с пij емкость добавляется между двумя соседними пикселями. Затем набор s-t cut-set представляет пиксели, назначенные на передний план в п и пиксели, назначенные фону в Q.

История

Отчет об открытии теоремы дал Форд и Фулкерсон в 1962 г .:[5]

«Определение максимального установившегося потока из одной точки в другую в сети с учетом ограничений пропускной способности дуг ... было поставлено авторам весной 1955 года Т. Э. Харрисом, который вместе с генералом Ф. С. Россом (в отставке). сформулировал упрощенную модель железнодорожного потока и определил эту конкретную проблему как центральную, предложенную моделью. Вскоре после этого был получен основной результат, теорема 5.1, которую мы называем теоремой о максимальном потоке и минимальном разрезе, было предположено и установлено.[6] С тех пор появился ряд доказательств ".[7][8][9]

Доказательство

Позволять грамм = (V, E) сеть (ориентированный граф) с s и т быть источником и приемником грамм соответственно.

Рассмотрим поток ж вычислено для грамм к Алгоритм Форда – Фулкерсона. В остаточном графе (граммж ) получено для грамм (после окончательного назначения потока Алгоритм Форда – Фулкерсона ), определим два подмножества вершин следующим образом:

  1. А: множество вершин, достижимых из s в граммж
  2. Аc: множество оставшихся вершин, т.е. В - А

Требовать. ценить(ж ) = c(А, Аc), где емкость из s-t вырезать определяется

.

Теперь мы знаем, для любого подмножества вершин, А. Следовательно, для ценить(ж ) = c(А, Аc) нам нужно:

  • Все исходящие края из разреза должно быть полностью насыщенный.
  • Все входящие края в разрезе должно быть нулевой поток.

Чтобы доказать это утверждение, рассмотрим два случая:

  • В грамм, существует исходящий край такой, что он не насыщен, т.е. ж (Икс, у) < cху. Это означает, что существует передний край из Икс к у в граммж, следовательно, существует путь из s к у в граммж, что противоречит. Следовательно, любое исходящее ребро (Икс, у) полностью насыщен.
  • В грамм, существует входящий край такой, что он несет некоторый ненулевой поток, т.е. ж (у, Икс) > 0. Это означает, что существует задний край из Икс к у в граммж, следовательно, существует путь из s к у в граммж, что снова противоречит. Следовательно, любое входящее ребро (у, Икс) должен иметь нулевой расход.

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

Кроме того, поскольку любой поток в сети всегда меньше или равен пропускной способности каждого разреза, возможного в сети, вышеописанный разрез также является min-cut который получает максимальный расход.

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

Смотрите также

Рекомендации

  1. ^ Dantzig, G.B .; Фулкерсон, Д. (9 сентября 1964 г.). "О теореме о максимальном потоке и минимальном разрезе сетей" (PDF). Корпорация РЭНД: 13. Получено 10 января 2018.
  2. ^ Тревизан, Лука. «Лекция 15 из CS261: Оптимизация» (PDF).
  3. ^ Келлер, Оргад. «Представление LP min-cut max-flow».
  4. ^ Седербаум, И. (август 1962 г.). «Об оптимальной работе сетей связи». Журнал Института Франклина. 274: 130–141.
  5. ^ Л. Р. Форд-младший & Д. Р. Фулкерсон (1962) Потоки в сетях, Страница 1, Princeton University Press МИСТЕР0159700
  6. ^ Л. Р. Форд-младший и Д. Р. Фулкерсон (1956) "Максимальный поток через сеть", Канадский математический журнал 8: 399-404}}
  7. ^ П. Элиас, А. Файнштейн и К. Э. Шеннон (1956) «Заметка о максимальном потоке через сеть», IRE. Труды по теории информации, 2 (4): 117–119.
  8. ^ Джордж Данциг и Д. Р. Фулкерсон (1956) "О теореме сетей о максимальном потоке и минимальном разрезе", в Линейные неравенства, Анна. Математика. Исследования, нет. 38, Принстон, Нью-Джерси
  9. ^ Л. Р. Форд и Д. Р. Фулкерсон (1957) "Простой алгоритм для поиска максимальных сетевых потоков и приложение к проблеме Хичкока", Канадский математический журнал 9: 210–18
  • Юджин Лоулер (2001). «4.5. Комбинаторные следствия теоремы о максимальном потоке и минимальном сечении, 4.6. Интерпретация линейным программированием теоремы о максимальном потоке и минимальном сечении». Комбинаторная оптимизация: сети и матроиды. Дувр. С. 117–120. ISBN  0-486-41453-1.
  • Христос Х. Пападимитриу, Кеннет Стейглиц (1998). «6.1 Теорема о максимальном потоке и минимальном разрезе». Комбинаторная оптимизация: алгоритмы и сложность. Дувр. С. 120–128. ISBN  0-486-40258-4.
  • Виджай В. Вазирани (2004). «12. Введение в LP-двойственность». Алгоритмы аппроксимации. Springer. С. 93–100. ISBN  3-540-65367-8.