• Keine Ergebnisse gefunden

Kapitel 02: Schnitt von Matroiden (Effiziente Algorithmen, WS 2019) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "Kapitel 02: Schnitt von Matroiden (Effiziente Algorithmen, WS 2019) Gerhard Woeginger"

Copied!
45
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kapitel 02: Schnitt von Matroiden

(Effiziente Algorithmen, WS 2019) Gerhard Woeginger

WS 2019, RWTH

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 1/32

(2)

Organisatorisches

N¨achste Vorlesung:

Donnerstag, Januar 16, 12:30–14:00 Uhr, AH V Webseite:

https://algo.rwth-aachen.de/Lehre/WS1920/EA/EA.py

(3)

Schnitt von Matroiden

Eine Min-Max Formel Der Austausch-Graph Matroid-Schnitt Algorithmus

Korrektheit des Matroid-Schnitt Algorithmus

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 3/32

(4)

Zum Aufw¨ armen:

Bipartites Matching und Matroide

(5)

Bipartites Matching

Die GrundmengeE ist die Kantenmenge eines ungerichteten bipartiten Graphen G = (V,E).

Eine Teilmenge X ⊆E istunabh¨angig, falls keine zwei Kanten inX einen gemeinsamen Knoten haben:

I = {X ⊆E : X ist ein Matching}

Frage:Warum bildet dieses Mengensystem kein Matroid?

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 5/32

(6)

Bipartites Matching als Schnitt von zwei Matroiden

Es seiG = (V1∪V2,E)mitE ⊆V1×V2ein bipartiter Graph.

Matroid #1:

Partitions-Matroid auf der GrundmengeE.

F¨ur jeden Knoten v∈V1enth¨alt die TeilmengeEv alle Kanten, die zu v inzident sind.

Wir setzenkv =1.

Matroid #2:

Partitions-Matroid auf der GrundmengeE.

F¨ur jeden Knotenw ∈V2enth¨alt die TeilmengeEw alle Kanten, die zu w inzident sind.

Wir setzenkw=1.

(7)

Schnitt von zwei Matroiden

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 7/32

(8)

Der Schnitt von zwei Matroiden

Definition

Es seienM1= (E,I1)undM2= (E,I2)zwei Matroide.

DerSchnittdieser Matroide ist M1∩M2 = (E,I1∩ I2).

Anmerkung:

Der Schnitt von zwei Matroiden ist im Allgemeinenkein Matroid.

Algorithmisches Problem:

F¨ur zwei gegegeben Matroide ¨uber der selben GrundmengeE soll eine m¨oglichst grosse TeilmengeS⊆E gefunden werden, die gleichzeitig in beiden Matroiden unabh¨angig ist.

(9)

Beispiel: Arboreszenzen

Definition

Es sei(V,A)ein gerichteter Graph, und es seir ∈V ein fixer Knoten.

EineArboreszenzist ein TeilgraphT = (V,A0)mitA0⊆A, in dem die Wurzel Eingrad0hat und jeder Knotenv6=r Eingrad1hat.

Arboreszenzen werden auchgewurzelte B¨aumegenannt.

Enth¨alt ein gegebener GraphG eine Arboreszenz mit gegebener Wurzel?

Wenn man die Richtungen der Pfeile in A0ignoriert,

so istT = (V,A0)ein kreisfreier ungerichteter Graph (Matroid #1).

Jeder Knoten inV −r hat h¨ochstens einen eingehenden Pfeil (Matroid #2).

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 9/32

(10)

Beispiel: Orientierung von Graphen

Es seiG = (V,E)ein ungerichteter Graph, und es seienκ:V →N Schranken f¨ur die Knoten.

Wir wollen wissen, ob aus den ungerichteten Kanten derart Pfeile gemacht werden k¨onnen, dass jeder Knotenv ∈V h¨ochstensκ(v)viele eingehende Pfeile hat.

Die Grundmenge enth¨alt f¨ur jede ungerichtete Kante {u,v}die beiden Pfeile(u,v)und(v,u).

F¨ur jede Kante{u,v} darf h¨ochstens einer der beiden Pfeile(u,v) und (v,u)verwendet werden (Matroid #1).

F¨ur jeden Knoten v∈V d¨urfen h¨ochstensκ(v)eingehende Pfeile verwendet werden (Matroid #2).

(11)

Eine Min-Max Formel

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 11/32

(12)

Eine Beobachtung

Beobachtung

Es seienM1= (E,I1)undM2= (E,I2)zwei Matroide.

Es seienr1 undr2die Rangfunktionen dieser beiden Matroide.

Es seiS∈ I1∩ I2und es sei U ⊆E. Dann gilt:

|S| = |S∩U|+|S∩(E−U)| ≤ r1(U) +r2(E −U)

(13)

Eine Min-Max Formel

Beobachtung

max

S∈I1∩I2

|S| ≤ min

U⊆E r1(U) +r2(E−U)

Satz

F¨ur zwei Matroide M1= (E,I1)und M2= (E,I2)mit den beiden Rangfunktionenr1 undr2 gilt:

max

S∈I1∩I2

|S| = min

U⊆E r1(U) +r2(E−U)

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 13/32

(14)

Eine Min-Max Formel

Beobachtung

max

S∈I1∩I2

|S| ≤ min

U⊆E r1(U) +r2(E−U)

Satz

F¨ur zwei MatroideM1= (E,I1)und M2= (E,I2)mit den beiden Rangfunktionenr1 undr2 gilt:

max

S∈I1∩I2

|S| = min

U⊆E r1(U) +r2(E−U)

(15)

Der Austausch-Graph

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 14/32

(16)

Der Austausch-Graph

Definition

F¨ur ein Matroid M= (E,I)und eine unabh¨angige MengeS ∈ I ist der Austausch-GraphGM(S)(oder einfachG(S)) der bipartite Graph

mit Bipartition S undE−S, und

mit einer Kante zwischen y∈S undx∈/S f¨urS−y+x∈ I.

(17)

Der erste Hilfssatz

Hilfssatz 1

F¨ur zwei unabh¨angige Mengen S,T ∈ I mit|S|=|T| enth¨alt der Austausch-GraphGM(S)

ein perfektes Matching zwischenS−T und T−S.

Andernfalls:

K˝onig gibt uns einX ⊆S−T und einX0⊆T−S mit|X|<|X0|, sodass alle zu X0 inzidenten Kanten nachX gehen.

|(S∩T)∪X|<|(S∩T)∪X0|und (I2) geben uns ein Element z ∈X0, sodassY := (S∩T)∪X ∪ {z}unabh¨angig ist.

(I2) gibt uns eine Menge U ∈ I mitY ⊆U⊆S+z und |U|=|S|. ErgoU =S−x+z f¨ur einx∈S. Widerspruch.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 16/32

(18)

Der erste Hilfssatz

Hilfssatz 1

F¨ur zwei unabh¨angige Mengen S,T ∈ I mit|S|=|T| enth¨alt der Austausch-GraphGM(S)

ein perfektes Matching zwischenS−T und T−S.

Andernfalls:

K˝onig gibt uns einX ⊆S−T und einX0⊆T −S mit|X|<|X0|, sodass alle zu X0 inzidenten Kanten nachX gehen.

|(S∩T)∪X|<|(S∩T)∪X0|und (I2) geben uns ein Element z ∈X0, sodassY := (S∩T)∪X ∪ {z}unabh¨angig ist.

(I2) gibt uns eine Menge U∈ I mitY ⊆U ⊆S+z und |U|=|S|.

ErgoU =S−x+z f¨ur einx∈S. Widerspruch.

(19)

Der zweite Hilfssatz (1)

Hilfssatz 2

Es seiS∈ I eine unabh¨angige Menge mit Austausch-GraphenGM(S).

Es seiT ⊆E eine Menge mit|S|=|T|, f¨ur dieGM(S)eineindeutiges perfektes MatchingNzwischenS−T undT −S enth¨alt.

Dann giltT∈ I.

Orientiere alle Kanten inN von E−S nachS. Orientiere alle anderen Kanten vonS nachE −S. Der resultierende gerichtete Graph ist azyklisch.

Topologische Sortierung der Knoten inT−S (alsx1, . . . ,xt) und der Knoten in S−T (alsy1, . . . ,yt),

sodass MatchingN={(x1,y1), (x2,y2), . . . ,(xt,yt)}, und sodass kein Pfeil (yi,xj)miti >j existiert

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 17/32

(20)

Der zweite Hilfssatz (1)

Hilfssatz 2

Es seiS∈ I eine unabh¨angige Menge mit Austausch-GraphenGM(S).

Es seiT ⊆E eine Menge mit|S|=|T|, f¨ur dieGM(S)eineindeutiges perfektes MatchingNzwischenS−T undT −S enth¨alt.

Dann giltT∈ I.

Orientiere alle Kanten inN von E−S nachS.

Orientiere alle anderen Kanten vonS nachE −S. Der resultierende gerichtete Graph ist azyklisch.

Topologische Sortierung der Knoten inT−S (alsx1, . . . ,xt) und der Knoten in S−T (alsy1, . . . ,yt),

sodass MatchingN={(x1,y1), (x2,y2), . . . ,(xt,yt)}, und

(21)

Der zweite Hilfssatz (2)

Topologische Sortierung der Knoten inT−S (alsx1, . . . ,xt) und der Knoten in S−T (alsy1, . . . ,yt),

sodass MatchingN={(x1,y1), (x2,y2), . . . ,(xt,yt)}, und sodass kein Pfeil (yi,xj)mit i >j existiert

Angenommen: T ∈ I/

Dann enth¨alt T CircuitC. Betrachte gr¨ossten Indexk mitxk ∈C.

Es gibt keinen Pfeil(yk,x)mitx∈C −xk. Ergo: x∈span(S−yk)f¨ur allex∈C−xk Ergo: C−xk ⊆span(S−yk)

Ergo: span(C −xk)⊆span(span(S−yk)) =span(S−yk) Da C ein Circuit ist, giltxk ∈span(C−xk)

Ergo: xk ∈span(S−yk)

Ergo: S−yk+xk ist nicht unabh¨angig. Widerspruch.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 18/32

(22)

Der zweite Hilfssatz (2)

Topologische Sortierung der Knoten inT−S (alsx1, . . . ,xt) und der Knoten in S−T (alsy1, . . . ,yt),

sodass MatchingN={(x1,y1), (x2,y2), . . . ,(xt,yt)}, und sodass kein Pfeil (yi,xj)mit i >j existiert

Angenommen: T ∈ I/

Dann enth¨alt T CircuitC. Betrachte gr¨ossten Indexk mitxk ∈C. Es gibt keinen Pfeil(yk,x)mitx∈C−xk.

Ergo: x∈span(S−yk)f¨ur allex∈C−xk Ergo: C−xk ⊆span(S−yk)

Ergo: span(C −xk)⊆span(span(S−yk)) =span(S−yk)

Da C ein Circuit ist, giltxk ∈span(C−xk) Ergo: xk ∈span(S−yk)

Ergo: S−yk+xk ist nicht unabh¨angig. Widerspruch.

(23)

Der zweite Hilfssatz (2)

Topologische Sortierung der Knoten inT−S (alsx1, . . . ,xt) und der Knoten in S−T (alsy1, . . . ,yt),

sodass MatchingN={(x1,y1), (x2,y2), . . . ,(xt,yt)}, und sodass kein Pfeil (yi,xj)mit i >j existiert

Angenommen: T ∈ I/

Dann enth¨alt T CircuitC. Betrachte gr¨ossten Indexk mitxk ∈C. Es gibt keinen Pfeil(yk,x)mitx∈C−xk.

Ergo: x∈span(S−yk)f¨ur allex∈C−xk Ergo: C−xk ⊆span(S−yk)

Ergo: span(C −xk)⊆span(span(S−yk)) =span(S−yk) Da C ein Circuit ist, giltxk ∈span(C−xk)

Ergo: xk ∈span(S−yk)

Ergo: S−yk+xk ist nicht unabh¨angig. Widerspruch.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 18/32

(24)

Der Matroid-Schnitt Algorithmus

(25)

Matroid-Schnitt Problem

Matroid-Schnitt

Instanz:MatroideM1= (E,I1)undM2= (E,I2)

Output:Eine MengeS∈ I1∩ I2mit der gr¨osstm¨oglichen Kardinalit¨at

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 20/32

(26)

Das Augmentationsproblem (1)

Augmentationsproblem

Instanz:MatroideM1= (E,I1)undM2= (E,I2); MengeS∈ I1∩ I2

Output:MengeS0∈ I1∩ I2 mit|S0|>|S| (falls diese existiert) Wir nehmen an, dass in beiden Matroiden der Unabh¨angigkeitstest (“GegebenX ⊆E, gilt X ∈ I1 respektiveX ∈ I2?”) in polynomieller Zeit durchgef¨uhrt werden kann.

Wir definieren einen gerichteten bipartiten HilfsgraphenH(S): Die Bipartition istS undE −S.

F¨ury ∈S undx ∈E−S enth¨alt der GraphH(S) den Pfeil(y,x), falls S−y+x∈ I1und

den Pfeil(x,y), falls S−y+x∈ I2.

(27)

Das Augmentationsproblem (1)

Augmentationsproblem

Instanz:MatroideM1= (E,I1)undM2= (E,I2); MengeS∈ I1∩ I2

Output:MengeS0∈ I1∩ I2 mit|S0|>|S| (falls diese existiert) Wir nehmen an, dass in beiden Matroiden der Unabh¨angigkeitstest (“GegebenX ⊆E, gilt X ∈ I1 respektiveX ∈ I2?”) in polynomieller Zeit durchgef¨uhrt werden kann.

Wir definieren einen gerichteten bipartiten HilfsgraphenH(S):

Die Bipartition istS undE−S.

F¨ury ∈S undx ∈E−S enth¨alt der GraphH(S) den Pfeil(y,x), falls S−y+x∈ I1 und

den Pfeil(x,y), falls S−y+x∈ I2.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 21/32

(28)

Das Augmentationsproblem (2)

E1:= {x∈E−S|S+x ∈ I1} E2:= {x∈E−S|S+x ∈ I2}

Wir suchen nach einem gerichteten Pfad im HilfsgraphenH(S)von einem Knoten inE1 zu einem Knoten inE2.

(A) Falls ein derartiger gerichteter Pfad existiert:

Wir berechnen einen k¨urzesten gerichteten PfadP vonE1nachE2. Die Knotenfolge inP seiy0,z1,y1, . . . ,zt,yt.

Dann gilty0,y1, . . . ,yt ∈E −S undz1, . . . ,zt ∈S.

Wir setzenS0:=S− {z1, . . . ,zt} ∪ {y0,y1, . . . ,yt}.

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS ∈ I ∩ I hat bereits gr¨osstm¨ogliche Kardinalit¨at.

(29)

Der Matroid-Schnitt Algorithmus

Wir beginnen mitS:=∅.

Wir l¨osen wiederholt das Augmentationsproblem f¨urS und setzen dann immerS:=S0.

Nach Termination hatS∈ I1∩ I2 die gr¨osstm¨ogliche Kardinalit¨at.

Die Laufzeit ist polynomial, da der Unabh¨angigkeitstest in polynomieller Zeit durchgef¨uhrt werden kann.

Es muss nur noch die Korrektheit gezeigt werden.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 23/32

(30)

Korrektheit des Matroid-Schnitt

Algorithmus

(31)

Korrektheit Augmentation (A1)

(A) Falls ein derartiger gerichteter Pfad existiert:

Wir berechnen einen k¨urzesten gerichteten PfadP von E1nachE2. Die Knotenfolge inP seiy0,z1,y1, . . . ,zt,yt.

Dann gilty0,y1, . . . ,yt ∈E −S undz1, . . . ,zt ∈S.

Wir setzenS0:=S− {z1, . . . ,zt} ∪ {y0,y1, . . . ,yt}.

Wir zeigen nurS0∈ I1. (AussageS0∈ I2folgt analog.) Schritt 1: Wir zeigenT :=S0−y0∈ I1.

Dazu wenden wir unseren zweiten Hilfssatz an.

Der Austauschgraph GM1(S)enth¨alt ein Matching zwischen {z1, . . . ,zt}und{y1, . . . ,yt}.

Dieses Matching ist eindeutig, daP k¨urzester Pfad.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 25/32

(32)

Korrektheit Augmentation (A2)

(A) Falls ein derartiger gerichteter Pfad existiert:

Wir berechnen einen k¨urzesten gerichteten PfadP von E1nachE2. Die Knotenfolge inP seiy0,z1,y1, . . . ,zt,yt.

Dann gilty0,y1, . . . ,yt ∈E −S undz1, . . . ,zt ∈S.

Wir setzenS0:=S− {z1, . . . ,zt} ∪ {y0,y1, . . . ,yt}.

Schritt 1: S0−y0∈ I1(erledigt) Schritt 2: Wir zeigenS0∈ I1.

r1(S∪S0) ≥ r1(S+y0) = |S|+1

(S0−y0)∩E1=∅ impliziert r1(S∪(S0−y0)) =|S|

Submodularit¨at f¨ur die beiden MengenS∪(S0−y0)undS0liefert nun r1(S0)≥ |S0|und somitS0∈ I1.

(33)

Korrektheit Augmentation (A2)

(A) Falls ein derartiger gerichteter Pfad existiert:

Wir berechnen einen k¨urzesten gerichteten PfadP von E1nachE2. Die Knotenfolge inP seiy0,z1,y1, . . . ,zt,yt.

Dann gilty0,y1, . . . ,yt ∈E −S undz1, . . . ,zt ∈S.

Wir setzenS0:=S− {z1, . . . ,zt} ∪ {y0,y1, . . . ,yt}.

Schritt 1: S0−y0∈ I1(erledigt) Schritt 2: Wir zeigenS0∈ I1.

r1(S∪S0) ≥ r1(S+y0) = |S|+1

(S0−y0)∩E1=∅ impliziert r1(S∪(S0−y0)) =|S|

Submodularit¨at f¨ur die beiden MengenS∪(S0−y0)undS0liefert nun r1(S0)≥ |S0|und somitS0∈ I1.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 26/32

(34)

Korrektheit Augmentation (A2)

(A) Falls ein derartiger gerichteter Pfad existiert:

Wir berechnen einen k¨urzesten gerichteten PfadP von E1nachE2. Die Knotenfolge inP seiy0,z1,y1, . . . ,zt,yt.

Dann gilty0,y1, . . . ,yt ∈E −S undz1, . . . ,zt ∈S.

Wir setzenS0:=S− {z1, . . . ,zt} ∪ {y0,y1, . . . ,yt}.

Schritt 1: S0−y0∈ I1(erledigt) Schritt 2: Wir zeigenS0∈ I1.

r1(S∪S0) ≥ r1(S+y0) = |S|+1

(S0−y0)∩E1=∅ impliziert r1(S∪(S0−y0)) =|S|

Submodularit¨at f¨ur die beiden MengenS∪(S0−y0)undS0liefert nun r1(S0)≥ |S0|und somitS0∈ I1.

(35)

Korrektheit Augmentation (B1)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Da es keinen gerichteten Pfad vonE1nachE2 gibt, existiert eine TeilmengeU ⊆E mitE2⊆U undE1∩U=∅, sodass kein Pfeil von E −U nachU geht.

Wir zeigen zuerstr1(U) =|S∩U|.

AusS∩U ∈ I1folgt sofort r1(U)≥ |S∩U|.

Zwecks Widerspruchs nehmen wir r1(U)>|S∩U|an. Dann existiert einx ∈U−S mit(S∩U) +x∈ I1.

Dann existiertZ ∈ I1 mit|Z| ≥ |S|und(S∩U) +x⊆Z ⊆S+x. Wenn Z=S+x, dann giltx∈E1. Widerspruch.

WennZ =S−y+x mity ∈S−U, so ist(y,x)ein Pfeil im Hilfsgraphen H(S), wobeix ∈U und y∈E −U. Widerspruch.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 27/32

(36)

Korrektheit Augmentation (B1)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Da es keinen gerichteten Pfad vonE1nachE2 gibt, existiert eine TeilmengeU ⊆E mitE2⊆U undE1∩U=∅, sodass kein Pfeil von E −U nachU geht.

Wir zeigen zuerstr1(U) =|S∩U|.

AusS∩U ∈ I1folgt sofort r1(U)≥ |S∩U|.

Zwecks Widerspruchs nehmen wir r1(U)>|S∩U|an.

Dann existiert einx ∈U−S mit(S∩U) +x∈ I1.

Dann existiertZ ∈ I1 mit|Z| ≥ |S|und(S∩U) +x⊆Z ⊆S+x. Wenn Z=S+x, dann giltx∈E1. Widerspruch.

WennZ =S−y+x mity ∈S−U, so ist(y,x)ein Pfeil im Hilfsgraphen H(S), wobeix ∈U und y∈E −U. Widerspruch.

(37)

Korrektheit Augmentation (B1)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Da es keinen gerichteten Pfad vonE1nachE2 gibt, existiert eine TeilmengeU ⊆E mitE2⊆U undE1∩U=∅, sodass kein Pfeil von E −U nachU geht.

Wir zeigen zuerstr1(U) =|S∩U|.

AusS∩U ∈ I1folgt sofort r1(U)≥ |S∩U|.

Zwecks Widerspruchs nehmen wir r1(U)>|S∩U|an.

Dann existiert einx ∈U−S mit(S∩U) +x∈ I1.

Dann existiertZ ∈ I1 mit|Z| ≥ |S| und(S∩U) +x⊆Z ⊆S+x.

Wenn Z=S+x, dann giltx∈E1. Widerspruch.

WennZ =S−y+x mity ∈S−U, so ist(y,x)ein Pfeil im Hilfsgraphen H(S), wobeix ∈U und y∈E −U. Widerspruch.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 27/32

(38)

Korrektheit Augmentation (B1)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Da es keinen gerichteten Pfad vonE1nachE2 gibt, existiert eine TeilmengeU ⊆E mitE2⊆U undE1∩U=∅, sodass kein Pfeil von E −U nachU geht.

Wir zeigen zuerstr1(U) =|S∩U|.

AusS∩U ∈ I1folgt sofort r1(U)≥ |S∩U|.

Zwecks Widerspruchs nehmen wir r1(U)>|S∩U|an.

Dann existiert einx ∈U−S mit(S∩U) +x∈ I1.

Dann existiertZ ∈ I1 mit|Z| ≥ |S| und(S∩U) +x⊆Z ⊆S+x.

Wenn Z=S+x, dann giltx∈E1. Widerspruch.

WennZ =S−y+x mity ∈S−U, so ist(y,x)ein Pfeil im Hilfsgraphen H(S), wobeix ∈U und y∈E −U. Widerspruch.

(39)

Korrektheit Augmentation (B1)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Da es keinen gerichteten Pfad vonE1nachE2 gibt, existiert eine TeilmengeU ⊆E mitE2⊆U undE1∩U=∅, sodass kein Pfeil von E −U nachU geht.

Wir zeigen zuerstr1(U) =|S∩U|.

AusS∩U ∈ I1folgt sofort r1(U)≥ |S∩U|.

Zwecks Widerspruchs nehmen wir r1(U)>|S∩U|an.

Dann existiert einx ∈U−S mit(S∩U) +x∈ I1.

Dann existiertZ ∈ I1 mit|Z| ≥ |S| und(S∩U) +x⊆Z ⊆S+x.

Wenn Z=S+x, dann giltx∈E1. Widerspruch.

WennZ =S−y+x mity ∈S−U, so ist(y,x)ein Pfeil im Hilfsgraphen H(S), wobeix ∈U und y∈E −U. Widerspruch.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 27/32

(40)

Korrektheit Augmentation (B2)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Da es keinen gerichteten Pfad vonE1nachE2 gibt, existiert eine TeilmengeU ⊆E mitE2⊆U undE1∩U=∅, sodass kein Pfeil von E −U nachU geht.

Wir zeigen als n¨achstesr2(E −U) =|S−U|.

AusS−U∈ I2 folgt sofortr2(E−U)≥ |S−U|.

Zwecks Widerspruchs nehmen wir r2(E −U)>|S−U|an.

Dann existiert einx ∈E−U mit(S−U) +x∈ I2.

Dann existiertZ ∈ I2 mit|Z| ≥ |S| und(S−U) +x ⊆Z⊆S+x. Wenn Z=S+x, dann giltx∈E2. Widerspruch.

WennZ =S−y+x mity ∈S∩U, so ist(x,y)ein Pfeil im

(41)

Korrektheit Augmentation (B3)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Wir haben r1(U) =|S∩U|bewiesen.

Wir haben r2(E −U) =|S−U|bewiesen.

Gem¨ass unserer Min-Max Formel gilt f¨ur alleT ∈ I1∩ I2:

|T| = |T ∩U|+|T−U|

≤ r1(U) +r2(E−U)

= |S∩U|+|S−U| = |S|

Ergo hatS∈ I1∩ I2die gr¨osstm¨ogliche Kardinalit¨at.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 29/32

(42)

Korrektheit Augmentation (B3)

(B) Falls kein derartiger gerichteter Pfad existiert:

Die MengeS∈ I1∩ I2 hat bereits gr¨osstm¨ogliche Kardinalit¨at.

Wir haben r1(U) =|S∩U|bewiesen.

Wir haben r2(E −U) =|S−U|bewiesen.

Gem¨ass unserer Min-Max Formel gilt f¨ur alleT ∈ I1∩ I2:

|T| = |T ∩U|+|T−U|

≤ r1(U) +r2(E−U)

= |S∩U|+|S−U| = |S|

Ergo hatS∈ I1∩ I2die gr¨osstm¨ogliche Kardinalit¨at.

(43)

Varianten und Variationen

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 30/32

(44)

Gewichteter Matroid-Schnitt

Gewichteter Matroid-Schnitt

Instanz:MatroideM1= (E,I1)undM2= (E,I2); eine Kostenfunktion c:E →Z

Output:Eine MengeS∈ I1∩ I2mit den gr¨osstm¨oglichen Kosten c(S) Das gewichtete Matroid-Schnitt-Problem kann ebenfalls in polynomieller Zeit gel¨ost werden. Der Algorithmus verallgemeinert den Algorithmus f¨ur den ungewichteten Matroid-Schnitt und ist ¨ahnlich zum Algorithmus f¨ur gewichtetes Bipartites Matching.

(45)

Schnitt von drei Matroiden

Matroid-Schnitt

Instanz:MatroideM1= (E,I1), M2= (E,I2)undM3= (E,I3) Output:Eine MengeS∈ I1∩ I2∩ I3 mit der gr¨osstm¨oglichen Kardinalit¨at

Dieses Problem ist NP-schwer.

Der Spezialfall mit drei graphischen Matroiden ist NP-schwer.

Der Spezialfall mit drei Partitionsmatroiden ist NP-schwer.

EA/WS 2019 Kapitel 02: Schnitt von Matroiden 32/32

Referenzen

ÄHNLICHE DOKUMENTE

Eine Zahl x heisst zentral, wenn mindestens ein Viertel der aktiven Zahlen kleiner als x oder mindestens ein Viertel gr¨ osser als x ist Ist das Split-Element x zentral, dann

Wie sieht ein guter Algorithmus fuer dieses Problem aus, der auch im Worst Case nur wenige Bitabfragen macht?... Ein einzelnes Bit

Shmuel Winograd hat 1971 gezeigt, dass man zur Multiplikation von 2 × 2 Matrizen mindestens sieben Multiplikationen braucht (auch wenn man noch so viele Additionen und Subtraktionen

In einem linearen Matroid muß die Matrix A nicht ¨ uber den reellen Zahlen R definiert sein; jeder beliebige K¨ orper F ist erlaubt. Ein derartiges Matroid heisst dann repr¨

In einem linearen Matroid muß die Matrix A nicht ¨ uber den reellen Zahlen R definiert sein; jeder beliebige K¨ orper F ist erlaubt. Ein derartiges Matroid heisst dann repr¨

Die Laufzeit ist polynomial, da der Unabh¨ angigkeitstest in polynomieller Zeit durchgef¨ uhrt werden kann. Es muss nur noch die Korrektheit

Umfrage: https://terminplaner4.dfn.de/NQvjEX1e1oOy7RUZ Die ¨ Ubungen werden in Gruppen der Gr¨ osse 3–5 bearbeitet Zusammensetzung der

Die Worst-Case Laufzeit W (n) für Eingabelänge n ist die längste Laufzeit über alle Eingaben mit Länge n!.