18.434: Seminar in Theoretical Computer Science The Tutte ...rpeng/18434_S15/tutteBerge.pdf ·...

2

Click here to load reader

Transcript of 18.434: Seminar in Theoretical Computer Science The Tutte ...rpeng/18434_S15/tutteBerge.pdf ·...

Page 1: 18.434: Seminar in Theoretical Computer Science The Tutte ...rpeng/18434_S15/tutteBerge.pdf · 18.434: Seminar in Theoretical Computer Science The Tutte Berge Formula YQ Lu Apr 30,

18.434: Seminar in Theoretical Computer Science

The Tutte Berge FormulaYQ Lu Apr 30, 2015

1. The Tutte-Berge formula: let the size of a maximum cardinality matching in Gbe denoted by ν(G). Then

ν(G) = minU⊆V

1

2(|V |+ |U | − o(G− U))

where o(G− U) is the number of odd cardinality connected components in G− U .Intuition:

(a) Consider any matching M and any subset U of V

(b) If we delete U from G (and all incident edges), we delete at most |U | edges ofthe matching

(c) We can trivially upper bound the size of the remaining matching in each re-maining connected component of G\U

(d) For even connected components Ki, max number of matched edges is |Ki|2

(e) For odd cardinality connected components Ki, max number of matched edges

is |Ki−1|2

(f) Rearranging this gives us the inequality version of Tutte-Berge

(g) U is not always unique!

2. The Blossom algorithm (covered in a previous talk) can be used to prove Tutte-Berge. Quick recap:

(a) Initialize M-alternating forest from exposed vertices in M (labeled ‘red’)

(b) For each vertex vm in M (say, via the edge (vm, v′m)) joined to a red vertex

vr, grow the M-alternating forest with (vr, vm) and (vm, v′m). Label vm and v′m

blue and red respectively.

(c) Use forest to find augmenting paths (alternating paths with start and endvertices exposed)

(d) If odd-length cycle (‘blossom’) encountered, shrink it to a point, recurse on G′

(e) Possible to lift augmenting path in G′ to augmenting path in G

1

Page 2: 18.434: Seminar in Theoretical Computer Science The Tutte ...rpeng/18434_S15/tutteBerge.pdf · 18.434: Seminar in Theoretical Computer Science The Tutte Berge Formula YQ Lu Apr 30,

3. Prove Tutte-Berge for bipartite graphs (the easy case)

(a) Build the M-alternating forest, iterate until no more edges can be added to thematching M

(b) Set B = {all blue vertices}, R = {all red vertices}(c) No two red vertices from the same tree can be joined by an edge (since bipartite

implies no odd cycles), and no two red vertices from different trees can be joinedby an edge (otherwise augmenting path implies algorithm has not terminated)

(d) Therefore in G\U , all red vertices are singletons (and are the only odd com-ponents), so |R| = o(G\B)

(e) All matched edges either have one blue vertex or two unlabeled vertices, i.e.|M | = |B|+ 1

2(|V |+ |B| − |R|)

(f) Combining this, we get |M | = 12(|V | + |B| − o(G\B)), so B is a witness set

(i.e. U) that proves M attains the maximum

(g) Digression: taking B ∪ {1 vertex from each matched edge with 2 unlabelledvertices} gives you a vertex cover, showing Konig’s theorem

4. Prove Tutte-Berge for non-bipartite graphs (the hard case)

(a) Prove by induction on size of G (base case |V | = 0 is trivial)

(b) When a blossom C of size 2k+1 is encountered, it is shrunk into a single vertexc

(c) The Blossom algorithm recurses on smaller graph G′ and eventually returns amaximum matching M ′ on G′

(d) By inductive hypothesis Tutte-Berge is true for G′ and there exists some U ′

that attains the equality (the blue vertices, as in earlier)

(e) Lift c back to C, adding k vertices to the matching (i.e. |M | = |M ′|+ k)

(f) Note that c in G′ must be red (by nature of the M-alternating forests), so c isnever part of U ′ in G′

(g) Define U = U ′ in G. Now |V | = |V ′|+ 2k, |U | = |U ′| and o(G\U) = o(G′\U ′)since odd components of G′\U ′ stay odd when c is expanded into C

(h) U and M attain equality for Tutte-Berge, proving that M is a maximum match-ing

5. Corollary that follows from Tutte-Berge (Tutte’s matching theorem): G has aperfect matching iff for all U ⊆ V , o(G\U) ≤ |U |.

2