CMPSCI 601: Theory of Computation
David Mix Barrington
Spring, 2003
Homework Assignment #6
Due by Wednesday 23 Apr 2003 9:05 a.m.
(Wed 30 Apr for off-campus students)
- Question 1 (10 points): Following the discussion
at the end of Lecture 17, prove that log-space reducibility is
transitive. That is, prove that for any three languages A, B, and C,
if A ≤ B and B≤ C, then A ≤ C.
- Question 2 (30 points):
For each of the following languages, either prove that it is in L
(deterministic logspace) or prove that it is NL-complete. Recall that
if you prove the complement of a language to be NL-complete, you can
conclude by Immerman-Szelepcsenyi that the language itself is NL-complete:
- (a) ADFA = {(D,w): D is a DFA and w is in L(D)}
- (b) ANFA = {(N,w): N is an NFA and w is in L(N)}
- (c) EMPTY-DFA = {D: D is a DFA and L(D) is empty}
- (d) EMPTY-NFA = {N: N is an NFA and L(N) is empty}
- Question 3 (30 points):
This question deals with the HORN-SAT problem. HORN-SAT is the
subproblem of SAT where the CNF formula is required to be Horn,
meaning that each clause has at most one positive literal. We argued
in Lecture 10 that HORN-SAT is in P, and here we will show in two
ways that it is complete for P under logspace reductions.
- Consider the proof of Fagin's Theorem in Lecture 18. Suppose that
the Turing machine being considered is deterministic (so there is
no Δ variable). Explain why every clause in the SO∃
formula has at most one C predicate occurring positively. Explain
why this gives us a Horn-CNF propositional formula that is satisfiable
iff the machine accepts the input.
- Recall the Circuit Value Problem CVP, defined to be {(C,x): C
is a boolean circuit that outputs 1 on the boolean inputs x}. We will
show in lecture that CVP is P-complete. Show CVP ≤ HORN-SAT as
follows. For every gate g in the circuit, define two boolean variables
g and ng. Define Horn clauses for each gate so that g is forced to
be true iff the gate evaluates to true, and ng is forced to be true
otherwise. (There are three cases: g = (h AND i), g = (h OR i), and
g = NOT (h). In each case write Horn clauses involving the variables
g, ng, h, nh, i, and ni.)
- Question 4 (10 points):
Do Problem 9.5.33 (a) on page 216-7 of [P]. You will find it helpful
to use the special case of KNAPSACK proved to be NP-complete in Theorem
9.10 on page 202.
- Question 5 (10 points):
Carefully prove the Corollary on page 201 of [P] by describing reductions
from TRIPARTITE MATCHING to each of the three sets mentioned.
- Question 6 (10 points):
Suppose you have a polynomial-time algorithm for 3-COLOR. Explain how, using
calls to this algorithm, you can input a 3-colorable graph and output a
3-coloring of it in polynomial time. (Note that this is non-trivial because
your given algorithm only tells you that the 3-coloring exists, not what it
is.)
Last modified 10 April 2003