CSPP 55005 Algorithms — Winter 2013

Homework 8 (assigned February 28, due March 6)

Reading: CLRS chapter 35.

Written assignment: Solve the following "Do" exercises and assigned problems. Only solutions to the assigned problems should be turned in.

"Do" Exercises (not to be handed in):

  1. Exercise 35.1-2, page 1111.

  2. Exercise 35.1-3, page 1111.

  3. Exercise 35.1-5, page 1111.

  4. Exercise 35.2-3, page 1117.

  5. Exercise 35.2-4, page 1117.

  6. Exercise 35.2-5, page 1117.

  7. Exercise 35.3-2, page 1122.

  8. Exercise 35.3-5, page 1122.

Problems (to be handed in):

  1. Give an O(V + E) algorithm that finds an optimal vertex cover for a tree. Input is an undirected tree T = (V, E) in adjacency list format.

  2. Show that for any integer n that is a power of 2, there is an instance of the Set Cover problem with the following properties:
    1. There are n elements in the base set X.
    2. The optimal set cover uses just two sets.
    3. The greedy Set Cover algorithm picks at least log n sets.
    Thus the log n approximation ratio we derived in class is tight. (5 points)

  3. Problem 35-3, page 1135. (9 points: 5 points for the algorithm (write pseudocode); 4 points for justification of the approximation ratio.)

  4. Problem 35-4, page 1135. (25 points: part a, 2 points; part b (write pseudocode), 8 points; part c, 5 points; part d, 2 points; part e, 4 points; part f, 4 points.)

  5. Problem 35-6, page 1137. (20 points: part a, 2 points; part b, 2 points; part c, 4 points; part d, 4 points; part e (write pseudocode), 8 points.)

  6. Recall: a cut of an undirected graph G = (V, E) is a partition of V into two disjoint subsets S and VS. An edge (u, v) crosses the cut (S, VS) if one of its endpoints is in S and the other is in VS. The MAX-CUT problem is the problem of finding a cut of an undirected connected graph G = (V, E) that maximizes the number of edges crossing the cut. Give an efficient deterministic approximation algorithm for this problem with an approximation ratio of 2. (Hint: your algorithm should guarantee that the number of edges crossing the cut is at least half the total number of edges.)

Gerry Brady and Janos Simon
Thursday February 28 12:50:52 CST 2013