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.