Jump to content

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

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

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

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

[ редактировать ]

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

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

  • конечный ориентированный граф N = ( V , E ) , где V обозначает конечное множество вершин, а E V × V — множество ориентированных ребер;
  • a source s V and a sink t V ;
  • функция емкости , которая представляет собой отображение обозначается c uv или c ( u , v ) для ( u , v ) ∈ E . Он представляет собой максимальный объем потока, который может пройти через ребро.

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

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

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

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

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

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

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

Другая половина теоремы о максимальном потоке и минимальном разрезе относится к другому аспекту сети: набору разрезов. St разрез C = ( S , T ) — это разбиение V такое, s S и t T. что То есть разрез s t — это разделение вершин сети на две части, с источником в одной части и стоком в другой. Набор вырезок разреза 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]

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

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

Равенство в теореме о максимальном потоке и минимальном сокращении следует из сильной теоремы двойственности в линейном программировании , которая утверждает, что если основная программа имеет оптимальное решение 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 соответственно. По теореме о максимальном потоке и минимальном сокращении проблему можно решить как задачу о максимальном потоке .

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

Проект р ( п я )

Машина c ( q j )

1 100 200

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

2 200 100

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

3 150 50

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

Минимальная мощность одного разреза — 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. А с : набор оставшихся вершин, т.е. V − A

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

.

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

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

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

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

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

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

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

См. также

[ редактировать ]
  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) «О теореме сетей о максимальном потоке и минимальном сокращении», в « Линейные неравенства» , Ann. Математика. Исследования, нет. 38, Принстон, Нью-Джерси
  9. ^ Л. Р. Форд и Д. Р. Фулкерсон (1957) «Простой алгоритм поиска максимальных сетевых потоков и приложение к проблеме Хичкока», Canadian Journal of Mathematics 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. Введение в ЛП-Дуальность». Алгоритмы аппроксимации . Спрингер. стр. 93–100. ISBN  3-540-65367-8 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 08b4f77ada31ec07fbaa37130072aa8c__1706320560
URL1:https://arc.ask3.ru/arc/aa/08/8c/08b4f77ada31ec07fbaa37130072aa8c.html
Заголовок, (Title) документа по адресу, URL1:
Max-flow min-cut theorem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)