Erhöhen der Kapazität zur Maximierung des Mindestschnitts


9

Stellen Sie sich ein Diagramm vor, bei dem alle Kanten eine Einheitskapazität haben. Man kann den minimalen Schnitt in der Polynomzeit finden.

Angenommen, ich darf die Kapazität von Kanten auf unendlich erhöhen (entspricht dem Zusammenführen der Knoten auf beiden Seiten der Kante). Was ist der optimale Weg, um einen optimalen Satz von Kanten auszuwählen (deren Kapazität auf unendlich erhöht wird), um den minimalen Schnitt zu maximieren?kkk


Ich bin mir nicht sicher, ob ich Ihre Frage verstehe: Mit "Wie können k solche Kanten optimal ausgewählt werden, um den Mindestschnitt zu maximieren?" Meinen Sie den Mindestschnitt von 1) einem Diagramm mit einheitlichen Kapazitäten oder 2) einem Diagramm mit allgemeinen Kapazitäten ?
Jeremy

Antworten:


3

Satz. Das Problem in der Post ist NP-schwer.

Mit "das Problem in der Post" meine ich, wenn ein Graph und eine ganze Zahl k gegeben sind, k Kanten zu wählen , um die Kapazitäten von zu erhöhen, um den minimalen Schnitt in dem modifizierten Graphen zu maximieren.G=(V,E)kk

Die Idee ist, von Max Cut zu reduzieren. In etwa hat ein gegebener Graph genau dann die maximale Schnittgröße s, wenn Sie die Kapazität von n - 2 Kanten erhöhen können, so dass der resultierende Graph die minimale Schnittgröße s hat . Die Idee ist, dass n - 2 Kanten gerade ausreichen, um den resultierenden Graphen zu zwingen, nur einen Schnitt mit endlicher Kapazität zu haben, und das kann jeder Schnitt sein, den Sie wählen.G=(V,E)sn2sn2

Diese Idee funktioniert nicht ganz, da für einen bestimmten Schnitt die durch C und V C induzierten Teilgraphen jeweils verbunden werden müssen. Sie können dies jedoch mit einem geeigneten Gadget umgehen.(C,VC)CVC

Beweis. Definieren Sie bei einem verbundenen Graphen einen verbundenen Schnitt als Schnitt ( C , V C ), so dass die durch C und V C induzierten Teilgraphen jeweils verbunden sind. Definieren Sie Max. Verbundenen Schnitt als das Problem, einen verbundenen Schnitt (in einem bestimmten verbundenen Diagramm) zu finden, um die Anzahl der Kanten zu maximieren, die den Schnitt kreuzen.G=(V,E)(C,VC)CVC

Wir zeigen, dass Max Connected Cut sich auf das Problem in der Post reduziert. Dann zeigen wir, dass sich der ungewichtete Max Cut auf Max Connected Cut reduziert.

Lemma 1. Max Connected Cut reduziert sich in Poly-Zeit auf das im Beitrag definierte Problem.

Beweis. Bei einer Max-Connected-Cut-Instanz sei k = | V | - 2 . Um das Lemma zu beweisen, beweisen wir Folgendes:G=(V,E)k=|V|2

Anspruch 1: Für jedes gibt es einen verbundenen Schnitt ( C , V C ) in G mit einer Kapazität von mindestens s , IFF ist es möglich, k Kantenkapazitäten in G auf unendlich zu erhöhen , so dass der resultierende Graph einen minimalen Schnitt hat Kapazität mindestens s .s>0(C,VC)GskGs

NUR WENN: Angenommen, es liegt ein angeschlossener Schnitt der Kapazität von mindestens s vor . Sei T 1 und T 2 Teilbäume, die sich über C bzw. V C erstrecken , und erhöhe dann die Kapazitäten der Kanten in T 1 und T 2 . (Beachten Sie, dass | T 1 | + | T 2 | = | C | - 1 + | V C.(C,VC)sT1T.2C.V.C.T.1T.2 .) Der einzige im Diagramm verbleibende Schnitt mit endlicher Kapazität ist dann ( C , V C ) mit einer Kapazität von mindestens s , sodass der resultierende Graph eine minimale Schnittkapazität von mindestens s aufweist .|T.1|+|T.2|=|C.|- -1+|V.C.|- -1=|V.|- -2=k(C.,V.C.)ss

IF: Angenommen, es ist möglich, Kantenkapazitäten in G zu erhöhen, so dass der resultierende Graph eine minimale Schnittkapazität von mindestens s hat . Betrachten Sie den Teilgraphen, der durch die k erhabenen Kanten gebildet wird. Nehmen Sie ohne Verlust der Allgemeinheit an, dass dieser Untergraph azyklisch ist. (Andernfalls "heben" Sie eine Kante aus einem Zyklus erhöhter Kanten auf und heben stattdessen eine nicht angehobene Kante an, die zwei verbundene Komponenten aus dem Teilgraphen verbindet. Dies erhöht nur den minimalen Schnitt im resultierenden Diagramm.) Durch Auswahl von k = n - 2 Der Teilgraph der erhabenen Kanten hat zwei verbundene Komponenten, beispielsweise C und V C.kGskk=n- -2C.V.C.Daher ist der einzige Schnitt mit endlicher Kapazität im resultierenden Diagramm . Und dieser Schnitt hat eine Kapazität von mindestens s , wie es in der ursprünglichen Grafik der Fall war.(C.,V.C.)s

Dies beweist die Behauptung (und das Lemma). (QED)

Der Vollständigkeit halber zeigen wir, dass Max Connected Cut NP-vollständig ist, indem wir den ungewichteten Max Cut reduzieren.

Lemma 2. Ungewichteter Max Cut reduziert sich in Polyzeit auf Max Connected Cut .

Beweis. Definieren Sie für jede ganze Zahl den Graphen P ( N ) so , dass er aus zwei Pfaden A und B mit jeweils der Länge N mit Kanten von jedem Scheitelpunkt in A zu jedem Scheitelpunkt in B besteht . Wir überlassen es dem Leser als Übung zu überprüfen, ob der maximale Schnitt in P ( N ) ( A auf der einen Seite, B auf der anderen Seite) die Größe N 2 hat und kein anderer Schnitt eine Größe hat, die größer ist als beispielsweise N 2 - N / 100 .N.1P.(N.)EINB.N.EINB.P.(N.)EINB.N.2N.2- -N./.100

Hier ist die Reduzierung. Konstruieren Sie für jede ungewichtete Max-Cut-Instanz einen Graphen G ' = ( V ' , E ' ) wie folgt. Sei n = | V | . Sei N = 100 ( n 2 + 2 n ) . Fügen Sie zu G den oben definierten Graphen P ( N ) hinzu (mit seinen beiden Pfaden A und B ). Von jedem ScheitelpunktG=(V.,E.)G'=(V.',E.')n=|V.|N.=100(n2+2n)GP.(N.)EINB. eine Kante zu einem Eckpunkt in hinzuzufügen A und einer anderen Kante an einer Ecke in B . Dies definiert die Reduzierung. Zum Schluss beweisen wir, dass es richtig ist:vV.EINB.

Anspruch 2: Für jedes gibt es einen Schnitt ( C , V C ) in G mit einer Kapazität von mindestens s , IFF gibt es einen verbundenen Schnitt in G 'mit einer Größe von mindestens s + N 2 + n .s0(C.,V.C.)GsG's+N.2+n

NUR WENN: Wenn ein Schnitt in G mit einer Kapazität von mindestens s vorliegt , betrachten Sie den verbundenen Schnitt ( A C , B V C ) in G ' . Dieser verbundene Schnitt in G ' schneidet mindestens s Kanten von C nach V C plus N 2 Kanten von A nach B plus n der 2(C.,V.C.)Gs(AC,BVC)GGsCVCN2ABn Kanten von V bis A B .2nVAB

IF: Angenommen, es gibt einen zusammenhängenden Schnitt in einer Größe von mindestens s + N 2 + n . A und B befinden sich auf gegenüberliegenden Seiten des Schnitts. (Andernfalls beträgt die Gesamtzahl der geschnittenen Kanten höchstens N 2 - N / 100 + | E | + 2 , da der zweitgrößte Schnitt in P ( N ) höchstens N 2 - N / 100 Kanten in P ( N ) schneidet | V.Gs+N2+nABP(N)N2N/100P(N) .)sei C bezeichnen die Vertices in V auf der Seite des Schnittes mit A . Dann gibt es N 2 Kanten im Schnitt von A nach B und n von V nach A B , also muss es mindestens s von C nach V C geben .N2N/100+|E|+2|V|N2N/100+n2+2n=N.2C.V.EINN.2EINB.nV.EINB.sC.V.C.

Dies beweist die Behauptung und Lemma 2. (QED)

Nach Lemmas 1 und 2 ist das Problem in der Post auch NP-hart, da ungewichteter Max Cut NP-hart ist.


Dies zeigt auch, dass das Problem "Inkrementieren von k Kanten zur Maximierung des st-Schnitts" für gegebenes und t NP-vollständig ist (Auswahl s und t als Eckpunkte in A bzw. B ). ststEINB.
Daniello
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.