Midterm, ECS 220, WQ 2015, Prof. Franklin
1. (10 points) This question is about DTIME(f(n)) and P.
a. How are DTIME(f(n)) and P defined?
b. Does DTIME(f(n)) or P change if the Turing Machine model has only
one read-write tape for input, work, and output? Explain.
2. (10 points) This question is about polynomial-time Karp reductions.
a. Let f be a polynomial-time Karp reduction from language L to L'
(both over {0,1}^*). Give the properties f must have.
b. Give a polynomial-time Karp reduction from 3SAT to INDSET.
3. (10 points) This question is about reductions from search problems
to decision problems.
a. Give a polynomial-time algorithm to solve the search version of SAT
given an oracle for the decision version of SAT.
b. Give a polynomial-time algorithm to solve the search version of an
arbitrary language in NP given an oracle for an arbitrary NP-complete
language. [Hint: Use two reductions.]
4. (15 points) This question is about oracle Turing Machines.
a. Explain how an ordinary Turing Machine M is modified to get an
oracle Turing Machine M^O.
b. Let L be a language in P. Is P^L = P always? Explain.
c. Let L be a language in NP, and let U_L = {1^n : |x| = n for some x
in L}. Is U_L in NP^L always? Explain.