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 s_{1},..., s_{t}where each s_{i}assigns the variable y_{i}to the AND or OR of two variables, or the NOT of a variable. These variables must be either input variables or variables y_{j}with j < i. A straight-line program computes a boolean function of its n boolean inputs, given by the last variable y_{t}.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.)

- (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
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.

Last modified 15 November 2005