• Keine Ergebnisse gefunden

Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorlesung Kombinatorische Optimierung (Wintersemester 2018/19)"

Copied!
49
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Kombinatorische Optimierung (Wintersemester 2018/19)

Kapitel 3: Matchings

Volker Kaibel

Otto-von-Guericke Universit¨at Magdeburg

(Version vom 20. Dezember 2018)

(2)

Matchings

Definition 3.1

EinMatchingin einem Graphen G = (V,E) (mit Kantenmenge E ⊆ V2

) ist eine Kantenteilmenge M ⊆E mit e∩e0=∅

f¨ur allee,e0 ∈M mite 6=e0. Ein MatchingM ⊆E heißt perfekt, wenn

M ∩δ(v)6=∅

f¨ur allev ∈V gilt (oder ¨aquivalent dazu:V = S

e∈M

e).

(3)

Bipartite Graphen

Definition 3.2

Ein GraphG = (V,E) heißt bipartit, wenn es eine Bipartition V =X ]Y (mit X ∩Y =∅) gibt mit

e 6⊆X und e 6⊆Y f¨ur allee ∈E.

Bemerkung 3.3

Ein Graph ist genau dann bipartit, wenn er keinen Kreis ungerader (kombinatorischer) L¨ange enth¨alt.

(4)

Satz von Hall

Satz 3.4

Ein bipartiter Graph G = (V,E) mit Bipartition V =X ]Y und

|X|=|Y|hat entweder ein perfektes Matching oder es gibt A⊆X mit|N(A)|<|A|(aber nicht beides).

(5)

Satz von K¨ onig

Definition 3.5

EineKnoten¨uberdeckung eines GraphenG = (V,E) ist eine KnotenteilmengeW ⊆V mit

e∩W 6=∅ f¨ur allee ∈E.

Satz 3.6

In einem bipartiten Graphen ist die maximale Kardinalit¨at eines Matchings gleich der minimalen Kardinalit¨at einer

Knoten¨uberdeckung.

(Kombinatorische starke Dualit¨at, Min-Max Resultat)

(6)

Matchingprobleme

Problem 3.7 (Kardinalit¨ats-Matchingproblem) Instanz: Graph G = (V,E)

Aufgabe: Bestimme ein Matching maximaler Kardinalit¨at in G . Problem 3.8 (Gewichtetes Matchingproblem)

Instanz: Graph G = (V,E), Kantengewichte w ∈QE

Aufgabe: Bestimme ein Matching M ⊆E maximalen Gewichts w(M).

Problem 3.9 (Gewichtetes perfektes Matchingproblem) Instanz: Graph G = (V,E), Kantenkosten c ∈QE

Aufgabe: Bestimme ein perfektes Matching M ⊆E minimaler Kosten c(M) oder stelle fest, dass G kein perfektes Matching hat.

(7)

Perfekte Matchings in bipartiten Graphen

Satz 3.10

Das gewichtete perfekte Matchingproblem kann in bipartiten Graphen G = (V,E)in Zeit O(|V||E|+|V|2log|V|))gel¨ost werden.

(Mittels Successive-Shortest-Path Algorithmus in einem Netzwerk, das zwei zus¨atzliche Knoten hat; siehe ¨Ubungen)

(8)

Das Lineare Assigment Problem

Definition 3.11

Ein bipartiter GraphKn,m = (V,E) mit BipartitionV =X]Y, n=|X|,m=|Y|und

E ={{x,y} |x∈X,y ∈Y}

heißt einvollst¨andiger bipartiter Graphauf n+mKnoten.

Bemerkung 3.12

Das gewichtete perfekte Matchingproblem im Kn,m (Lineares Assignment-Problem) kann in

O(nm(n+m)) Zeit gel¨ost werden.

(”Ungarische Methode”, Spezialfall des Successive-Shortest-Path Algorithmus.)

(9)

Matchings in Bipartiten Graphen

Korollar 3.13

Das gewichtete Matchingproblem in bipartiten Graphen

G = (V,E) kann in O(|V||E|+|V|2log|V|))Zeit gel¨ost werden.

(Siehe ¨Ubungen.)

(10)

Alternierende Pfade

Definition 3.14

SeiM ⊆E ein Matching in G = (V,E). Ein Knotenv ∈V heißt M-exponiert, wennv ∈/ e f¨ur alle e ∈M gilt. Die Menge der M-exponierten Knoten istXM ⊆V.

Ein TupelP = (v0,v1, . . . ,v`) von Knoten in V mit` >0 ist ein M-alternierender Pfad, wenn

I ei :={vi−1,vi} ∈E f¨ur alle i ∈[`] und

I |{ei,ei+1} ∩M|= 1 f¨ur alle i ∈[`−1].

gelten; wir bezeichnen seine Kantenmenge mit E(P) ={e1, . . . ,e`}.

(11)

Augmentierende Wege

Definition 3.15

EinM-augmentierender Wegist ein M-alternierender Pfad P = (v0,v1, . . . ,v`) mit`≥1 und

I v0 und v` sind M-exponiert und

I v0,v1, . . . ,v` sind paarweise verschieden (E(P)⊆E ist also einv0-v`-Weg inG).

(12)

Finden Kardinalit¨ atsmaximaler Matchings

Satz 3.16

Ein Matching M⊆E in G = (V,E) ist genau dann ein Matching maximaler Kardinalit¨at in G , wenn es keinen M-augmentierenden Weg gibt.

(Beweis: ¨Ubungen) Algorithmischer Ansatz:

Starte mit leerem MatchingM und ersetze iteriert M durch M4E(P) mit einemM-augmentierenden WegP, solange ein solcher existiert (h¨ochstens |V2| Iterationen).

(13)

Finden augmentierender Wege

I Sei M ⊆E ein Matching inG = (V,E).

I Definiere den Digraphen DM = (V,AM) mit

AM ={(v,w) : Es gibt u∈V mit {v,u} ∈E\M und {u,w} ∈M.}

I F¨urS ⊆V sei

N(S) = [

v∈S

N(v)⊆V.

I Jeder M-augmentierende Weg inG mit Endknoten s 6=t induziert einen s-t0-Weg inDM (mit s ∈XM und

s 6=t∈N(t0), alsot0 ∈N(XM\ {s})).

(14)

Finden augmentierender Wege

I Ein s-t0-WegW in DM mits ∈XM und t0 ∈N(XM \ {s}) induziert i. A. aber nur einen alternierenden Pfad in G (vgl.

n¨achste Folie).

I Falls G bipartit ist, kann das nicht passieren (keine ungeraden Kreise in G).

I Also kann man f¨ur bipartiteG durch Breitensuche (von exponierten Knoten aus) in O(|E|) Schritten einen M-augmentierenden Weg finden oder feststellen, dass M maximale Kardinalit¨at hat.

(15)

Blumen mit Bl¨ uten und Stielen

(16)

Kardinalit¨ atsmaximale Matchings in Bipartiten Graphen

Bemerkung 3.17

Ein kardinalit¨atsmaximales Matching kann in bipartiten Graphen G = (V,E) mittels iterierten Findens augmentierender Wege in ZeitO(|V||E|) bestimmt werden.

I Vergleiche augmentierende Fluss-Algorithmen.

I Die Laufzeitschranke kann sogar auf O(p

|V| · |E|) verbessert werden.

(17)

Bl¨ uten

Definition 3.18

IstM ⊆E ein Matching in G = (V,E), so heißt ein

M-alternierender Pfad P = (v0,v1, . . . ,v`) eineM-Blume, wenn

I v0∈XM,

I v0, . . . ,v`−1 paarweise verschieden,

I v`=vi f¨ur ein geradesi ∈ {0, . . . , `−1}.

Das Tupel (vi,vi+1, . . . ,v`−1,v` =vi) heißt dann eineM-Bl¨ute;

der alternierende Weg (v0, . . . ,vi) derM-Stiel der M-Blume.

(18)

Kontraktion / Schrumpfen

Definition 3.19

SeiG = (V,E) ein Graph undS ⊆V. Der durch Kontraktion (Schrumpfen) vonS entstehende Graph ist

G/S = (V \S ∪ {S},E/S) mit

E/S =E(V \S)∪ {{v,S} |δ(v)∩δ(S)6=∅}.

F¨urM ⊆E definieren wir analog

M/S :=M∩E(V \S)∪ {{v,S} |δ(v)∩δ(S)∩M 6=∅}.

(19)

Bl¨ uten-Schrumpf-Lemma

Lemma 3.20

Seien M⊆E ein Matching in G = (V,E) und(v0,v1, . . . ,v`=v0) eine M-Bl¨ute mit B ={v0,v1, . . . ,v`−1}. Dann ist M genau dann ein kardinalit¨atsmaximales Matching in G , wenn M/B ein

kardinalit¨atsmaximales Matching in G/B ist; aus einem

M/B-aufgnentierenden Weg in G/B kann man in Linearzeit einen M-augmengtiereden Weg in G bestimmen.

(Hier ohne Beweis.)

(20)

Vorsicht beim Schrumpfen!

(21)

Finden augmentierender Wege

Algorithmus 3.21 (Augment-M)

Eingabe: Matching M ⊆E in G = (V,E)

Ausgabe: M-augmentierender Weg (falls einer existiert)

1: Konstruiere DM

2: Suche einen s-t-Weg W in DM, s ∈XM, t∈N(XM \ {s}).

3: ifkein solcher Weg existiert then

4: Stop (”M kardinalit¨atsmaximal”)

5: ifW induziert WegW in G˜ then

6: Stop (”W M-augmentierend”)˜

7: Sei B ⊆V die Knotenmenge der M-Bl¨ute der M-Blume in W .˜

8: Rufe den Algorithmus rekursiv mit G/B und M/B auf.

9: ifM/B kardinalit¨atsmaximal in G/B then

10: Stop (”M kardinalit¨atsmaximal in G ”)

11: Expandiere den gefundenen M/B-augmentierenden Weg Q in

G/B zu einem M-augmentierenden Weg Q in G .˜

12: STOP (”Q M-augmentierend”)˜

(22)

Expandieren augmentierender Wege

I Liegt {B} nicht aufQ, so w¨ahle ˜Q =Q.

I Andernfalls sei (v0,v1, . . . ,v`) die M-Bl¨ute in ˜W (B={v0,v1, . . . ,v`−1}), so dass

{v0,v1},{v`−1,v0} 6∈M sind.

I Sei w ∈V der Knoten, f¨ur den{{B},w} die Nicht-Matching Kante inQ ist; seij so, dass {vj,w} ∈E.

I Falls j gerade: Ersetze{B}durch v0, . . . ,vj

I Falls j ungerade: Ersetze{B} durch vj,vj+1, . . . ,v`

(23)

Expandieren augmentierender Wege

v0

v3 v2

v4

v6 v5 v7

v8 v1

w

(24)

Analyse des Augmentierungs-Algorithmus

Lemma 3.22

Algorithmus 3.21 kann so implementiert werden, dass seine Laufzeit durch

O(|V||E|) beschr¨ankt ist.

(25)

Bestimmung eines kardinalit¨ atsmaximalen Matchings

Algorithmus 3.23 (Edmonds Blossom-Shrink Algorithmus) Eingabe: Graph G = (V,E)

Ausgabe: Matching M ⊆E maximaler Kardinalit¨at in G

1: M ← ∅

2: Rufe Algorithmus 3.21 auf.

3: ifM kardinalit¨atsmaximal then

4: Stop (Ausgabe: M)

5: Sei W ⊆E die Kantenmenge des gefundenen M-augmentierenden Weges

6: M ←M4W

7: Gehe zu Schritt 2.

(26)

Analyse des Blossom-Skrink-Algorithmus

Satz 3.24

Edmonds Blossom-Shrink Algorithmus findet in O(|V|2|E|) Schritten ein kardinalit¨atsmaximales Matching in G = (V,E).

Korollar 3.25

Man kann in O(|V|2|E|) Zeit ein perfektes Matching in G = (V,E) finden oder feststellen, dass G kein perfektes Matching hat.

(27)

Bemerkungen zu Matching-Algorithmen

I Eine Variante des Blossom-Shrink Algorithmus (”alternierende W¨alder”) braucht nurO(|V|3) Schritte.

I Algorithmus von Micali und Vazirani sogar (ohne explizites Schrumpfen von Bl¨uten): O(p

|V| · |E|)

I Edmonds 1965: Erweiterung des Algorithmus f¨ur

gewichts-maximale Matchings (mit beliebigen Gewichten w ∈QE) mit Laufzeitschranke O(|V|4).

I Laufzeit-Verbesserung (Gabow 1990):

O(|V|(|E|+|V|log|V|))

(28)

Matching-Polytope

Definition 3.25

F¨ur einen Graphen G = (V,E) sind

Pmatch(G) := conv{χ(M)∈ {0,1}E|M ⊆E Matching}

dasMatching-Polytopund

Pperfmatch(G) := conv{χ(M)∈ {0,1}E|M ⊆E perfektes Matching}

dasperfekte Matching-PolytopvonG.

(29)

Bemerkungen

I Die Ecken von Pmatch(G) bzw. Pperfmatch(G) sind die

charakteristischen Vektoren der Matchings bzw. perfekten Matchings in G.

I Gewichtete (perfekte) Matchingprobleme kann man also l¨osen, indem man optimale Eckenl¨osungen von linearen Optimierungsproblemen ¨uber (perfekten )

Matching-Polytopen bestimmt.

I Um Algorithmen und Strukturtheorie (Dualit¨atssa¨atze) der Linearen Optimierung einsetzen zu k¨onnen, ben¨otigt man Beschreibungen der Polytope Pmatch(G) und Pperfmatch(G) als Schnitte von (endlich vielen) affinen Halbr¨aumen.

I Polyedrische Kombinatorik

(30)

Lineare 0/1-Beschreibungen

Bemerkung 3.27

F¨ur G = (V,E) ist x ∈ {0,1}E genau dann enthalten in (und damit Ecke von)Pmatch(G) bzw.Pperfmatch(G), wenn

x(δ(v))≤1 f¨ur alle v ∈V bzw.

x(δ(v)) = 1 f¨ur alle v ∈V gelten.

(31)

Lineare Beschreibungen f¨ ur Bipartite Graphen

Satz 3.30

F¨ur bipartite Graphen G = (V,E)gilt:

I Pmatch(G) ={x ∈[0,1]E|x(δ(v))≤1 f¨ur alle v ∈V}

I Pperfmatch(G) ={x ∈[0,1]E|x(δ(v)) = 1f¨ur alle v ∈V} (Beweis: VL Ganzzahlige Lkineare Optimierung, SoSem 19)

(32)

Perfekte Matching-Polytope Beliebiger Graphen

Satz 3.31

F¨ur jeden Graphen G = (V,E)ist Pperfmatch(G) das Polyeder, das von den folgenden linearen Bedingungen beschrieben wird:

xe ≥ 0 f¨ur alle e ∈E x(δ(v)) = 1 f¨ur alle v ∈V

x(δ(U)) ≥ 1 f¨ur alle U ⊆V,|U|ungerade

(1)

(33)

Beweis Satz 3.31: Kontraktionen

0.3

0.1 0.2

0.1 0.2

0.1

w1 0.3

0.4

0.3

w2

0.4 0.4

0.2

(34)

Beweis Satz 3.31: Kontraktionen (K · x )

3

1 2

1 2

1

w1 3

4

3

w2

4 4

2

(35)

Eine Umformulierung des Systems

Korollar 3.32

F¨ur G = (V,E) istPperfmatch(G) genau die L¨osungsmenge des folgenden Systems:

xe ≥ 0 f¨ur alle e ∈E x(δ(v)) = 1 f¨ur alle v ∈V

x(E(U)) ≤ |U|−12 f¨ur alle U ⊆V,|U|ungerade

(2)

(36)

Satz 3.33 (Edmonds Matching-Polytop Theorem)

F¨ur G = (V,E) istPmatch(G) die L¨osungsmenge des folgenden Ungleichungssystems:

xe ≥ 0 f¨ur alle e ∈E x(δ(v)) ≤ 1 f¨ur alle v ∈V

x(E(U)) ≤ |U|−12 f¨ur alle U ⊆V,|U|ungerade

(3)

(37)

Konvexe K¨ orper

Problem 3.34 (Separationsproblem f¨ur K ⊆Rn abgeschlossen und konvex)

Instanz: x?∈Qn

Aufgabe: Entscheide, ob x? ∈K ist; wenn x? ∈/K , bestimme einen Vektor a∈Qn und ein β∈Qmit

ha,xi ≤β f¨ur alle x ∈K und

ha,x?i> β

(die Hyperebene{x ∈Rn:ha,xi=β+ε}trennt f¨ur gen¨ugend kleinesε >0 dann x? von K ).

(38)

Ungleichungssysteme

Problem 3.35 (Separationsproblem f¨ur ein System S von linearen Ungleichungen und Gleichungen inRn)

Instanz: x?∈Qn

Aufgabe: Entscheide, ob x? das System S erf¨ullt; wenn nicht, bestimme eine Gleichung oder eine Ungleichung ausS, die von x? verletzt wird.

(39)

Ellipsoid-Methode

I Kann man das Separationsproblem f¨ur eine Menge von endlichen Systemen von linearen Ungleichungen und

Gleichungen in polynomialer Zeit l¨osen, so kann man auch die linearen Optimierungsprobleme ¨uber den durch diese Systeme definierten Polyedern in polynomialer Zeit l¨osen.

I “Polynomial”: Polynomial in der Dimension und der gr¨oßten Kodierungsl¨ange einer Zahl im jeweiligen System

I Die Umkehrung gilt auch.

I “¨Aquivalenz von Separieren und Optimieren” (Gr¨otschel, Lovasz, Schrijver)

(40)

Praxis: Schnittebenen-Verfahren

I Sei S ein System von linearen Gleichungen und Ungleichungen in Rn und P ={x ∈Rn|x erf¨ullt alle Bedingungen in S}.

I Sei c ∈Qn ein Zielfunktionsvektor.

I W¨ahle ein (einfaches) TeilsystemT vonS.

I Bestimme eine Optimall¨osungx? von max{hc,xi |x erf¨ullt T } (mit irgendeinem LP-Algorithmus). Es gilt

hc,x?i ≥max{hc,xi |x ∈P} (obere Schranke).

I L¨ose das Separationsproblem f¨urx? bzgl.S.

I Fallsx? ganzS erf¨ullt:x? Optimall¨osung von max{hc,xi |xP}

I Sonst f¨uge (mindestens) eine vonx? verletzte Gleichung oder Ungleichung (Schnittebene) zuT hinzu und iteriere.

(41)

Separationsproblem f¨ ur (3.6)

I Sei x? ∈QE gegeben.

I x?(δ(v)) = 1 (f¨ur alle v ∈V) undx? ≥O kann man leicht

¨

uberpr¨ufen.

I x?(δ(U))≥1 gilt genau dann f¨ur alle U ⊆V,|U|ungerade, wenn das x?-Gewicht jeden ”ungeraden Schnitts” inG mindestens Eins ist.

Definition 3.36

Einungerader Schnittin G = (V,E) ist ein Schnitt δ(U)⊆E mitU ⊆V und |U|ungerade.

I Also: Bestimme ungeraden Schnitt minimalen x?-Gewichts.

(42)

Gomory-Hu B¨ aume

Definition 3.37

F¨ur einen Graphen G = (V,E) und c ∈RE+ ist ein

Gomory-Hu-Baumein Baum mit KnotenmengeV, so dass f¨ur jede Baumkante{s,t} gilt: SindS ⊆V und T ⊆V mit

V =S]T die Knotenmengen der beiden Komponenten, in die der Baum durch Wegnehmen von{s,t} zerf¨allt, so istδ(S) =δ(T) ein c-minimaler s-t-Schnitt in G.

Satz 3.38

Ein Gomory-Hu-Baum kann via Berechnung von|V| −1minimalen s-t-Schnitten (maximalen s-t-Fl¨ussen) berechnet werden.

Satz 3.39

Ist B = (V,F) Gomory-Hu-Baum f¨ur G = (V,E) (mit|V| ∈2Z) und c ∈RE+, so ist einer der von den Kanten von B induzierten Schnitte in G ein ungerader Schnitt minimalen c-Gewichts.

(43)

Gomory-Hu Baum und ungerade Schnitte

Wf

f

(44)

Dualisieren

max hw,xi

x(δ(v)) ≤ 1 (v ∈V) [yv] x(E(U)) ≤ b|U|2 c (U ∈(2V)odd) [zu]

x ≥ OE

(4)

(mit (2V)odd={U ⊆V| |U|ungerade}) ergibt minX

v∈V

yv + X

U∈(2V)odd

b|U|2 c ·zu

yv +yw+ P

U∈(2V)odd v,w∈U

zu ≥ we (e ={v,w} ∈E) y ≥ OV

z ≥ O(2V)odd

(5)

(45)

“Total Duale Ganzzahligkeit”

Satz 3.40

F¨ur ganzzahlige w ∈ZE hat (5)stets eine ganzzahlige Optimall¨osung(y?,z?)∈Zv ×Z(2V)odd.

I Hier ohne Beweis

I Das Ungleichungssystem in (4) ist TDI (totally dual

integral); wichtiges Konzept in der Theorie der ganzzahligen linearen Optimierung (siehe VL n¨achstes Semester).

(46)

Matchings und Odd-Set Covers

Definition 3.41

Einodd-set cover eines GraphenG = (V,E) besteht aus KnotenteilmengenW0⊆V undW1, . . . ,Wk ∈(2V)odd, so dass f¨ur jede Kantee ∈E gilt:

e∩W0 6=∅ oder es gibti ∈[k] mite ⊆Wi

DieKapazit¨at von W0,W1, . . . ,Wk ist

|W0|+

k

X

i=1

b|W2i|c

Satz 3.42

In jedem Graphen ist die maximale Kardinalit¨at eines Matchings gleich der minimalen Kapazit¨at eines odd-set covers.

(47)

Matchings und Odd-Set Covers

W0

W1 W2

(48)

Tutte-Berge Formel

Korollar 3.43

F¨ur jeden Graphen G = (V,E)ist die maximale Kardinalit¨at eines Matchings

min{12(|V|+|U| −odd(G\U))|U ⊆V},

wobeiodd(G\U) die Anzahl der Zusammenhangskomponenten ungerader Kardinalit¨at von G\U ist.

(49)

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Modifizieren Sie das Matlab oder Python Skript, sodass der 9-Punkte-Stern zur Diskretisierung des Laplace-Operators verwendet wird.. Modifizieren Sie zus¨ atzlich die rechte Seite

[r]

L¨ osen Sie das folgende ( bereits in Zeilenstufenform vorliegende ) Gleichungssystem ¨ uber IF 3 , d.h.. L¨ osen Sie das folgende Gleichungssystem ¨ uber

[r]

Faktorisiere (falls n¨otig) jeden Nenner mittels Ausklammern oder Anwendung einer binomischen Formel2. Ermittle den Hauptnenner:

Ein Polynom in f =ℤ[ X ] kann man als beiliebig oft differenzierbare reelle Funktion auffassen.. Die Ableitung ist dann selbst ein Polynom in ℤ[

erniedrigt, enth¨ alt der Verwerfungsbereich nur noch die “¨ ausserst unplausiblen” Werte (genauer: nur noch die Werte, die mit einer Wahrscheinlichkeit von 1% auftreten, falls H