CMPSCI 601: Theory of Computation
Practice Final Exam, Spring 2010
David Mix Barrington
Posted 29 April 2010
Directions:
- Answer the problems on the exam pages.
- There are five short problems, for ten points each, and three
long problems for 25 points each. Attempt all the short problems
and only two of the long ones -- the maximum score is thus
100. If you attempt all three long problems I will take the scores
of the best two. Likely scale is A = 90, B = 60 but the actual scale
will be determined after I grade the exam.
- If you need extra space use the back of a page.
- No books, notes, calculators, or collaboration.
Q1: 10 points
Q2: 10 points
Q3: 10 points
Q4: 10 points
Q5: 10 points
Q6: 25 points
Q7: 25 points
Q8: 25 points
Total: max 100 points
Minor corrections added on the evening of 29 April.
- Question 1 (10):
A parallel Turing processor is a network of f(n) different Turing
machines, each of has one worktape that is public. On a given time step
it may read one cell of the public worktape of any other machine, by writing
the number of the cell and the number of the machine on an address tape. One
machine is designated the lead machine, and it gets the input string at the
beginning of the computation and produces the output at the end of the
computation.
Define parallel-P to be the class of languages X such that there exists
a parallel Turing processor M with f(n) processors and time bound t(n) on input
of length n, where f and t are polynomials, such that L(M) = X. Prove that
parallel-P = P.
- Question 2 (10):
Let DCYCLE be the set of directed graphs that have a cycle, where a cycle is
any path of one or more edges from a vertex to itself. Prove that DCYCLE is
complete for the class NL under log-space reductions. (You may quote the fact
that the language PATH is NL-complete, but for your proof you will probably
want a slighty different language which may require revisiting that completeness
proof.)
- Question 3 (10):
Recall that PARITY is the set of binary strings with an odd number of ones.
Prove that PARITY is in the class ATIME(log n), where of course the alternating
Turing machine has random access to its input. (This means that it can write
a number i on its address tape and then access input bit xi.)
- Question 4 (10):
Recall that a pseudorandom generator of stretch s(n) is called
secure if for any probabilistic polynomial-time function A, the
probability that A(x) = 1, for a string x
of length s(n) generated from a uniform
random seed of length n, differs from the probability that A(y) = 1 for a
uniform random string of length s(n) by a negligible function. Prove that no
secure pseudorandom generator can have the property that its output depends
only on the first O(log n) bits of its seed.
- Question 5 (10):
Recall that a MOD-3 gate takes zero or more boolean inputs and outputs 1 iff
the sum of its inputs (as integers) is not congruent to 0 modulo 3.
Consider circuits with only MOD-3 gates that compute the parity function
on n boolean inputs. Describe such a circuit of depth O(log n), and show that
any such circuit must have depth Ω(log n).
- Question 6 (25):
Let E(k, p, 1t) be the following partial encryption function. (It
is a partial encryption function because for given inputs it may or may
not produce a ciphertext.) E interprets the binary
string k, if possible, as a Turing
machine. It then runs k on the plaintext binary
string p for at most t steps, and
outputs the string, if any, that is the result of this computation.
The language VALID is the set of tuples (c, k, 1a, 1b)
such that there exists a binary string p of length a such that
E(k, p, 1b) = c.
- (a,5) Argue that VALID is in the class NP.
- (b,10) Prove that if A is any language in the class NP, then
A ≤p VALID.
- (c,10) Let VALID' be the set of tuples (c, k, 1a, b)
where b is a binary number and E(k, p, 1b) = c. What is the
complexity of the language VALID'? Justify your answer.
- Question 7 (25):
A boolean circuit is levelled if the non-input gates can be divided into
sets L1, L2,..., Ld, where the inputs to
any gate in the set Li are either inputs to the circuit (i.e.,
variables or negated variables) or are gates in the set Li-1. The
width of the circuit is the maximum number of gates in any set
Li.
- (a,10) Let A be any language in DSPACE(log n). Argue that A is decided
by a family C0, C1,... of boolean circuits such that
each circuit Cn has size polynomial in n and width O(log n).
- (b,5) Give an example of a language that has a circuit family as in
part (a) but is not in DSPACE(log n).
- (c,10) Argue carefully that if A has a circuit family as in part (a)
and that family is log-space uniform, then A is in DSPACE(log n).
- Question 8 (25):
Let g(x1,...,xn) be a polynomial of degree d (where d is
polynomial in n) over the
field Zp, where p is a prime of between n and 2n bits. Let h be
the sum, over
all 2n possible boolean settings of the variables
x1,...,xn, of g(x1,...,xn).
Describe a protocol whereby a computationally unbounded prover can convince
a probabilistic verifier that h is equal to some number K, if this is true.
Your protocol should have completeness 1 and soundness at most 1/2. Argue that
your protocol is correct.
Last modified 29 April 2010