Question text is in black, solutions are in blue.
TRUE. (NC1 is contained in L, which is strictly contained in PSPACE by the Space Hierarchy Theorem.)
FALSE. (Follows from (a).)
UNKNOWN. (Equivalent to P = PSPACE.)
UNKNOWN. (Equivalent to P = NP.)
TRUE. (A DTM can systematically search through all paths of the NDTM looking for an accepting one.)
We construct a p(n) by p(n) array of cells, each representing one cell of
M's single tape at some time step during the computation. The contents and
possible head presence and machine state of this cell and this time are
represented by O(1) circuit gates. These gates for cell (x,t) have edges
coming from cells (x-1,t-1), (x,t-1), and (x+1,t-1) that compute the value
of the cell given those three previous cells. (Since the head only moves
one step, the contents of cell x at time t depend only on the three nearby
cells at time t-1.) The inputs to the circuit are used to set the contents
of the t=0 cells of this array, and the output gate of the circuit tests
whether cell (0,p(n)) has the head present in the accept state.
Each cell has O(1) gates to represent its contents and compute them from
the O(1) other gates on the previous row of the array. Since there are
p2(n) cells in the array, the total size of the circuit is
O(p2(n)), a polynomial.
The circuit is log-space uniform because each cell of our array looks
the same, varying only in the number of the the gates connected to it. A
logspace machine looping through all x and all t can produce each cell (x,t)
in turn and thus print out a description of the entire circuit.
Prove that these two definitions are equivalent, that is, that for any language E, E satisfies Definition 1 iff it satisfies Definition 2.
If E satisfies Definition 1, the machine N exists. We define the predicate
F(x,y) as follows. Given two strings x and y, the decider for F(x,y) will
run N on input x, using the letters of y to determine its nondeterministic
choice at each step. F(x,y) is true iff N, with this choice sequence, accepts
x. Clearly this is poly-time decidable, and it is clear from the definition
of L(N) that x is in E = L(N) iff there exists some y such that F(x,y) is true.
So by the existence of this F, E satisfies Definition 2.
Now assume that E satisfies Definition 2, so that the predicate F exists.
We must define a poly-time NDTM N such that E = L(N). We define N so that
on input x it
nondeterministically chooses a string y, computes whether F(x,y) is true
(using the given poly-time decider for F), and accepts iff it is. If x is in
E, then some y exists making F(x,y) true and it is possible for N to choose
this y, so x is in L(N). Conversely, if x is in L(N) then some y makes
F(x,y) true, so x is in E. Thus E = L(N) and E satisfies Definition 2.
TRUE. Some (but probably not all) CFL's are in NL, and every language in NL is log-space reducible to REACH. It is easy to construct a concrete example -- let the language be {a} and let the reduction map the string a to some fixed reachable (G,s,t) and everything else to some fixed unreachable (G,s,t).
TRUE. Let the language be L(D) for some DFA D. A circuit can compute the behavior of D on any input w of length n by using a table lookup to get the behavior on each letter, and then composing these behaviors together. (Each behavior is a function from the state set of D to itself.) Composing two functions from an O(1)-size set to itself is doable in O(1) size and depth. So the binary tree computing the overall behavior has O(n) size and O(log n) depth, and the circuit family is in NC1.
FALSE. Consider the known nonregular language {anbn: n ≥ 0}. This language is in NC1 because we can test whether each of the first half of the input letters is a, test whether each of the second half is b, and AND together all these individual answers with a binary tree of binary AND gates with size O(n) and depth O(log n), an NC1 circuit.
TRUE. By the Alternation Theorem, such an ATM exists iff G is in the class PSPACE. But every language in BPP is also in PSPACE because the poly-space machine can simulate the probabilistic poly-time machine on every possible choice sequence, count how many of them lead to acceptance, and see whether this number is more than 2/3 of the total possible choice sequences.
TRUE. The optimization problem is to input φ and find a setting with the maximum possible number of satisfied clauses. To begin with, we can use the given MAX-3-SAT-DECISION procedure and binary search to find how many clauses can be satisfied by the best setting. Then we are left with the problem of actually finding the setting. We can do this by trying out partial settings, checking at each point whether the partial setting can be extended to a full setting with the maximum number of clauses satisfied, and backtracking when this is not true.
Last modified 25 August 2003