maximum matching in general graphs

43
Maximum Matching in General Graphs Ahmad Khayyat Department of Electrical & Computer Engineering [email protected] Course Project CISC 879 — Algorithms and Applications Queen’s University November 19, 2008 ECE @ Queen’s Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs 1

Upload: ahmad-khayyat

Post on 19-May-2015

10.950 views

Category:

Education


4 download

DESCRIPTION

In graph theory, a matching is a subset of a graph's edges such hat no two edges meet the same vertex. A matching is maximum if no other matching contains more edges. A trivial solution (exhaustive search) to the problem of finding a maximum matching has exponential complexity. We illustrate polynomial time solutions to the problem that were published between 1965 and 1991.

TRANSCRIPT

Page 1: Maximum Matching in General Graphs

Maximum Matching in General Graphs

Ahmad Khayyat

Department of Electrical & Computer Engineering

[email protected]

Course ProjectCISC 879 — Algorithms and Applications

Queen’s University

November 19, 2008

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 1

Page 2: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Outline

1 Introduction

2 Paths, Trees and Flowers

3 Efficient Implementation of Edmonds’ Algorithm

4 Reachability Problem Approach

5 Conclusion

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 2

Page 3: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Outline

1 IntroductionTerminologyBerge’s TheoremBipartite Matching

2 Paths, Trees and Flowers

3 Efficient Implementation of Edmonds’ Algorithm

4 Reachability Problem Approach

5 Conclusion

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 3

Page 4: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Terminology

Maximum Matching

G = (V,E) is a finite undirected graph: n = |V |,m = |E|.A matching M in G, (G,M), is a subset of its edges suchthat no two meet the same vertex.

M is a maximum matching if no other matching in Gcontains more edges than M .

A maximum matching is not necessarily unique.

Given (G,M), a vertex is exposed if it meets no edge in M .

M

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 4

Page 5: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Terminology

Augmenting Paths

An alternating path in (G,M) is a simple path whose edgesare alternately in M and not in M .

An augmenting path is an alternating path whose ends aredistinct exposed vertices.

v1 v2 v3

v4v5v6

v1 v2 v3

v4v5v6

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 5

Page 6: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Berge’s Theorem

Berge’s Theorem

Berge’s Theorem (1957)

A matched graph (G,M) has an augmenting path if and only if Mis not maximum.

v1 v2 v3

v4v5v6

v1 v2 v3

v4v5v6

Unique?

An Exponential Algorithm:Exhaustively search for an augmenting path starting from anexposed vertex.

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 6

Page 7: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Bipartite Matching

Bipartite Graphs

A bipartite graph G = (A,B,E) is a graph whose vertices canbe divided into two disjoint sets A and B such that everyedge connects a vertex in A to one in B.

Equivalently, it is a graph with no odd cycles.

1 A

C

D

E

B

4

3

2

5

1

2

3

A

B

4

5

D

C

E

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 7

Page 8: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Bipartite Matching

Bipartite Graph Maximum Matching

O(nm)

for all v ∈ A, v is exposed doSearch for simple alternating paths starting at vif path P ends at an exposed vertex u ∈ B thenP is an augmenting path {Update M}

end ifend forCurrent M is maximum {No more augmenting paths}

1

2

3

A

B

4

5

D

C

E

1

2

3

A

B

4

5

D

C

E

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 8

Page 9: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Bipartite Matching

Bipartite Graph Maximum Matching

O(nm)

for all v ∈ A, v is exposed doSearch for simple alternating paths starting at vif path P ends at an exposed vertex u ∈ B thenP is an augmenting path {Update M}

end ifend forCurrent M is maximum {No more augmenting paths}

1

2

3

A

B

4

5

D

C

E

1

2

3

A

B

4

5

D

C

E

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 8

Page 10: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Bipartite Matching

Non-Bipartite Matching

Problem: Odd cycles . . .

1 2 3

4

5

6

1 2 3

46

5

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 9

Page 11: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Outline

1 Introduction

2 Paths, Trees and FlowersBlossomsThe Algorithm

3 Efficient Implementation of Edmonds’ Algorithm

4 Reachability Problem Approach

5 Conclusion

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 10

Page 12: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Blossoms

Blossoms

Blossoms

A blossom B in (G,M) is an odd cycle with a unique exposedvertex (the base) in M ∩B.

1 2 3

4

5

6

1 2 3

46

5

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 11

Page 13: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Blossoms

Edmonds’ Blossoms Lemma

Blossoms Lemma

Let G′ and M ′ be obtained by contracting a blossom B in (G,M)to a single vertex.The matching M of G is maximum iff M ′ is maximum in G′.

1 2 3

4

5

6

1 2 B 6

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 12

Page 14: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Blossoms

Detecting Blossoms

Performing the alternating path search of the bipartitematching algorithm (starting from an exposed vertex):

ë Label vertices at even distance from the root as “outer”;ë Label vertices at odd distance from the root as “inner”.

If two outer vertices are found adjacent, we have a blossom.

1 2 3

4

5

6O I O

I

O

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 13

Page 15: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Edmonds’ Algorithm (1965)

O(n2)O(n3)

for all v ∈ V , v is exposed doSearch for simple alternating paths starting at v

Shrink any found blossomsif path P ends at an exposed vertex thenP is an augmenting path {Update M}

else if no augmenting paths found thenIgnore v in future searches

end ifend forCurrent M is maximum {No more augmenting paths}

Complexity: O(n4)

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 14

Page 16: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10 9

8

5 6

7

B1B2

O I O I

O

I

O

OO

I

O

OI

B1 = 5, 6, 7B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 17: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10 9

8

5 6

7

B1B2

O I O I

O

I

O

OO

I

O

OI

B1 = 5, 6, 7B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 18: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10 9

8

5 6

7

B1

B2

O I O I

O

I

O

O

O

I

O

OI

B1 = 5, 6, 7

B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 19: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10 9

8

5 6

7

B1

B2

O I O I

O

I

O

O

O

I

O

OI

B1 = 5, 6, 7

B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 20: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10

9

8

5 6

7

B1

B2

O I O I

O

I

O

OO

I

O

OI

B1 = 5, 6, 7B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 21: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10

9

8

5 6

7

B1

B2

O I O I

O

I

O

OO

I

O

OI

B1 = 5, 6, 7B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 22: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4

|M | = 5

1 2 3 4

10 9

8

5 6

7

B1

B2

O I O I

O

I

O

OO

I

O

OI

B1 = 5, 6, 7B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 23: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Example

|M | = 4 |M | = 5

1 2 3 4

10 9

8

5 6

7

B1B2

O I O I

O

I

O

OO

I

O

OI

B1 = 5, 6, 7B2 = B1, 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15

Page 24: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Outline

1 Introduction

2 Paths, Trees and Flowers

3 Efficient Implementation of Edmonds’ AlgorithmData StructuresThe AlgorithmPerformance

4 Reachability Problem Approach

5 Conclusion

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 16

Page 25: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Data Structures

Three Arrays

u is an exposed vertex.

A vertex v is outer if there is a path P (v) = (v, v1, . . . , u),where vv1 ∈M .

1 MATE: Specifies a matching. An entry for each vertex:

ë vw ∈M ⇒ MATE (v) = w and MATE (w) = v.

2 LABEL: Provides a type and a value:

LABEL(v) ≥ 0 → v is outer

LABEL(u) → start label, P (u) = (u)

1 ≤ LABEL(v) ≤ n → vertex label

n+ 1 ≤ LABEL(v) ≤ n+ 2m → edge label

3 START (v) = the first non-outer vertex in P (v).

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 17

Page 26: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Gabow’s Algorithm (1976)

O(n)

O(1)O(n)

O(n)O(n)

O(n)O(1)

for all u ∈ V, u is exposed dowhile ∃ an edge xy, x is outer AND

no augmenting path found doif y is exposed, y 6= u then

(y, x, . . . , u) is an augmenting pathelse if y is outer then

Assign edge labels to P (x) and P (y)else if MATE (y) is non-outer then

Assign a vertex label to MATE (y)end if

end whileend for

Complexity: O(n3)

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 18

Page 27: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Gabow’s Algorithm (1976)

O(n)

O(1)O(n)

O(n)O(n)

O(n)O(1)

for all u ∈ V, u is exposed dowhile ∃ an edge xy, x is outer AND

no augmenting path found doif y is exposed, y 6= u then

(y, x, . . . , u) is an augmenting pathelse if y is outer then

Assign edge labels to P (x) and P (y)else if MATE (y) is non-outer then

Assign a vertex label to MATE (y)end if

end whileend for

Complexity: O(n3)

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 18

Page 28: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Performance

Experimental Performance

Using an implementation in Algol W on the IBM 360/165

Worst-case graphs:

ë Efficient Implementation: run times proportional to n2.8.ë Edmond: run times proportional to n3.5.

Random graphs: times one order of magnitude faster thanworst-case graphs.

Space used is 5n+ 4m.

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 19

Page 29: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Outline

1 Introduction

2 Paths, Trees and Flowers

3 Efficient Implementation of Edmonds’ Algorithm

4 Reachability Problem ApproachReachability and GraphsThe Algorithm

5 Conclusion

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 20

Page 30: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Reachability and Graphs

The Reachability Problem in Bipartite Graphs

Construction:

Bipartite graph + Matching → Directed graphG = (A,B,E) + M → G′ = (V ′, E′)

ë V ′ = V ∪ {s, t}ë ∀ xy ∈M,x ∈ A, y ∈ B → (x, y) ∈ E′ e ∈M ⇒ e : A→ B

ë ∀ xy /∈M,x ∈ A, y ∈ B → (y, x) ∈ E′ e /∈M ⇒ e : B → A

ë ∀ b ∈ B, b is exposed → add (s, b) to E′

ë ∀ a ∈ A, a is exposed → add (a, t) to E′

A1

A2

B1

B2

=⇒

A1

A2

B1

B2

t s

An augmenting path in G ⇔ A simple path from s to t in G′.

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 21

Page 31: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Reachability and Graphs

The Reachability Problem in Bipartite Graphs

Construction:

Bipartite graph + Matching → Directed graphG = (A,B,E) + M → G′ = (V ′, E′)

ë V ′ = V ∪ {s, t}ë ∀ xy ∈M,x ∈ A, y ∈ B → (x, y) ∈ E′ e ∈M ⇒ e : A→ B

ë ∀ xy /∈M,x ∈ A, y ∈ B → (y, x) ∈ E′ e /∈M ⇒ e : B → A

ë ∀ b ∈ B, b is exposed → add (s, b) to E′

ë ∀ a ∈ A, a is exposed → add (a, t) to E′

A1

A2

B1

B2

=⇒

A1

A2

B1

B2

t s

An augmenting path in G ⇔ A simple path from s to t in G′.

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 21

Page 32: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Reachability and Graphs

The Reachability Problem in General GraphsConstruction

For each v ∈ V , we introduce two nodes vA and vB

V ′ = {vA, vB|v ∈ V } ∪ {s, t} s, t /∈ V, s 6= t

e ∈M ⇒ e : A→ B, e /∈M ⇒ e : B → A

E′ = {(xA, yB), (yA, xB) | (x, y) ∈M}∪ {(xB, yA), (yB, xA) | (x, y) /∈M}∪ {(s, xB) |x is exposed} ∪ {(xA, t) |x is exposed}

1 2

4 3

=⇒1A

1B

2A

2B

3A

3B

4A

4B

s

t

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 22

Page 33: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Reachability and Graphs

The Reachability Problem in General GraphsStrongly Simple Paths

A path P in G′ is strongly simple if:

P is simple.vA ∈ P ⇒ vB /∈ P .

Theorem

There is an augmenting path in G if and only if there is a stronglysimple path from s to t in G′.

1 2

4 3

=⇒1A

1B

2A

2B

3A

3B

4A

4B

s

t

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 23

Page 34: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Reachability and Graphs

Solving the Reachability Problem

Solution: A strongly simple path from s to t in G′:

Depth-First Search (DFS) for t starting at s.

DFS finds simple paths.

We need to find strongly simple paths only.

We use a Modified Depth-First Search (MDFS) algorithm.

Example:

1 2

4 3

=⇒1A

1B

2A

2B

3A

3B

4A

4B

s

t

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 24

Page 35: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Reachability and Graphs

Solving the Reachability Problem

Solution: A strongly simple path from s to t in G′:

Depth-First Search (DFS) for t starting at s.

DFS finds simple paths.

We need to find strongly simple paths only.

We use a Modified Depth-First Search (MDFS) algorithm.

Example:

1 2

4 3

=⇒1A

1B

2A

2B

3A

3B

4A

4B

s

t

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 24

Page 36: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Data Structures

Stack K

ë TOP(K): the last vertex added to the stack K.ë Vertices in K form the current path.ë In each step, the MDFS algorithm considers an edge

(TOP(K), v), v ∈ V ′.

List L(vA)ë To get a strongly simple path, vA and vB cannot be in K

simultaneously (we may ignore a vertex, temporarily).ë List L(vA) keeps track of such vertices.

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 25

Page 37: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

Hopcroft and Karp Algorithm for Bipartite Graphs (1973)

Step 1: M ← φ

Step 2: Let l(M) be the length of a shortest augmenting path of MFind a maximal set of paths {Q1, Q2, . . . , Qt} such that:

2.1 For each i, Qi is an augmenting path of M , |Qi| = l(M),Qi are vertex-disjoint.

2.2 Halt if no such paths exists.

Step 3: M ←M ⊕Q1 ⊕Q2 ⊕ · · · ⊕Qt; Go to 1.

Hopcroft and Karp Theorem

If the cardinality of a maximum matching is s, then this algorithmconstructs a maximum matching within 2b

√sc+ 2 executions of

Step 2.

Step 2 complexity: O(m)⇒ Overall complexity: O(√nm)

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 26

Page 38: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

The Algorithm

An O(√

nm) Algorithm for General Graphs

Blum describes an O(m) implementation of Step 2 for generalgraphs, using a Modified Breadth-First Search (MBFS).

Blum’s Step 2 Algorithm:

Step 1: Using MBFS, compute G′

Step 2: Using MDFS, compute a maximal set of strongly simple pathsfrom s to t in G′.

Blum’s Theorm

A maximum matching in a general graph can be found in timeO(√nm) and space O(m+ n).

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 27

Page 39: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Outline

1 Introduction

2 Paths, Trees and Flowers

3 Efficient Implementation of Edmonds’ Algorithm

4 Reachability Problem Approach

5 ConclusionSummaryQuestions

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 28

Page 40: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Summary

Summary

1965

Edmonds

O(n4)

1976

Gabow’sIm

plementation

O(n3)

1980

Micali &

Vazirani

O(n2.5)

1989

Vazirani’sProof

1990

Blum

O(n2.5)

1991

Gabow

O(n2.5)

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 29

Page 41: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Summary

References

Jack EdmondsPaths, Trees, and FlowersCanadian Journal of Mathematics, 17:449–467, 1965.

http://www.cs.berkeley.edu/~christos/classics/edmonds.ps

Harold N. GabowAn Efficient Implementation of Edmonds’ Algorithm forMaximum Matching on GraphsJournal of the ACM (JACM), 23(2):221–234, 1976.

Norbert BlumA New Approach to Maximum Matching in General GraphsLecture Notes in Computer Science: Automata, Languages and Programming,

443::586–597, Springer Berlin / Heidelberg, 1990.

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 30

Page 42: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Summary

Thank You

Thank You!

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 31

Page 43: Maximum Matching in General Graphs

Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion

Questions

Questions

???

ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 32