• Keine Ergebnisse gefunden

Kapitel VI Matchings in Graphen 1. Grundlagen

N/A
N/A
Protected

Academic year: 2021

Aktie "Kapitel VI Matchings in Graphen 1. Grundlagen"

Copied!
46
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kapitel VI Matchings in Graphen

1. Grundlagen

Definition 127

SeiG= (V, E) ein ungerichteter, schlichter Graph. EinMatching M inG ist eine Teilmenge vonE, so dass keine zwei Kanten aus M einen Endpunkt gemeinsam haben.

Variante 1 Variante 2

@

@

@

Matching:

r r

r r

r r

(2)

Definition 128

1 Ein Matching M in G= (V, E) heißt perfekt(oder vollkommen), falls

|M|= |V| 2

2 Ein Matching M heißt

”Matching maximaler Kardinalit¨at“

(engl.maximum matching) inG, falls es inG kein Matching M0 mit|M0|>|M|gibt (durchgehend geringelt/rotim Beispiel)

3 Ein Matching M heißt maximalin G, falls es bez¨uglich

”⊆“ maximal ist (engl. maximal matching) (gepunktet

geringelt/gr¨unim Beispiel)

(3)

Definition 129

SeiG= (V, E) ein Graph. WennV in zwei nichtleere Teilmengen V1 undV2 partitioniert werden kann (V1∪V2 =V,V1∩V2=∅), so dassE⊆V1×V2 ist, dann heißt Gbipartit(G= (V1, V2, E)).

(4)

Satz 130

Ein GraphG= (V, E)hat ein perfektes Matching genau dann, wenn|V|gerade ist und es keinS⊆V gibt, so dass der durch V \S induzierte Teilgraph mehr als |S|

Zusammenhangskomponenten ungerader Gr¨oße enth¨alt.

&%

'$

S

r r r r

r r r r

r r r r r

Bemerkung:Die Richtung

”⇒“ ist klar, da in einem perfekten Matching in jeder

”ungeraden“ ZHK mindestens ein Knoten mit einem Knoten inS gematcht sein muss.

(5)

Definition 131

1 Ein einfacher Pfad (Kreis)v0, v1, . . . , vr heißt alternierend bzgl. eines Matchings M, falls die Kanten {vi, vi+1}, 0≤i < r, abwechselnd inM und nicht inM liegen.

r r r r r

v0 v1 v2 v3 v4 gerade L¨ange

r r r r r r

v0 v1 v2 v3 v4 v5

r r r r r r

v0 v1 v2 v3 v4 v5

ungerade L¨ange

r r

r r

v3 v2

v0 v1

(6)

Definition 131

2 Ein alternierender Pfad bzgl. eines Matchings M heißt augmentierend, falls er bzgl.

”⊆“ maximal ist und an beiden Enden ungematchte Knoten hat.

r r r r r r

v0 v1 v2 v3 v4 v5 ungerade L¨ange

AA

?

?

Bemerkung: Es kann keineaugmentierenden Kreisegeben.

(7)

Definition 132

SeienS,T zwei Mengen, dann bezeichne S T diesymmetrische Differenz vonS und T, d.h.S T = (S−T)∪(T−S).

Lemma 133 (Augmentierung eines Matchings)

SeiM ein Matching, P ein augmentierender Pfad bzgl.M. Dann ist auchM P ein Matching, und es gilt |M P|=|M|+ 1.

Beweis:

q q q q q q q q q q q q

M

M P

P

(8)

Satz 134 (Heiratssatz [Frobenius, Hall, Rado, K¨onig])

SeiG= (U, V, E) ein bipartiter Graph.Genth¨alt ein Matching der Kardinalit¨at |U|genau dann, wenn gilt:

∀A⊆U :|N(A)| ≥ |A|,

wobeiN(A)die Nachbarschaft von A (inV) bezeichnet.

r r r r

r r r r

PP PP PPPPP PPPPP P

U V

(9)

Beweis:

Die Richtung (

”⇒“) ist klar.

”⇐“: M sei ein maximum Matching in G.Annahme: |M|<|U|.

SeiA0⊆U die Teilmenge der durchM nicht gematchten Knoten inU. Seien weiter A (bzw.B) die von A0 aus mittels

alternierender Pfade erreichbaren Knoten inU (bzw.V). Enth¨alt B einen ungematchten Knoten, dann ist ein dazugeh¨origer alternierender PfadP augmentierend und |M P|>|M|, im Widerspruch zur Voraussetzung.

Andernfalls ist|A|>|B|(daAzu jedem Knoten in B seinen gematchten Partner enth¨alt), aber auch, im Widerspruch zur Voraussetzung,N(A)⊆B, also|N(A)|<|A|.

(10)

Alternativer Beweis:

Die Richtung (

”⇒“) ist (noch immer) klar.

”⇐“: SeiM ein Matching in G, mit|M|<|U|, und sei u0 ∈U ein inM ungematchter Knoten. Da|N({u0})| ≥1, hat u0 einen Nachbarnv1 ∈V. Falls v1 ungematcht ist, sind wir fertig, da wir einen augmentierenden Pfad gefunden haben. Andernfalls sei u1 ∈U der mitv1 gematchte Knoten. Dann ist u1 6=u0 und

|N({u0, u1})| ≥2, und es gibt einen Knotenv2 ∈V, der zuu0 oderu1 adjazent ist.

Fallsv2 in M nicht gematcht ist, beenden wir die Konstruktion, andernfalls fahren wir in obiger Weise fort und erreichen, wegen

|V|<∞, schließlich einen ungematchten Knoten vr∈V. Damit haben wir aber wiederum einen augmentierenden Pfad

P = (vr, ui1, vi1, . . . , uik, vik, u0) (mit i1 >· · ·> ik) gefunden!

(11)

Definition 135

SeiG= (V, E) ein (ungerichteter) Graph. Eine TeilmengeD⊆V heißtTr¨agervon G(engl.vertex cover), fallsD mit jeder Kante in E mindestens einen Knoten gemeinsam hat (also

”jede Kante bedeckt“).

Beobachtung:Sei DeinTr¨ager vonGund M einMatching inG.

Dann gilt offensichtlich

|D| ≥ |M|,

da derTr¨ager Djede Kante im Matching M treffen muss und die Kanten inM alle paarweise disjunkt sind.

Korollar 136

SeienDund M wie oben. Dann gilt

minD {|D|} ≥max

M {|M|}.

(12)

Satz 137

SeiG= (U, V, E) ein (ungerichteter) bipartiter Graph. Dann gilt

min{|D|; DTr¨ager vonG}= max{|M|; M Matching in G}

(13)

Beweis:

Wir nehmen o.B.d.A. an, dass alle Knoten inG Grad≥1 haben.

SeiM ein maximum Matching inG, sei A⊆U die vonM gematchte Teilmenge vonU,B ⊆V die von V.

Sei nunB0 die Menge der Knoten in B, die von U\A aus mittels eines alternierenden Pfades erreichbar sind. Dann istB0 ⊆B, da wir andernfalls einen augmentierenden Pfad gefunden haben. Sei A0 die Menge der Knoten in A, die durch M mit Knoten in B0 gematcht sind. Dann gibt eskeine Kante zwischenA0 und V \B, da jede solche Kante wiederum zu einem augmentierenden Pfad f¨uhren w¨urde.

Es gilt (i)N(U\A)⊆B0, (ii)N(A0) =B0, (iii)

N(V \B)⊆A\A0. Damit istB0∪(A\A0) ein Tr¨ager vonG. Da

|A|=|M|und |A0|=|B0|, folgt die Behauptung.

(14)

Satz 138 (Berge (1957))

Ein Matching hat maximale Kardinalit¨at genau dann, wenn es keinen augmentierenden Pfad daf¨ur gibt.

Beweis:

s.u.

(15)

Lemma 139

SeienM,N Matchings in G, und sei |N|>|M|. Dann enth¨alt N M mindestens|N| − |M|knotendisjunkte augmentierende Pfade bzgl.M.

(16)

Beweis:

Der Grad eines Knotens in(V, N M) ist ≤2. Die Zusammenhangskomponenten von(V, N M) sind also

1 isolierte Knoten

2 einfache Kreise (gerader L¨ange)

3 alternierende Pfade

SeienC1, . . . , Cr die Zusammenhangskomponenten in(V, N M), dann gilt:

M C1 C2 · · · Cr

| {z }

N M

=N

Nur dieCi’s, die augmentierende Pfade bzgl.M sind, vergr¨oßern die Kardinalit¨at des Matchings, und zwar jeweils um genau 1. Also muss es mindestens|N| − |M|Ci’s geben, die augmentierende Pfade bzgl.M sind (und knotendisjunkt, da ZHKs).

(17)

Korollar 140 Satz von Berge

(18)

2. K¨urzeste augmentierende Pfade

Lemma 141

SeiM ein Matching der Kardinalit¨atr, und sei sdie maximale Kardinalit¨at eines Matchings in G= (V, E),s > r. Dann gibt es einen augmentierenden Pfad bzgl.M der L¨ange≤2

j r s−r

k + 1.

Beweis:

SeiN ein Matching maximaler Kardinalit¨at inG,|N|=s.N M enth¨alt≥s−r augmentierende Pfade bzgl.M, die alle

knotendisjunkt und damit auch kantendisjunkt sind. Mindestens einer dieser augmentierenden Pfade enth¨alt daher≤j

r s−r

k

Kanten ausM.

(19)

Lemma 142

SeiP ein k¨urzester augmentierender Pfad bzgl.M, und sei P0 ein augmentierender Pfad bzgl. des neuen MatchingsM P. Dann gilt:

|P0| ≥ |P|+ 2|P ∩P0|

(20)

Beweis:

N =M P P0, also|N|=|M|+ 2. Also enth¨altM N mindestens 2 knotendisjunkte augmentierende Pfade bzgl.M, etwa P1 undP2. Es gilt:

|N M|=|P P0|

=|(P−P0)∪(P0−P)|

=|P|+|P0| −2|P∩P0|

≥ |P1|+|P2| ≥2|P|, also

|P|+|P0| −2|P∩P0| ≥2|P|, also

|P0| ≥2|P| − |P|

| {z }

|P|

+2|P ∩P0|

(21)

Schema f¨ur Matching-Algorithmus:

1 Beginne mit MatchingM0 :=∅.

2 Berechne Folge M0, P0, M1, P1, . . . , Mi, Pi, . . ., wobei jeweilsPi eink¨urzester augmentierender Pfadbzgl.Mi ist und

Mi+1 :=Mi Pi.

Im obigen Schema gilt

|Pi+1| ≥ |Pi|f¨ur alle i .

(22)

Lemma 143

SeienPi und Pj in obiger Folge zwei augmentierende Pfade gleicher L¨ange. Dann sindPi und Pj knotendisjunkt.

Beweis:

Annahme: es gibt eine Folge(Pk)k≥0 mit |Pi|=|Pj|,j > i, Pi∩Pj 6= 0,j−iminimal gew¨ahlt. Durch die Wahl vonj sind die PfadePi+1, . . . , Pj knotendisjunkt. Also istPj auch ein

augmentierender Pfad bzgl.M0 :=Mi+1, dem Matching nach den Augmentierungen mitP0, P1, . . . , Pi. Aus dem vorhergehenden Lemma folgt|Pj| ≥ |Pi|+ 2|Pi∩Pj|, also Pi,Pj kantendisjunkt, da|Pi|=|Pj|. Da inM0 jeder Knoten inPi gematcht ist (und dies dann auch inM0 Pi+1 Pi+2 · · · Pj−1 gilt), k¨onnen auchPi

undPj keinen Knoten gemeinsam haben.

(23)

Satz 144

Seisdie maximale Kardinalit¨at eines Matchings in G= (V, E).

Dann enth¨alt die Folge|P0|,|P1|, . . . h¨ochstens b2√ s+ 1c verschiedene Werte.

Beweis:

Seir :=bs−√

sc(=s− d√

se). Per Konstruktion ist|Mi|=i, also|Mr|=r. Mit Lemma141folgt

|Pr| ≤2

bs−√ sc s− bs−√

sc

+ 1≤2 s

√s

+ 1 = 2√ s

+ 1.

F¨uri≤r ist also|Pi|eine der ungeraden Zahlen in [1,2√ s+ 1], also eine vonb√

sc+ 1ungeraden Zahlen.Pr+1, . . . , Ps−1 tragen h¨ochstens s−r−1<√

szus¨atzliche L¨angen bei.

(24)

Verfeinertes Schema:

M :=∅

while ∃augmentierender Pfad bzgl. M do

l:= L¨ange eines k¨urzesten augmentierenden Pfades bzgl.M bestimme eine bzgl.

”⊆“ maximale Menge {Q1, . . . , Qk} augmentierender Pfade bzgl. M, die alle L¨angel haben und knotendisjunkt sind

M :=M Q1 · · · Qk od

Korollar 145

Die obigewhile-Schleife wird h¨ochstensO

|V|12 mal durchlaufen.

(25)

for allev∈U∪V do label[v] := 0od R :=∅;l:= 1

for alle ungematchten Knotenv∈U do

for alle{v, w} ∈E do label[w] := 1;R:=R∪ {w}od od

while R6=∅ and R enth¨alt keinen ungematchten Knoten do L:=∅;l+ +

for w∈R,{v, w} ∈M do L:=L∪ {v};label[v] :=l od R:=∅;l+ +

for allev∈L,{v, w} ∈E\M do if label[w] = 0then

R:=R∪ {w};label[w] :=l fi

od od

qq qq q

qq qq q

U∪ L

V∪ R

XXXXX HH

HHH HH

HHH

(26)

r r r r r

r r r r r

r r r r r

r r r r r

r r r r r

r r r r r

@

@

@

@

@

@

H HH HH H

HH HH HHHHHHH H

ungematcht m Q

Q Q

QQ

R

A A A A A A

@

@

@ m

ungematchte Knoten in R

U V U V U V

Kopie der Knoten von

L

(27)

Nachdem wir die L¨angel einesk¨urzesten augmentierenden Pfades bzgl.M ermittelt haben, f¨uhren wir nacheinander von jedem ungematchten Knoten inU aus eine (zwischen ungematchten und gematchten Kanten)alternierendeDFS bis zur Tiefe laus, wobei wir

1 wenn wir einen ungematchten Knoten (in Tiefe l) erreichen, einen k¨urzesten augmentierenden PfadQi gefunden haben; f¨ur den weiteren Verlauf der DFSs markieren wir Qi als gel¨oscht;

2 jede Kante, ¨uber die die DFS zur¨ucksetzt, ebenfalls als gel¨oschtmarkieren.

Der Zeitaufwand f¨ur diese DFSs betr¨agtO(n+m), da wir jede Kante h¨ochstens zweimal (einmal in der DFS vorw¨arts, einmal r¨uckw¨arts) besuchen.

(28)

Lemma 146

Gegeben die L¨ange eines k¨urzesten augmentierenden Pfades, kann eine bzgl.

”⊆“ maximale Menge k¨urzester augmentierender Pfade in ZeitO(n+m) gefunden werden.

Satz 147

In bipartiten Graphen kann ein Matching maximaler Kardinalit¨at in Zeit

O

n12(n+m)

gefunden werden.

Beweis:

Gem¨aß Korollar145gen¨ugen O(n12) Phasen, in denen jeweils mittels einer simultanen BFS und einer sequentiellen DFS (beide in ZeitO(n+m)) eine maximale Menge k¨urzester augmentierender Pfade bestimmt wird.

(29)

John Hopcroft, Richard Karp:

Ann5/2 algorithm for maximum matchings in bipartite graphs SIAM J. Comput.2(4), pp. 225–231 (1973)

(30)

4. Maximum Matchings in allgemeinen Graphen

In einem allgemeinen (nicht unbedingt bipartiten) Graphen k¨onnen wir in ZeitO(n+m) jeweils einen k¨urzesten augmentierenden Pfad finden und erhalten damit

Satz 148

In einem GraphG= (V, E) kann ein Matching maximaler Kardinalit¨at in Zeit

O(n·m)

gefunden werden.

(31)

F¨ur Maximum-Matching-Algorithmen in allgemeinen Graphen mit LaufzeitO(n12(n+m)) verweisen wir auf die Literatur:

Silvio Micali, Vijay V. Vazirani:

AnO(p

|V| · |E|)algorithm for finding maximum matching in general graphs

Proceedings of the 21st Annual IEEE Symposium on Foundations of Computer Science, FOCS’80 (Syracuse, NY, October 13–15, 1980), pp. 17–27 (1980)

Vijay V. Vazirani:

A theory of alternating paths and blossoms for proving correctness of theO(

V E)general graph maximum matching algorithm Combinatorica14(1), pp. 71–109 (1994)

Norbert Blum:

A new approach to maximum matching in general graphs Proceedings of the 17th International Colloquium on Automata, Languages and Programming, ICALP’90 (Warwick University,

(32)

5. Matchings in gewichteten bipartiten Graphen

5.1 Zerlegung doppelt stochastischer Matrizen

SeiM eine n×n-Matrix mit reellen Eintr¨agen mij ≥0, so dass alle Zeilen- und alle Spaltensummen=r >0sind. Wir assoziieren mitM den bipartiten Graphen G=GM = (U, V.E), wobei

U ={u1, . . . , un} dienZeilen undV ={v1, . . . , vn} dienSpalten vonM repr¨asentiert.Genth¨alt die Kante{ui, vj}gdwmij >0.

Ein Matching inGentspricht einer Menge von Eintr¨agenmij >0, die alle inverschiedenenZeilen und Spalten vorkommen. Wir nennen eine solche Menge von Positionen eineDiagonale der MatrixM.

EinTr¨ager vonM ist eine Menge von Zeilen und Spalten, die zusammen alle Matrixeintr¨age >0 enthalten.

(33)

Beispiel 149

2 0 1 3 0 0 4 0 0 2 3 1 2 0 0 1 1 3 0 1 0 0 0 3 3

Die markierten Elemente bilden eine Diagonale der Gr¨oßen= 5.

(34)

Annahme:M hat keine Diagonale der Gr¨oße n. Dann gibt es nach Satz137z Zeilen undsSpalten vonM mitz+s < n, die alle Eintr¨age >0 vonM bedecken. Damit w¨are aber

r·n=X

mij ≤r·(z+s)< r·n

Widerspruch.

Also existiert eine Diagonale der Gr¨oße nund ein entsprechendes perfektes MatchingM1 vonG. Die AdjazenzmatrixP1 von G1 = (V, M1) enth¨alt in jeder Zeile und Spalte genau eine 1, ist also eine so genanntePermutationsmatrix(alle anderen Eintr¨age sind 0). Sei nun

m1 := min{mij; {ui, vj} ∈M1}.

Die MatrixM−m1M1 hat wiederum konstante Zeilen- und Spaltensummen (n¨amlich r−m1) und strikt mehr Eintr¨age = 0 als

(35)

Durch Iteration ergibt sich damit Satz 150 (Birkhoff, von Neumann)

SeiM eine doppelt-stochastische Matrix (d.h. alle Zeilen- und Spaltensummen sind= 1, alle Eintr¨age sind reell und ≥0), dann gibt es eine Darstellung

M =

k

X

i=1

miPi,

wobei diePi Permutationsmatrizen und diemi∈R, mitmi >0 undPk

i=1mi = 1.

Bemerkung:Jede doppelt-stochastische Matrix ist also eine Konvexkombination von endlich vielen Permutationsmatrizen.

(36)

5.2 Matchings in knotengewichteten bipartiten Graphen SeiG= (U, V, E) ein bipartiter Graph mit einer Gewichtsfunktion w : U →R+. Wir suchen ein MatchingM in G, so dass die Summe der Gewichte der gematchten Knoten inU maximiert wird.

Eine TeilmengeT ⊆U, die durch ein Matching in Ggematcht werden kann, heißt auchTransversale.

SeiT die Menge der Transversalen vonG(beachte:∅ ∈ T).

Satz 151

Die MengeT der Transversalen vonG bildet ein Matroid.

(37)

Beweis:

Es ist klar, dass∅ ∈ T und dass T unter Teilmengenbildung abgeschlossen ist. SeienT und T0 Transversalen ∈ T mit

|T0|=|T|+ 1, und seienM bzw. M0 zugeh¨orige Matchings. Dann gibt es bzgl.M einen augmentierenden Pfad P. Ein Endknoten vonP liegt in U. Augmentieren wirM mittels P, erhalten wir also eine Transversale der Kardinalit¨at|T|+ 1.

Dasgreedy-Paradigma l¨asst sich also anwenden, um in Zeit O(n·m) eine Transversale maximalen Gewichts zu konstruieren.

(38)

5.3 Matchings in kantengewichteten bipartiten Graphen Sei nunG= (U, V, E) ein bipartiter Graph mit einer

Gewichtsfunktionwvon den Kanten in die nichtnegativen reellen Zahlen. Wir k¨onnen o.B.d.A. annehmen, dass |U|=|V|(=n) und dassG=Kn,n, indem wir geeignet Knoten sowie Kanten mit Gewicht0 hinzunehmen.

Damit k¨onnen wir auch o.B.d.A. voraussetzen, dass jedes Matching maximalen oder minimalen Gewichts inGperfekt ist.

Indem wirw(ui, vj)durch wmax−w(ui, vj) ersetzen (wobei wmax

das gr¨oßte auftretende Gewicht ist), reduziert sich das Problem, ein Matching maximalen/minimalen Gewichts zu finden, auf das, eines minimalen/maximalen Gewichts zu finden.

Wir betrachten daher o.B.d.A. das Problem, inG ein perfektes Matching minimalen Gewichts zu finden.

(39)

Wir suchen also eineDiagonale der Gr¨oße nmit minimalem Gewicht. SeiW die Gewichtsmatrix. Ver¨andern wir das Gewicht eines jeden Elements einer Zeile/Spalte vonW um einen festen Betragδ, so ¨andert sich das Gewicht einer jeden Diagonale

ebenfalls umδ (da diese ja genau ein Element aus jeder Zeile bzw.

aus jeder Spalte enth¨alt), und eine Diagonale minimalen Gewichts bleibt minimal.

Durch Subtraktion geeigneter Konstanten von den Zeilen bzw.

Spalten der MatrixW k¨onnen wir daher eine ¨aquivalente GewichtsmatrixW0 erhalten, die in jeder Zeile und Spalte mindestens eine0enth¨alt, w¨ahrend alle Werte noch immer≥0 sind.

(40)

Beispiel 152

9 11 12 11

6 3 8 5

7 6 13 11 9 10 10 7

0 2 3 2 3 0 5 2 1 0 7 5 2 3 3 0

0 2 3 2 3 0 5 2 1 0 7 5 2 3 3 0

0 2 0 2 3 0 2 2 1 0 4 5 2 3 0 0

(41)

Enth¨alt die Matrix W0 eine 0-Diagonale der Gr¨oße n (also eine Diagonale, deren Elemente alle= 0 sind), so geben die Positionen dieser Diagonale auch die Kanten eines perfekten Matchings minimalen Gewichts im GraphenG mit der urspr¨unglichen Gewichtsfunktionwan, und wir sind fertig.

Andernfalls ist die maximale L¨ange einer 0-Diagonale in W0 kleiner alsn. Wir nennen eine Menge von Zeilen und Spalten einer Matrix W0 eine0- ¨Uberdeckungvon W0, falls diese Zeilen und Spalten alle Eintr¨age = 0 der Matrix beinhalten.

(42)

Im vorhergehenden Beispiel

0 2 0 2 3 0 2 2 1 0 4 5 2 3 0 0

bilden z.B. die Zeilen 1 und 4 zusammen mit der Spalte 2 eine 0- ¨Uberdeckung der Gr¨oße 3.

Aus Satz137wissen wir, dass die maximale Gr¨oße einer

0-Diagonale gleich der minimalen Gr¨oße einer 0- ¨Uberdeckung ist.

FallsW0 also eine 0- ¨Uberdeckung der Gr¨oße< n hat, ¨andern wir die GewichtsmatrixW0 zu einer Gewichtsmatrix W00 so, dass die Eintr¨age ≥0 und minimale perfekte Matchings solche bleiben.

(43)

Es existiere also eine 0- ¨Uberdeckung vonW0, diez Zeilen unds Spalten enthalte, mitz+s < n. Sei wmin das Minimum dernicht

¨uberdecktenEintr¨age von W0. Also istwmin>0.

Um ausW0 die MatrixW00 zu erhalten, verfahren wir wie folgt:

1 subtrahiere wmin von jedemElement der n−z nicht

¨uberdeckten Zeilen (dadurch k¨onnen vor¨ubergehend negative Eintr¨age entstehen);

2 addiere wmin zuallen Elementen ders¨uberdeckten Spalten.

Damit ergibt sich f¨ur die Eintr¨age wij00 vonW00

wij00 =













wij0 −wmin falls wij0 nicht ¨uberdeckt ist

wij0 falls wij0 entweder von einer Zeile oder von einer Spalte ¨uberdeckt ist

wij0 +wmin falls wij0 von einer Zeile und von einer Spalte ¨uberdeckt ist

(44)

F¨ur unsere Beispielsmatrix ergibt sich

0 2 0 2 3 0 2 2 1 0 4 5 2 3 0 0

0 2 0 2

2 −1 1 1 0 −1 3 4

2 3 0 0

0 2 0 2

2 −1 1 1 0 −1 3 4

2 3 0 0

0 3 0 2 2 0 1 1 0 0 3 4 2 4 0 0

=:W00

(45)

Die Anzahl der inW0 sowohl durch eine Zeile als auch durch eine Spalte ¨uberdeckten Eintr¨age ist s·z, die der ¨uberhaupt nicht

¨uberdeckten Eintr¨age n2−n(s+z) +sz.

Damit ergibt sich f¨ur die Gesamtgewichtsver¨anderung X

ij

(w00ij−wij0 ) = ((sz)−(n2−n(s+z) +sz))·wmin

= (n(s+z)−n2)·wmin

<0

Da die Kantengewichte als ganzzahlig≥0vorausgesetzt sind, kann die TransformationW0 ⇒W00 nur endlich oft wiederholt werden, und der Algorithmus terminiert.

(46)

Man kann zeigen:

Satz 153

In einem kantengewichteten bipartiten Graphen mit ganzzahligen Kantengewichten≥0 kann ein gewichtsmaximales Matching in Zeit

O(n3)

bestimmt werden.

Referenzen

ÄHNLICHE DOKUMENTE

Nagu lugeja juba teab, toimub suurte tehnoloogiliste süsteemide areng vastavalt mustrile, mida kirjeldan käesoleva töö suure tehnoloogilise süsteemi arengumudeli

c) Formulieren Sie den detaillierten Mechanismus der Reaktion für die Bildung des Hauptproduktes inklusive der Bildung des Elektrophils (auch Grenzstrukturen des Elektrophils

Nun ist aber eine Division nur sinnvoll, wenn der Divisor nicht null ist.. Man kann nicht durch null

Wir wählen ein (unregelmäßiges) n-Eck A 0 …A n−1 und einen beliebigen Punkt M... Das beweist die

Das in der Eröffnungsrede als Forum der (selbst-) kritischen gesell- schaftlichen Zusammenkunft postulierte Festival versuchte sich heuer mehr denn je für die Empathie

So gibt es in Graz nicht nur auf d er Leinwand Entdeckungen z u machen: Zahlreiche Filmemacher/innen re isen ex tra für die Screenings an und stellen sich im

Das „Blankohaus“ kann ausgemalt und/oder mit den Ziffern beschriftet werden... Muster

The file operations applicable for a specific file are contained as function pointers in an instance of struct file_operations (fs.h):. For each file system, one instance of a