• Keine Ergebnisse gefunden

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Verfeinertes Schema:

M := ∅

while ∃ augmentierender Pfad bzgl. M do

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

” ⊆ “ maximale Menge {Q

1

, . . . , Q

k

} augmentierender Pfade bzgl. M , die alle L¨ ange l haben und knotendisjunkt sind

M := M Q

1

· · · Q

k

od

Korollar 144

Die obige while-Schleife wird h¨ ochstens O

|V |

12

mal

durchlaufen.

(2)

3. Maximum Matchings in bipartiten Graphen Sei G = (U, V, E) ein bipartiter Graph, M ein Matching in G.

Zur Bestimmung der L¨ ange eines k¨ urzesten augmentierten Pfades bzgl. M f¨ uhren wir eine simultane alternierende BFS durch, die von allen in M ungematchten Knoten in U aus startet.

EADS 3 Maximum Matchings in bipartiten Graphen 557/570

ľErnst W. Mayr

(3)

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

for alle ungematchten Knoten v ∈ U do

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

while R 6= ∅ 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 alle v ∈ L, {v, w} ∈ E \ M do if label[w] = 0 then

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

od od

R := Menge der ungematchten Knoten in R

qq qq q

qq qq q

U ∪ L

V ∪ R

XXXXX HH

HHH HH

HHH

(4)

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

EADS 3 Maximum Matchings in bipartiten Graphen 559/570

ľErnst W. Mayr

(5)

Nachdem wir die L¨ ange l eines k¨ urzesten augmentierenden Pfades bzgl. M ermittelt haben, f¨ uhren wir nacheinander von jedem ungematchten Knoten in U aus eine (zwischen ungematchten und gematchten Kanten) alternierende DFS bis zur Tiefe l aus, wobei wir

1

wenn wir einen ungematchten Knoten (in Tiefe l) erreichen, einen k¨ urzesten augmentierenden Pfad Q

i

gefunden haben; f¨ ur den weiteren Verlauf der DFSs markieren wir Q

i

als gel¨ oscht;

2

jede Kante, ¨ uber die die DFS zur¨ ucksetzt, ebenfalls als gel¨ oscht markieren.

Der Zeitaufwand f¨ ur diese DFSs betr¨ agt O(n + m), da wir jede

Kante h¨ ochstens zweimal (einmal in der DFS vorw¨ arts, einmal

r¨ uckw¨ arts) besuchen.

(6)

Lemma 145

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

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

Satz 146

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

O

n

12

(n + m)

gefunden werden.

Beweis:

Gem¨ aß Korollar 144 gen¨ ugen O(n

12

) Phasen, in denen jeweils mittels einer simultanen BFS und einer sequentiellen DFS (beide in Zeit O(n + m)) eine maximale Menge k¨ urzester augmentierender Pfade bestimmt wird.

EADS 3 Maximum Matchings in bipartiten Graphen 561/570

ľErnst W. Mayr

(7)

John Hopcroft, Richard Karp:

An n

5/2

algorithm for maximum matchings in bipartite graphs

SIAM J. Comput. 2(4), pp. 225–231 (1973)

(8)

4. Maximum Matchings in allgemeinen Graphen

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

Satz 147

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

O(n · m) gefunden werden.

EADS 4 Maximum Matchings in allgemeinen Graphen 563/570

ľErnst W. Mayr

(9)

F¨ ur Maximum-Matching-Algorithmen in allgemeinen Graphen mit Laufzeit O(n

12

(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, England, July 16–20, 1990), LNCS443, pp. 586–597 (1990)

(10)

5. Matchings in gewichteten bipartiten Graphen

5.1 Zerlegung doppelt stochastischer Matrizen

Sei M eine n × n-Matrix mit reellen Eintr¨ agen m

ij

≥ 0, so dass alle Zeilen- und alle Spaltensummen = r > 0 sind. Wir assoziieren mit M den bipartiten Graphen G = G

M

= (U, V.E), wobei

U = {u

1

, . . . , u

n

} die n Zeilen und V = {v

1

, . . . , v

n

} die n Spalten von M repr¨ asentiert. G enth¨ alt die Kante {u

i

, v

j

} gdw m

ij

> 0.

Ein Matching in G entspricht einer Menge von Eintr¨ agen m

ij

> 0, die alle in verschiedenen Zeilen und Spalten vorkommen. Wir nennen eine solche Menge von Positionen eine Diagonale der Matrix M .

Ein Tr¨ ager von M ist eine Menge von Zeilen und Spalten, die zusammen alle Matrixeintr¨ age > 0 enthalten.

EADS 5.1 Zerlegung doppelt stochastischer Matrizen 565/570

ľErnst W. Mayr

(11)

Beispiel 148

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ße n = 5.

(12)

Annahme: M hat keine Diagonale der Gr¨ oße n. Dann gibt es nach Satz 136 z Zeilen und s Spalten von M mit z + s < n, die alle Eintr¨ age > 0 von M bedecken. Damit w¨ are aber

r · n = X

m

ij

≤ r · (z + s) < r · n Widerspruch.

Also existiert eine Diagonale der Gr¨ oße n und ein entsprechendes perfektes Matching M

1

von G. Die Adjazenzmatrix P

1

von G

1

= (V, M

1

) enth¨ alt in jeder Zeile und Spalte genau eine 1, ist also eine so genannte Permutationsmatrix (alle anderen Eintr¨ age sind 0). Sei nun

m

1

:= min{m

ij

; {u

i

, v

j

} ∈ M

1

}.

Die Matrix M − m

1

M

1

hat wiederum konstante Zeilen- und Spaltensummen (n¨ amlich r − m

1

) und strikt mehr Eintr¨ age = 0 als M.

EADS 5.1 Zerlegung doppelt stochastischer Matrizen 567/570

ľErnst W. Mayr

(13)

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

Sei M 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

m

i

P

i

,

wobei die P

i

Permutationsmatrizen und die m

i

∈ R , mit m

i

> 0 und P

k

i=1

m

i

= 1.

Bemerkung: Jede doppelt-stochastische Matrix ist also eine

Konvexkombination von endlich vielen Permutationsmatrizen.

(14)

5.2 Matchings in knotengewichteten bipartiten Graphen Sei G = (U, V, E) ein bipartiter Graph mit einer Gewichtsfunktion w : U → R

+

. Wir suchen ein Matching M in G, so dass die Summe der Gewichte der gematchten Knoten in U maximiert wird.

Eine Teilmenge T ⊆ U, die durch ein Matching in G gematcht werden kann, heißt auch Transversale.

Sei T die Menge der Transversalen von G (beachte: ∅ ∈ T ).

Satz 150

Die Menge T der Transversalen von G bildet ein Matroid.

EADS 5.2 Matchings in knotengewichteten bipartiten Graphen 569/570 ľErnst W. Mayr

(15)

Beweis:

Es ist klar, dass ∅ ∈ T und dass T unter Teilmengenbildung abgeschlossen ist. Seien T und T

0

Transversalen ∈ T mit

|T

0

| = |T | + 1, und seien M bzw. M

0

zugeh¨ orige Matchings. Dann gibt es bzgl. M einen augmentierenden Pfad P. Ein Endknoten von P liegt in U . Augmentieren wir M mittels P, erhalten wir also eine Transversale der Kardinalit¨ at |T | + 1.

Das greedy-Paradigma l¨ asst sich also anwenden, um in Zeit

O(n · m) eine Transversale maximalen Gewichts zu konstruieren.

Referenzen

ÄHNLICHE DOKUMENTE

I distance[u]: L¨ ange des k¨ urzesten bekannten Pfades zu u I distance[v]: L¨ ange des k¨ urzesten bekannten Pfades zu v I parent[v]: Vorg¨ anger in letzter Kante. des k¨

I distance[u]: L¨ ange des k¨ urzesten bekannten Pfades zu u I distance[v]: L¨ ange des k¨ urzesten bekannten Pfades zu v I parent[v]: Vorg¨ anger in letzter Kante. des k¨

I distance[u]: L¨ ange des k¨ urzesten bekannten Pfades zu u I distance[v]: L¨ ange des k¨ urzesten bekannten Pfades zu v I parent[v]: Vorg¨ anger in letzter Kante.. des k¨

dueliku uurimistöö sektor, Teaduslik Raamatukogu, kateedrite ja laboratooriumide referendid. Infoteenietue allub TRÜ tea­.. dusala prorektorile. TRÜ rektori 22.

duspärasuste alusel kujunenud tänapäevased vormid, näiteks eesti keeles on sisekao tõttu kadunud teise lahtise silbi vokaal a, mis aga on säilinud rahva lauluke e le s,

Eesti Rahva Muuseumi arhiiv-raamatukogus (Aia t. ulernairaline abiöppejöud eesti ja uldise kirjanduse alal. Aeg ja koht antakse hiljemini teada. - Kónetunnid:

Таким образом мы имеем все основания отвергнуть теорию о том, что рижская Яковлевская церковь построена в XIII веке в виде трехнефной зальной церкви, а в

О социально-экономических (Проблемах индустриализации сельского хозяйства. Труды по математике и механике. Труды по романо-германской филологии. Труды по