stringtranslate.com

Теорема о максимальном потоке и минимальном сокращении

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

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

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

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

Сеть

Сеть состоит из

Потоки

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

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

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

Величина потока определяется формулой

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

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

Проблема максимального потока. Максимизировать, то есть маршрутизировать как можно больший поток отк.

Порезы

Другая половина теоремы о максимальном потоке и минимальном разрезе относится к другому аспекту сети: набору разрезов. St разрез C = ( S , T ) — это разбиение V такое, что sS и tT. То есть разрез st — это разделение вершин сети на две части, с источником в одной части и стоком в другой. Множество разреза C — это набор ребер , которые соединяют исходную часть разреза с стоковой частью:

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

Пропускная способность поперечного разреза равна сумме пропускных способностей ребер в его наборе разрезов.

где если и , иначе.

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

Проблема с минимальным вырезом. Минимизируйте c ( S , T ) , то есть определите S и T так, чтобы пропускная способность st разреза была минимальной.

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

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

Теорема о максимальном потоке и минимальном сокращении. Максимальное значение расхода st равно минимальной производительности по всем разрезам st.

Пример

Максимальный поток в сети. Каждое ребро помечено f/c , где f — поток через ребро, а c — пропускная способность ребра. Значение расхода равно 5. Имеется несколько минимальных срезов s - t с производительностью 5; один из них S = { s , p } и T = { o , q , r , t }.

На рисунке справа показан поток в сети. Числовая аннотация на каждой стрелке в форме f / c указывает расход ( f ) и пропускную способность ( c ) стрелки. Всего потоков, исходящих из источника, пять (2+3=5), как и потоков в сток (2+3=5), что означает, что значение потока равно 5.

Один разрез s - t со значением 5 задается S = { s , p } и T = { o , q , r , t }. Пропускные способности ребер, пересекающих этот разрез, равны 3 и 2, что дает пропускную способность разреза 3+2=5. (Стрелка от o до p не рассматривается, так как она указывает от T обратно к S. )

Величина потока равна пропускной способности разреза, что указывает на то, что поток является максимальным потоком, а разрез - минимальным.

Обратите внимание, что поток через каждую из двух стрелок, соединяющих S и T , работает на полную мощность; так всегда бывает: минимальное сокращение представляет собой «узкое место» системы.

Формулировка линейной программы

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

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

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

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

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

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

Приложение

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

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

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

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

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

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

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

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

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

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

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

В задаче выбора проекта имеется n проектов и m машин. Каждый проект p i приносит доход r ( p i ) , а покупка каждой машины q j обходится в c ( q j ) . Для каждого проекта требуется несколько машин, и каждая машина может использоваться несколькими проектами. Проблема состоит в том, чтобы определить, какие проекты и машины следует выбрать и закупить соответственно, чтобы прибыль была максимальной.

Пусть P — набор не выбранных проектов, а Q — набор закупленных машин, тогда проблему можно сформулировать следующим образом:

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

Вышеупомянутую проблему минимизации затем можно сформулировать как задачу минимального сечения путем построения сети, где источник подключен к проектам с мощностью r ( pi ) , а приемник подключен к машинам с мощностью c ( q j ). . Ребро ( pi , qj ) с бесконечной производительностью добавляется, если для проекта pi требуется машина qj . Первый набор разрезов представляет проекты и машины в P и Q соответственно. По теореме о максимальном потоке и минимальном сокращении проблему можно решить как задачу о максимальном потоке .

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

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

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

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

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

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

Пусть P — набор пикселей, назначенных переднему плану, а Q — набор точек, назначенных фону, тогда проблему можно сформулировать следующим образом:

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

Вышеупомянутую задачу минимизации можно сформулировать как задачу минимального сечения путем построения сети, в которой источник (оранжевый узел) соединен со всеми пикселями с емкостью  f i , а сток (фиолетовый узел) соединен со всеми пикселями с емкостью б я . Два ребра ( i, j ) и ( j, i ) с пропускной способностью p ij добавляются между двумя соседними пикселями. Затем набор st представляет пиксели, назначенные переднему плану в P , и пиксели, назначенные фону в Q.

История

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

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

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

Пусть G = ( V , E ) — сеть (ориентированный граф), где s и t являются источником и стоком G соответственно.

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

  1. A : набор вершин, достижимых из s в G f
  2. A c : набор оставшихся вершин, т. е. V − A

Требовать. value(  f  ) = c ( A , Ac ) , где пропускная способность st разреза определяется выражением

.

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

Для доказательства вышеизложенного утверждения рассмотрим два случая:

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

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

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

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

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

  1. ^ Данциг, Великобритания; Фулкерсон, Д.Р. (9 сентября 1964 г.). «О теореме сетей о максимальном потоке и минимальном разрезе» (PDF) . RAND Corporation : 13. Архивировано из оригинала (PDF) 5 мая 2018 года.
  2. ^ Тревизан, Лука. «Лекция 15 из CS261: Оптимизация» (PDF) .
  3. ^ Келлер, Оргад. «Презентация LP min-cut max-flow».
  4. ^ Седербаум, И. (август 1962 г.). «Об оптимальной эксплуатации сетей связи». Журнал Института Франклина . 274 : 130–141.
  5. ^ Л.Р. Форд-младший и Д.Р. Фулкерсон (1962) Потоки в сетях , стр. 1, Princeton University Press MR 0159700
  6. ^ Л.Р. Форд-младший и Д.Р. Фулкерсон (1956) «Максимальный поток через сеть», Canadian Journal of Mathematics 8: 399-404
  7. ^ П. Элиас, А. Файнштейн и К. Э. Шеннон (1956) «Заметка о максимальном потоке через сеть», IRE. Труды по теории информации, 2 (4): 117–119.
  8. ^ Джордж Данциг и Д. Р. Фулкерсон (1956) «О теореме сетей о максимальном потоке MinCut», в «Линейные неравенства» , Ann. Математика. Исследования, нет. 38, Принстон, Нью-Джерси
  9. ^ Л. Р. Форд и Д. Р. Фулкерсон (1957) «Простой алгоритм поиска максимальных сетевых потоков и приложение к проблеме Хичкока», Canadian Journal of Mathematics 9: 210–18.