Transcript Slide 1
Matchings and where they
lead us
László Lovász
Microsoft Research
[email protected]
Bipartite matching and the Hungarian method
Existence and min-max Theorem:
Frobenius 1912, 1917
König
1915, 1931
Egerváry 1931
Polynomial time algorithm:
Kuhn 1955
Structure theory:
König 1916
Dulmage-Mendelssohn
1958-59
Bipartite matching
and the Hungarian method
Nonbipartite matching
Nonbipartite matching
Existence and min-max Theorem:
Tutte 1947
Polynomial time algorithm:
Edmonds 1965
Structure theory:
Gallai 1963
Edmonds 1965
Kotzig 1959-60
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Alternating paths
Maximum flow:
Ford-Fulkerson 1956
Matroid intersection:
Edmonds 1969
Matroid matching:
Lovász 1980
Stable sets in claw-free graphs:
Minty, Sbihi 1980
Jump systems:
Boucher, Cunningham
1995
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Linear programming
Linear programming
Total unimodularity:
Hoffman-Kuhn 1956
Hoffman-Kruskal 1956
Total dual integrality:
Hoffman 1970
Edmonds-Giles 1977
Perfect graphs:
Berge 1959
Fulkerson 1971
Lovász 1972
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Linear programming
Polyhedral combinatorics
Polyhedral combinatorics
The matching polytope:
Equivalence of separation and
optimization:
Edmonds 1965
Grötschel-Lovász-Schrijver
1981
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Determinants
Linear programming
Polyhedral combinatorics
æ0 1 0 0 1 0ö
÷
çç
÷
çç1 0 1 0 0 0÷
÷
÷
çç
÷
çç1 1 0 1 0 1 ÷
÷
÷
÷
çç
÷
çç0 0 1 0 1 0÷
÷
÷
çç
÷
÷
1
0
0
1
1
1
÷
çç
÷
çç0 0 1 0 1 0÷
÷
è
ø
æ0 x12 0 0 x15 0 ÷
ö
ç
÷
ç
÷
ç
÷
x
0
x
0
0
0
ç
21
23
÷
ç
÷
ç
÷
ç
x31 x32 0 x34 0 x36 ÷
÷
ç
÷
ç
÷
ç
÷
ç
0
0
x
0
x
0
÷
4
3
45
ç
÷
ç
÷
ç
÷
x
0
0
x
x
x
ç
51
54 55 56 ÷
÷
ç
÷
ç
ç
÷
è0 0 x63 0 x65 0 ÷
ø
æ
ö
0 x12 0 0 x15 0 ÷
ç
÷
ç
÷
ç
÷
x
0
x
0
0
0
ç
21
23
÷
ç
÷
ç
÷
ç
x31 x32 0 x34 0 x36 ÷
÷
ç
÷
det ç
= ... ± x12 x21 x36 x43 x54 x65 m ...
÷
ç
÷
ç
0
0
x
0
x
0
÷
43
45
ç
÷
ç
÷
ç
÷
x
0
0
x
x
x
ç
51
54 55 56 ÷
÷
ç
÷
ç
ç
÷
è0 0 x63 0 x65 0 ÷
ø
Determinants
Determinants vs. bipartite
perfect matchings:
König 1915
Determinants vs. non-bipartite
perfect matchings:
Tutte 1947
Linear algebra and
bipartite matching:
Perfect 1966
Edmonds 1967
Generic rigidity, geometric representations,...
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Determinants
Randomized algorithms
Linear programming
Polyhedral combinatorics
Randomized algorithms (just substitute)
Bipartite graphs:
Edmonds 1967
Running time analysis:
Schwarz 1978
Lovász 1979
Exact matching: only by random substitution!
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Determinants
Randomized algorithms
Linear programming
Polyhedral combinatorics
Counting
æ
ö
0
x
0
0
x
0
12
15
÷
ç
÷
ç
ç
÷
x21 0 x23 0 0 0 ÷
ç
÷
ç
÷
ç
÷
ç
÷
x
x
0
x
0
x
31 32
34
36 ÷
ç
÷
det ç
= ... ± x12 x21 x36 x43 x54 x65 m ...
÷
ç
÷
ç
0 0 x43 0 x45 0 ÷
ç
÷
ç
÷
ç
÷
x
0
0
x
x
x
÷
ç
51
54
55
56
÷
ç
÷
ç
÷
ç
è0 0 x63 0 x65 0 ÷
ø
Substitute +1 or -1 to compensate for the sign? (Polya)
Substitute randomly and take expectation?
Counting
Planar graph:
Characterization:
Kasteleyn 1957
McCuaig-Robertson
-Seymour-Thomas 1997
Approximate, determinants:
Godsil-Gutman 1980
E(det( A(...xij ...)2 )) = # perfect matchings
When is the variance small?
Approximate, by sampling:
Alternating path
strikes back
Jerrum-Sinclair 1988
Four problems for NP
Property in NP:
$X : A ( X , Y ) = true
Witness of a property in NP: X : A ( X , Y ) = true
Existence:
language in NP
Optimization:
find optimal
witness
Counting:
number of witnesses
Sampling:
generate random
witness
Bipartite matching
and the Hungarian method
Nonbipartite matching
Alternating paths
Determinants
Randomized algorithms
Linear programming
Polyhedral combinatorics
Counting
Sampling
Sampling
Markov chain sampling:
Broder 1986
Rapid mixing proof (dense graphs): Jerrum-Sinclair 1988
Extension to non-dense, bipartite:
Jerrum-Sinclair-Vigoda
2002
model for sampling from knapsack solutions,
contingency tables, convex bodies, eulerian orientations,...
#perfect matchings
1
<
Þ
#near-perfect matchings poly(n)
takes long to get
perfect matching
#perfect matchings
1
³
Þ
#near-perfect matchings poly(n)
often gets
perfect matching
+
mixes in poly time
How about non-bipartite non-dense graphs?