CMPSCI 601: Theory of Computation

David Mix Barrington

Due Mon 11 August 2003, by fax to 413-545-1249 ("attention Prof. Barrington") by 2:00 p.m. EDT

Make sure you have read the statement on academic honesty on the homework assignment index page.

• Question 1 (30): Remember that the language 3-COLOR, the set of all undirected graphs that can be vertex-colored with three colors, is NP-complete. Here we consider some potential approximation schemes for this problem.

• (a,10) Suppose we had a poly-time algorithm that inputs an undirected graph and produces a coloring that used at most 5/4 times the optimal number of colors. Prove that in this case P=NP. (green text added 7 August 2003)

• (b,10) Suppose that we had a poly-time algorithm that inputs an undirected graph and produces a 3-coloring that is within one of optimal in terms of the number of correct vertices. That is, if there is a 3-coloring in which k of the n vertices are colored correctly, the algorithm produces a coloring with at least k-1 vertices colored correctly. (A vertex is colored correctly if all its neighbor's colors are different from its own color.) Prove that P=NP in this case.

• (c,10) Suppose that we had a poly-time algorithm that inputs an n-vertex undirected graph and produces a coloring that has within sqrt(n) of the optimal number of correct vertices. That is, if there is a coloring with k vertices correct, it gets more than k - sqrt(n) vertices correct. Prove that P=NP in this case.

• Question 2 (30): Recall the ITERATED-PRODUCT problem from Question 2, HW#4:

• Input: a multiplication table for a group (a function from G times G to G obeying the group properties), and a sequence of elements of the group (a string w in G*). Note that if n is the input size, G has at most n elements and the length of w is at most n.

• Output: the product of the elements in the sequence.

Here are three questions concerning this problem:

• (a,5) Explain why, given results proved in HW#4 and in lecture, the ITERATED-PRODUCT problem is in the class AC1.

• (b,15) Describe an AC1 circuit family for this problem directly.

• (c,10) Prove that the special case of ITERATED-PRODUCT, where the group has only O(1) elements, is in the class NC1.

• Question 3 (25): Consider the following game played on an undirected graph G with n vertices. There are two players, and at any time each player occupies a vertex of G. On their move, a player may move from their current vertex to an adjacent vertex. There is a "victory table" V, where V is a set of pairs of vertices of G. Player 1 wins if at any time during the game, the pair (x,y) is in V where x is Player 1's position and y is player 2's position. Player 2 wins if the game continues for n moves without player 1 winning.
• (a,15) Describe a log-space alternating Turing machine M such that L(M) is the set {(G,V,x,y): Player 1 wins the game on G and V with starting position (x,y) under optimal play}.
• (b,10) Without using alternation, describe a poly-time decision procedure for this language. (Hint: make a table of all possible positions in the game.)

• Question 4 (15): Consider the following approximation algorithm for the VERTEX-COVER problem.

``````
Input: undirected graph G
for all nodes v
{mark(v) = false;}
edgeSet = empty set;
while there is an edge (x,y) with mark(x) = mark(y) = false
{edgeSet = edgeSet union {(x,y)}
mark(x) = true;
mark(y) = true;
for all nodes z adjacent to either x or y
{mark(z) = true;}
}
return edgeSet;
``````

Explain why this nondetermistic algorithm must produce a vertex cover. What is the approximation ratio of this algorithm for the MAX-VERTEX-COVER optimization problem?