Twierdzenie o maksymalnym przepływie i minimalnym odcięciu

W informatyce i teorii optymalizacji twierdzenie o maksymalnym przepływie i minimalnym cięciu mówi, że w sieci przepływowej maksymalna wielkość przepływu przechodzącego od źródła do ujścia jest równa całkowitej masie krawędzi w minimalnym przecięciu , tj. najmniejszej całkowitej masie krawędzi, których usunięcie spowodowałoby odłączenie źródła od ujścia.

Jest to szczególny przypadek twierdzenia o dualności dla programów liniowych i może być użyty do wyprowadzenia twierdzenia Mengera i twierdzenia Kőniga – Egerváry'ego .

Definicje i stwierdzenie

Twierdzenie zrównuje dwie wielkości: maksymalny przepływ przez sieć i minimalną przepustowość przekroju sieci. Aby sformułować twierdzenie, każde z tych pojęć musi być najpierw zdefiniowane.

Sieć

Sieć składa się z

  • skończony graf skierowany N = ( V , E ) , gdzie V oznacza skończony zbiór wierzchołków, a E V × V to zbiór skierowanych krawędzi;
  • źródło s V i ujście t V ; _
  • funkcja pojemności , u , przez . _ która oznaczonym c uv lub c ( u , ∈ mi dla _ Reprezentuje maksymalny przepływ, który może przejść przez krawędź.

przepływy

Przepływ przez sieć to mapowanie oznaczone przez oznaczone przez lub z zastrzeżeniem następujących dwóch ograniczeń: fa : mi → R + {\ Displaystyle f: E \ do \ mathbb {R} ^ {+}}}

  1. Ograniczenie pojemności : dla każdej krawędzi ,
  2. Zachowanie przepływów : dla każdego wierzchołka i . ) zachodzi następująca równość:

Przepływ można zwizualizować jako fizyczny przepływ płynu przez sieć, zgodnie z kierunkiem każdej krawędzi. Ograniczenie wydajności mówi wtedy, że objętość przepływająca przez każdą krawędź w jednostce czasu jest mniejsza lub równa maksymalnej przepustowości krawędzi, a ograniczenie zachowania mówi, że ilość, która wpływa do każdego wierzchołka, jest równa ilości wypływającej z każdego wierzchołka, z wyjątkiem wierzchołków źródłowych i ujścia.

Wartość przepływu jest określona przez

gdzie jak powyżej źródłem, a ujściem sieci jest W analogii do płynu reprezentuje ilość płynu wpływającego do sieci u źródła. Ze względu na aksjomat zachowania dla przepływów jest to to samo, co ilość przepływu opuszczającego sieć w zlewie.

Problem maksymalnego przepływu dotyczy największego przepływu w danej sieci.

Problem z maksymalnym przepływem. Maksymalizuj , to znaczy skierować jak największy przepływ od do .

Cięcia

Druga połowa twierdzenia o maksymalnym przepływie i minimalnym cięciu odnosi się do innego aspektu sieci: zbioru cięć. Przekrój C = ( S , T ) jest takim podziałem V , że s S i t T . Oznacza to, że s - t to podział wierzchołków sieci na dwie części, ze źródłem w jednej części i ujściem w drugiej. Zestaw cięcia _ C to zestaw krawędzi, które łączą źródłową część cięcia z częścią zlewu:

Tak więc, jeśli wszystkie krawędzie w zbiorze cięć C zostaną usunięte, wówczas żaden dodatni przepływ nie jest możliwy, ponieważ w wynikowym wykresie nie ma ścieżki od źródła do ujścia.

Wydajność cięcia st jest sumą wydajności krawędzi w jego zestawie cięć ,

gdzie jot ∈ , {\ w przeciwnym razie re ja jot = 1 {\ Displaystyle d_

Zazwyczaj wykres zawiera wiele cięć, ale często trudniej jest znaleźć cięcia o mniejszych wagach.

Minimalny problem cięcia st. Zminimalizuj c ( S , T ) , to znaczy określ S i T tak, aby przepustowość st cięcia była minimalna.

Główne twierdzenie

W powyższej sytuacji można udowodnić, że wartość dowolnego przepływu przez sieć jest mniejsza lub równa przepustowości dowolnego odcinka , a ponadto istnieje przepływ o wartości maksymalnej i przekrój o minimalnej przepustowości. Główne twierdzenie łączy maksymalną wartość przepływu z minimalną przepustowością sieci.

Twierdzenie o maksymalnym przepływie i minimalnym odcięciu. Maksymalna wartość przepływu st jest równa minimalnej przepustowości dla wszystkich cięć st.

Przykład

Maksymalny przepływ w sieci. Każda krawędź jest oznaczona f/c , gdzie f to przepływ przez krawędź, a c to pojemność krawędzi. Wartość przepływu wynosi 5. Istnieje kilka minimalnych s - t o wydajności 5; jeden to S = { s , p } i T = { o , q , r , t }.

Rysunek po prawej pokazuje przepływ w sieci. Adnotacja liczbowa na każdej strzałce, w postaci f / c , wskazuje przepływ ( f ) i pojemność ( c ) strzałki. Przepływy wychodzące ze źródła sumują się do pięciu (2+3=5), podobnie jak przepływy do zlewu (2+3=5), ustalając, że wartość przepływu wynosi 5.

Jeden przekrój s - t o wartości 5 jest dany przez S = { s , p } i T = { o , q , r , t }. Zdolność krawędzi przecinających to cięcie wynosi 3 i 2, co daje wydajność cięcia 3+2=5. (Strzałka od o do p nie jest brana pod uwagę, ponieważ wskazuje od T z powrotem do S .)

Wartość przepływu jest równa wydajności cięcia, co pokazuje, że przepływ jest przepływem maksymalnym, a cięcie minimalnym.

Zwróć uwagę, że przepływ przez każdą z dwóch strzałek łączących S z T jest pełny; tak jest zawsze: minimalne cięcie stanowi „wąskie gardło” systemu.

Formuła programu liniowego

Problem maksymalnego przepływu i problem minimalnego cięcia można sformułować jako dwa pierwotne i dualne programy liniowe .

Maksymalny przepływ (pierwotny)

Min-cut (podwójny)

zmienne

[zmienna na krawędź]

[zmienna na krawędź]

[zmienna na węzeł nieterminalny]

cel

maksymalizować

[maks. całkowity przepływ ze źródła]

zminimalizować

[min. całkowita pojemność krawędzi w cięciu]

ograniczenia

z zastrzeżeniem

[ograniczenie na krawędź i ograniczenie na węzeł niekońcowy]

z zastrzeżeniem

[ograniczenie na krawędź]

ograniczenia znakowe

Max-flow LP jest prosty. Podwójny LP jest uzyskiwany przy użyciu algorytmu opisanego w podwójnym programie liniowym : zmienne i ograniczenia znakowe dualnego odpowiadają ograniczeniom pierwotnego, a ograniczenia podwójnego odpowiadają zmiennym i ograniczeniom znakowym pierwotnego. Powstały LP wymaga pewnego wyjaśnienia. Interpretacja zmiennych w LP min-cut jest następująca:

Cel minimalizacji sumuje wydajność na wszystkich krawędziach zawartych w cięciu.

Ograniczenia gwarantują, że zmienne rzeczywiście reprezentują legalne cięcie:

  • Re (odpowiednik re gwarantują, że dla węzłów nieterminalnych u, v , jeśli u jest w S i v jest w T , to krawędź ( u , w ) jest liczony w cięciu ( ).
  • Re gwarantują że jeśli jest w to krawędź (s, v) liczona w cięciu (ponieważ jest z definicji w S )
  • Re odpowiednik gwarantują, że jeśli jest w S , krawędź (u, t) cięciu (ponieważ jest z definicji w T ).

Zauważ, że ponieważ jest to problem minimalizacji, nie musimy gwarantować, że krawędź nie jest w cięciu - musimy tylko zagwarantować, że każda krawędź, która powinna być w cięciu, jest sumowana w funkcji celu.

Równość w twierdzeniu o max-flow min-cut wynika z silnego twierdzenia o dualności w programowaniu liniowym , które stwierdza, że ​​jeśli program pierwotny ma rozwiązanie optymalne, x *, to program dualny ma również rozwiązanie optymalne, y *, takie, że optymalne wartości utworzone przez dwa rozwiązania są równe.

Aplikacja

Twierdzenie Cederbauma o maksymalnym przepływie

Problem maksymalnego przepływu można sformułować jako maksymalizację prądu elektrycznego przez sieć złożoną z nieliniowych elementów rezystancyjnych. W tym sformułowaniu granica prądu I między zaciskami wejściowymi sieci elektrycznej jako napięcia wejściowego w podejściach jest wadze zestawu do cięcia o minimalnej masie.

Uogólnione twierdzenie o maksymalnym przepływie i minimalnym odcięciu

Oprócz przepustowości krawędzi, należy wziąć pod uwagę przepustowość w każdym wierzchołku, to znaczy odwzorowanie przepływ f musi oznaczone przez c ( v ) że nie tylko przepustowości i zachowanie przepływów, ale także ograniczenie

Innymi słowy, ilość przepływu przechodzącego przez wierzchołek nie może przekroczyć jego przepustowości. Zdefiniuj przecięcie st jako zbiór wierzchołków i krawędzi takich, że dla dowolnej ścieżki od s do t ścieżka zawiera element przecięcia. W tym przypadku pojemność cięcia jest sumą wydajności każdej krawędzi i wierzchołka w nim.

W tej nowej definicji uogólnione twierdzenie o maksymalnym przepływie i minimalnym cięciu mówi, że maksymalna wartość st przepływu jest równa minimalnej przepustowości st cut w nowym znaczeniu.

Twierdzenie Mengera

W zadaniu nieskierowanych krawędziowo rozłącznych ścieżek mamy dany graf nieskierowany G = ( V , E ) oraz dwa wierzchołki s i t , i musimy znaleźć maksymalną liczbę krawędziowo rozłącznych ścieżek w G .

Twierdzenie Mengera stwierdza , że ​​maksymalna liczba krawędziowo rozłącznych ścieżek st w grafie nieskierowanym jest równa minimalnej liczbie krawędzi w st-zbiorze przekrojowym.

Kwestia wyboru projektu

Sieciowe sformułowanie problemu wyboru projektu z rozwiązaniem optymalnym

W problemie wyboru projektów jest n projektów i m maszyn. Każdy projekt p i przynosi dochód r ( pi ) , a zakup każdej maszyny q j kosztuje c ( q j ) . Każdy projekt wymaga wielu maszyn, a każda maszyna może być współużytkowana przez kilka projektów. Problem polega na określeniu, które projekty i maszyny odpowiednio wybrać i zakupić, aby zysk był jak największy.

Niech P będzie zbiorem niewybranych projektów , a Q zbiorem zakupionych maszyn, wówczas problem można sformułować jako:

Ponieważ pierwszy termin nie zależy od wyboru P i Q , ten problem maksymalizacji można zamiast tego sformułować jako problem minimalizacji, to znaczy

r ( pi ) odcięcia , konstruując sieć, w której źródło jest podłączone do projektów o przepustowości , a ujście jest połączone maszynami o przepustowości c ( q j ) . Krawędź ( pi pi , q j ) o nieskończonej wymaga pojemności jest dodawana, jeśli projekt maszyny q j . St cut-set reprezentuje odpowiednio projekty i maszyny w P i Q. Za pomocą twierdzenia o maksymalnym przepływie i minimalnym odcięciu można rozwiązać problem jako problem maksymalnego przepływu .

Rysunek po prawej przedstawia sformułowanie sieciowe następującego problemu wyboru projektu:

projekt r ( pi ) _

Maszyna c ( q j )

1 100 200

Projekt 1 wymaga maszyn 1 i 2.

2 200 100

Projekt 2 wymaga maszyny 2.

3 150 50

Projekt 3 wymaga maszyny 3.

Minimalna wydajność cięcia to 250, a suma przychodów każdego projektu to 450; zatem maksymalny zysk g wynosi 450 − 250 = 200, wybierając projekty p 2 i p 3 .

Chodzi o to, aby „przepłynąć” zyski każdego projektu przez „rury” jego maszyn. Jeśli nie możemy napełnić rury z maszyny, zwrot z maszyny jest mniejszy niż jej koszt, a algorytm minimalnego cięcia uzna, że ​​taniej będzie odciąć przewagę zysku projektu zamiast krawędzi kosztu maszyny.

Problem z segmentacją obrazu

Każdy czarny węzeł oznacza piksel.

W problemie segmentacji obrazu jest n pikseli. Każdemu pikselowi i lub można przypisać wartość pierwszego planu bi fi wartość tła . Istnieje kara p ij, jeśli piksele i, j sąsiadują ze sobą i mają różne przypisania. Problem polega na przypisaniu pikseli do pierwszego planu lub tła w taki sposób, aby suma ich wartości pomniejszona o kary była maksymalna.

Niech P będzie zbiorem pikseli przypisanych do pierwszego planu, a Q będzie zbiorem punktów przypisanych do tła, wtedy problem można sformułować jako:

Ten problem maksymalizacji można zamiast tego sformułować jako problem minimalizacji, to znaczy

Powyższy problem minimalizacji można sformułować jako problem minimalnego odcięcia, konstruując sieć, w której źródło (węzeł pomarańczowy) jest połączone ze wszystkimi pikselami o pojemności f i , a ujście (węzeł fioletowy) jest połączone wszystkimi pikselami o pojemności b i . Dwie krawędzie ( i, j ) oraz ( j, i ) o pojemności p ij są dodawane między dwoma sąsiednimi pikselami. St cut-set następnie reprezentuje piksele przypisane do pierwszego planu w P i piksele przypisane do tła w Q .

Historia

Relacja z odkrycia twierdzenia została podana przez Forda i Fulkersona w 1962 roku:

„Określenie maksymalnego przepływu w stanie ustalonym z jednego punktu do drugiego w sieci podlegającej ograniczeniom przepustowości na łukach… zostało postawione autorom wiosną 1955 roku przez TE Harrisa, który wraz z generałem FS Rossem (w stanie spoczynku) sformułował uproszczony model przepływu ruchu kolejowego i wskazał ten konkretny problem jako centralny sugerowany przez model. Niedługo potem głównym wynikiem, Twierdzenie 5.1, które nazywamy twierdzeniem o maksymalnym przepływie min-cut, było przypuszczenie ed i ustalono. Od tego czasu pojawiło się wiele dowodów”.

Dowód

Niech G = ( V , E ) będzie siecią (grafem skierowanym), gdzie s i t będą odpowiednio źródłem i ujściem G.

Rozważ przepływ f obliczony dla G przez algorytm Forda-Fulkersona . W grafie resztkowym ( G f ) uzyskanym dla G (po ostatecznym przypisaniu przepływu algorytmem Forda-Fulkersona ) zdefiniuj dwa podzbiory wierzchołków w następujący sposób:

  1. A : zbiór wierzchołków osiągalnych z s w G f
  2. A c : zbiór pozostałych wierzchołków tj. V − A

Prawo. value( f ) = c ( A , A c ) , gdzie wydajność st -cut jest określona przez

.

Teraz wiemy, że dla dowolnego podzbioru wierzchołków A , } Dlatego dla value( f ) = c ( A , A c ) potrzebujemy:

  • Wszystkie krawędzie wychodzące z cięcia muszą być w pełni nasycone .
  • Wszystkie krawędzie dochodzące do cięcia muszą mieć zerowy przepływ .

Aby udowodnić powyższe twierdzenie, rozważymy dwa przypadki:

  • W G istnieje krawędź wychodząca taka, że ​​nie jest nasycona, tj. fa ( x , y ) < do xy . Oznacza to, że istnieje przednia krawędź od x do y w G f , zatem istnieje ścieżka od s do y w G f , co jest sprzecznością. Stąd każda wychodząca krawędź ( x , y ) jest w pełni nasycona.
  • W G istnieje nadchodząca krawędź tak, że przenosi pewien niezerowy przepływ, tj. f ( y , x ) > 0 . Oznacza to, że istnieje tylna krawędź , od x do y w Gf , s a zatem istnieje ścieżka od do y w Gf co znowu jest sprzecznością. Stąd każda dochodząca krawędź ( y , x ) musi mieć zerowy przepływ.

Oba powyższe stwierdzenia dowodzą, że uzyskana w wyżej opisany sposób wydajność cięcia jest równa przepływowi uzyskanemu w sieci. Również przepływ został uzyskany za pomocą algorytmu Forda-Fulkersona , więc jest to również maksymalny przepływ sieci.

Ponadto, ponieważ każdy przepływ w sieci jest zawsze mniejszy lub równy przepustowości każdego możliwego odcięcia w sieci, opisane powyżej odcięcie jest również minimalnym odcięciem , które uzyskuje maksymalny przepływ .

Następstwem tego dowodu jest to, że maksymalny przepływ przez dowolny zestaw krawędzi w przecięciu wykresu jest równy minimalnej przepustowości wszystkich poprzednich przekrojów.

Zobacz też