CSE 421 Assignment #6
Spring 2016
Due: Friday, May 20, 2012.
Reading Assignment: Kleinberg and Tardos Chapter 7 (sections 7.3, 7.5, 7.6, 7.11), Chapter 8 (Section 8.1)
Problems: (see the Grading Guidelines
before answering)
- Kleinberg and Tardos, Chapter 7, Problem 13, pages 420-421.
- Kleinberg and Tardos, Chapter 7, Problem 23, pages 428-429.
- Kleinberg and Tardos, Chapter 7, Problem 19, pages 425-426.
- Extra credit: We saw how repeatedly augmenting along shortest
paths (given by a BFS each time) produced a better runtime analysis for general network flow.
In this problem you will do something similar in the special case of finding
a maximum matching in a bipartite graph
G=(V,E) where the two sides of V are X and Y, n=|V|, m=|E|.
The idea here will be to augment along many shortest paths at the same time.
In order for this to work, the paths better not share any edges. Your
algorithm will add the slightly stronger condition that the paths do not share
any vertices and will include as many shortest paths as possible at each step.
More precisely, at each round the new algorithm will simultaneously augment along all paths in
some maximal set
Pshort
of vertex-disjoint shortest
augmenting paths in the flow graph associated with the bipartite matching
problem. (In other words, if
df(s,t)
is the length of the shortest augmenting
path in the residual graph
Gf
then every path in
Pshort
has length
df(s,t)
and any other st-path of length
df(s,t)
shares at least one vertex other than s and t with a path in
Pshort.)
- Show how to find a set
Pshort
and do all the augmentations on its paths to get a flow f' in
time O(m+n).
- Prove that df'(s,t) ≥
df(s,t)+2.
- Given two matchings M and M' on graph G we can define
the symmetric difference,
M Δ M',
of M and M' to be the graph consisting of edges that occur in
exactly one of the two matchings.
M Δ M'
consists of a collection of vertex-disjoint paths and cycles (why?).
Show that if M' is a maximum matching and flow f corresponds to a
matching M of G then
- M Δ M'
contains exactly |M'|-|M| vertex-disjoint odd-length paths.
- Any path of odd length k in
M Δ M'
corresponds to an augmenting path of length k+2 in
Gf.
- Use these two properties to prove that once all augmenting paths in
Gf.
are of length at least k+2 then at
most n/k additional augmentations will produce a maximum flow (and hence
maximum matching).
- Use the above analysis with a suitable value of k to show that
this algorithm computes a maximum matching in O(n1/2m) time.