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