# Homework Assignment #4

#### (Due for off-campus by 3:00 pm EDT Tuesday 29 November 2005)

There are three questions for 100 total points. They are based on lectures 16-18, and thus on Chapter 7 of the Adler notes.

Students are responsible for understanding and following the academic honesty policies indicated on the course main page.

Problem numbers corrected 10 Nov 2005.

Edits in purple made 15 Nov 2005.

• Problem 4.1 (20): A boolean circuit may alternatively be defined as a straight-line program, a sequence of assignment statements s1,..., st where each si assigns the variable yi to the AND or OR of two variables, or the NOT of a variable. These variables must be either input variables or variables yj with j < i. A straight-line program computes a boolean function of its n boolean inputs, given by the last variable yt.

A straight-line program is defined to be satisfiable if there is at least one setting of the input variables making it return "true". The language CIRCUIT-SAT is the set of straight-line programs that are satisfiable. One version of the Cook-Levin Theorem says that CIRCUIT-SAT is NP-complete. Using this version only, prove that 3-SAT is NP-complete. Briefly explain why 3-SAT is in NP, then construct a poly-time reduction from CIRCUIT-SAT (as defined here) to 3-SAT.

• Problem 4.2 (35): Recall that the MAX-CUT problem takes an undirected graph G and a number k as input, and returns whether there is a cut in G of size at least k.

• (a,5) Define the problem MULTI-MAX-CUT to be the set of pairs (G,k) where G is an undirected multigraph, given as an adjacency matrix with non-negative integer entries, and G has a cut of size at least k. Prove that MULTI-MAX-CUT is NP-complete. (Hint: Reduce from ordinary MAX-CUT.)
• (b,15) Define the problem POINTED-MULTI-MAX-CUT to be the set of tuples (G,x,y,k) where G is an undirected multigraph, x and y are vertices of G, k is an integer, and G has a cut of size at least k that has x and y on opposite sides. Prove that POINTED-MULTI-MAX-CUT is NP-complete. (Hint: Reduce from MULTI-MAX-CUT. Can you adjust the multigraph so that the only cuts worth considering separate x from y?)
• (c,10) As defined in the notes, the language MAX-BISECTION is the set of pairs (G,k) where G is an undirected graph with an even number of vertices, and there is a cut in G of size at least k such that each side of the cut has the same number of vertices. Prove that MAX-BISECTION is NP-complete. (Hint: Adapt the proof in the notes and slides that MAX-CUT is NP-complete. You may refer to this proof as needed.)
• (d,5) The language MIN-BISECTION is defined just like MAX-BISECTION except that the size of the cut must be at most k. Prove that MIN-BISECTION is NP-complete. (Hint: There is an easy reduction from MAX-BISECTION.)
• Problem 4.3 (45): Let A be a problem in NP, defined so that for any string x, x is in A iff ∃y:(x,y)∈B, where B is poly-time decidable. Furthermore, B has the property that (x,y) can be in B only if |y| = f(|x|), where f is a poly-time computable function.

Define the language C to be the set of all pairs (x,y) such that there exists a string z such that (x,yz) is in B. That is, C contains x and a partial witness for x, a string that can be extended to prove that x is in A.

• (a,10) Show that if C is Karp-reducible to A, then the search problem associated with A (given input x, find a y such that (x,y)∈B, if one exists) is Cook-reducible to A.
• (b,10) Consider the optimization problem of finding the lexicographically first y such that (x,y)∈B, if any such y exists. Recall that all such y have the same length. Show that if C if Karp-reducible to A, then this optimization problem is Cook-reducible to A.
• (c,10) Let A be the CLIQUE problem and let B be the set of triples (G,k,y) where G is an undirected graph with n vertices and y is a bitvector with k ones and n-k zeroes, indicating a set of vertices in G that is a CLIQUE. Show that with C defined as above for these languages A and B, C is Karp-reducible to A.
• (d,15) Now let A be the POINTED-MULTI-MAX-CUT problem from Problem 4.2(b), and let B be the set of tuples (G,x,y,k,b) where G is a multigraph of n vertices, x and y are vertices, k is a number, and b is a bitvector indicating a cut in G with x and y on opposite sides and size at least k. Show that with C defined as above for these languages A and B, C is Karp-reducible to A.

(This problem originally incorrectly talked about reductions to B. Since B is in P, such reductions don't exist unless P = NP.