CMPSCI 601: Theory of Computation
David Mix Barrington
Summer, 2003
Final Exam
Posted 25 August 2003
Types of variables: Unless otherwise indicated, a variable
A or B denotes a language, D denotes a DFA, G denotes a context-free grammar,
M denotes a Turing machine, n denotes a (non-negative)number,
and w denotes a string.
Remember that N is the set of all numbers, which we may also think
of as the set Σ* of all strings.
Directions:
Question 1 consists of five statements, each of which is
either provably true, provably false, or unresolved given
the results presented in the course. Indicate TRUE, FALSE,
or UNKNOWN (choose one only) for each question. No justification
is needed or wanted, and there is no penalty for a wrong guess.
Questions 2 and 3 consist of true statements that you are to
prove. These facts were proved in lecture, but of course you
may not simply quote them as facts -- give an explanation in
your own words of
why they are true that demonstrates your understanding.
Questions 4 through 8 are similar to those on the midterm.
There is a statement which is either true or false.
You will get five points for a correct
boolean answer, and there is no penalty for guessing.
Then JUSTIFY YOUR ANSWER --
the five remaining points will be awarded based on the degree
to which your justification is correct and convincing.
A list of useful facts and definitions is provided after the questions.
You may assume facts proved in lecture if you state them
carefully and correctly. Make sure that if a fact from lecture
requires hypotheses, you show that those hypotheses hold in this
case.
- Question 1 (15):
- (a,3) The class NC1
is strictly contained in the class PSPACE.
- (b,3) The class PSPACE is strictly contained in the class
NC1
- (c,3)
If A is the language of a poly-time alternating Turing machine, A is
also the language of some poly-time deterministic Turing machine.
- (d,3)
There exists a PTAS for MAX-3-SAT.
- (e,3)
If B is the language of some nondeterministic Turing machine (with
no resource bounds) then B is also the language of some deterministic
Turing machine.
- Question 2 (15):
Let M be a one-tape Turing machine that always halts within some
polynomial time bound p(n) on input of size n. Prove that for any
n, there exists a circuit Cn with n inputs such that
Cn(w) = 1 iff
w is in L(M). Prove that the size of your Cn is polynomial in n.
Explain briefly why this circuit family is log-space uniform.
- Question 3 (20):
The following are two definitions of what it means for a language $E$ to
be in the class NP:
- Definition 1: There exists a poly-time nondeterministic Turing
machine N such that E = L(N).
- Definition 2: There exists a poly-time computable predicate
F(x,y), where x and y are strings, such that for any string x,
x is in E iff ∃y: F(x,y).
Prove that these two definitions are equivalent, that is, that for any
language E, E satisfies Definition 1 iff it satisfies Definition 2.
- Question 4 (10):
(True/false with justification)
There exists a context-free language B such that B is log-space
reducible to the language REACH.
- Question 5 (10):
(True/false with justification)
Every regular language is in the class NC1.
- Question 6 (10):
(True/false with justification)
Every language in the class NC1 is regular.
- Question 7 (10):
(True/false with justification)
If a language G is in the class BPP, then there exists a
poly-time alternating Turing machine M such that G = L(M).
- Question 8 (10):
(True/false with justification)
If the language MAX-3-SAT-DECISION = {(φ,k): φ is a 3-CNF
formula and there exists a setting of φ's variables that satisfies
at least k clauses} is in the class P,
then the optimization problem MAX-3-SAT
can be solved exactly in polynomial time.
Crib Sheet:
- L(M) is the set of numbers n such that M halts on input n with output 1.
Note that the set {Mn: n is in N} contains all
possible Turing machines in some standard encoding and that each
Mn is a valid Turing machine.
- L(D) is the set of strings w such that D running on w finishes in an
accepting state.
- The following classes are defined as the languages of the following
kinds of Turing machines:
- P: poly-time deterministic TM's
- NP: poly-time nondeterministic TM's
- L: space O(log n) deterministic TM's
- NL: space O(log n) nondeterministic TM's
- PSPACE: poly-space deterministic TM's
- If A and B are languages, then A≤ B (A is log-space
reducible to B) means that there is a log-space computable function f
such that for any x, x is in A iff f(x) is in B.
- The following classes are defined as the the languages decideable by
the following kinds of circuit families:
- NCi:
circuits with AND, OR, and NOT gates, fan-in two,
polynomial size, and O(logi n) depth,
- ACi:
circuits with AND, OR, and NOT gates, unbounded fan-in,
polynomial size, and O(logi n) depth,
- ThCi:
circuits with threshold gates, unbounded fan-in,
polynomial size, and O(logi n) depth.
- L(G) is the set of strings w such that w can be generated from G's start
symbol according to G's rules.
- A language is r.e. if it is equal to L(M) for some Turing machine M.
- A language is recursive if it is equal to L(M) for some Turing machine
M that always halts.
- A function f is total recursive if there is a Turing machine that always
halts and gives output f(n) on any input n.
- The language
A is reducible to B if there exists a total recursive function f such
that for any n, n is in A iff f(n) is in B.
- The language
A is r.e.-complete iff A is r.e. and for any language B, if B is r.e.
then B is reducible to A.
- An optimization problem has a poly-time approximation scheme
or PTAS
if for any positive real number ε, there exists a poly-time
algorithm that approximates an optimal solution to the problem within a
ratio of ε.
- We refer to some or all of the following specific languages and
problems:
- REACH is the set {(G,s,t): G is a directed graph and there is a
path from s to t in G}.
- MAX-3-SAT is the optimization problem where the input is a 3-CNF
formula, the output is a setting of the formula's variables, and the goal
is to maximize the number of the formula's clauses satisfied by the setting.
- K = {n: n is in L(Mn). This language
is r.e.-complete.
Last modified 25 August 2003