MS&E 217/317,
Combinatorial Optimization, Autumn
2003-04.Instructor: Ashish Goel
Handout 13
Practice Problems for the
finals, for material not covered by the HWs.
I will not be able to give out solutions to these problems. However, I
will post brief hints on Friday. Also, if anyone submits their solutions by Sat
Dec 6th evening (by slipping them under my door), I will return them
with comments on Monday afternoon during my office hours.
1.
Stable Marriages: We will do a probabilistic analysis of the algorithm of
Gale and Shapley. Suppose that each man ranks all the women in a completely
random order, independent of all other men.
(a)
Suppose there are k women who
have not yet been proposed to. Then there must be k unengaged men. Prove that
the probability that the next proposal goes to an unengaged woman is at least
k/n.
(b)
Use (a) to prove that the
expected number of proposals before one more woman becomes engaged is at most
n/k.
(c)
Now argue that the expected
total number of proposals before the algorithm terminates is O(n log n). Use the
fact that the j-th Harmonic number Hj = 1 + 1/2 + 1/3 + 1/4 + … 1/j
is O(log j).
2. Matchings.
(a)
A maximal matching M’ in a
graph is a matching whose size cannot be increased by simply adding an
additional edge. If M is a maximum matching, then prove that |M| <= 2|M’|.
(b)
Prove that there always
exists a series of augmentations such that Edmond’s algorithm does not
encounter any blossoms.
(c)
Prove that if a graph does
have odd circuits, there always exists a series of possible actions in Edmond’s
algorithm that will result in the detection and contraction of a blossom.
(d)
[317 only] The permanent of
an n X n matrix A, denoted Per(A), is . Here S(n) is the set of all permutations of n numbers.
Informally, the permanent is like the determinant, but without the sign
inversions. In fact, the permanent is incredibly hard to compute – it is
believed to not even be in NP. Consider an undirected bipartite graph G = (V,E)
with each partition being of size n. Let Ai,j = 1 if (i,j) is in E,
and 0 otherwise. Establish a connection between Per(A) and the number of
perfect matchings in G. Give a polynomial time algorithm to compute whether
Per(A) is non-zero.
(e)
[317 only] Show by example
that if G = (V,E) is a graph, M is a matching of G, and b a blossom, then the
following may fail to be true: There is an M-augmenting path in G iff there is
an (M/b)-augmenting path in G/b. Why does this not contradict the theorem we
stated in class which formed the basis of blossom shrinking in Edmond’s
algorithm?
(f)
The bottleneck matching
problem is the following: Given a graph G=(V,E) and a weight w defined on the
edges, find a perfect matching M (if one exists) such that the maximum weight
of an edge in M is minimized. Hint: Use binary search on top of Edmond’s
algorithm.
3. NP
completeness and approximation algorithms.
(a)
Prove that König’s lemma does
not hold for non-bopartite graphs.
(b)
Prove that if C is the
smallest vertex cover of a graph, M is a maximum matching, and M’ is a maximal
matching, then |M’| |M| |C| 2|M’|. Use this fact,
along with a simple algorithm for maximal matchings, to obtain a polynomial
time 2-approximation for the optimization version of the VERTEX-COVER problem
(i.e. finding a minimum vertex cover). It is desirable, but not necessary, that
your algorithm run in time O(m+n).
(c)
A subset S of V is said to be
a clique in G=(V,E) if every pair of nodes in S is connected by an edge. The decision
problem CLIQUE takes an input of (G,k). The answer is YES if G has a clique of size
at least k and NO otherwise. Prove that CLIQUE is NP-complete. Hint: Use a
reduction from Vertex-Cover. Further hint: What is the relation between a
clique in G and a vertex cover in GC, where the complement graph GC
has the same vertices as G but a complementary set of edges?
(d)
[317 only] The optimization
version of the CLIQUE problem is to find a largest clique in G. What does the
2-approximation for VERTEX-COVER imply for the CLIQUE problem in terms of its approximability?