This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS 151 Complexity Theory Spring 2011 Midterm Solutions Posted: May 5 Chris Umans 1. Consider a language L ∈ coNEXP . On an input of length n , the advice will be an exact count of the number of inputs of length n not in the language. This is a number between 0 and 2 n , which can be represented using n + 1 bits. Our NEXP machine receives this count c ( n ) and an input x . It will then guess c ( n ) distinct strings x ( i ) together with a witness w ( i ) of length 2 n k for each. It will then verify that each of the x ( i ) are in L using the guessed witnesses. If not, then it will reject. Otherwise, it will accept if and only if x is not equal to x ( i ) for any i . Now, if x ∈ L , then on some computation path, the NEXP machine will correctly guess all of the strings in L , together with correct witnesses for them, and none of these will be equal to x so it will accept. If x ̸∈ L , then the only way the machine can guess c ( n ) distinct strings in L is if x is among these strings, so it will always reject. 2. Let L be a language in L/poly , and let M be a Turing Machine that decides L in c log n space with advice A ( n ), where A : N → { , 1 } N =( n k ) . For simplicity we assume that M receives the input x and the advice string A (  x  ) on a single readonly input tape, and that it has a single work tape. And, we assume that when M is going to accept or reject, it clears its work tape, resets both readheads to the first tape square, and enters the state q accept or q reject accordingly. We also assume that the input and the advice string are given over the binaryaccordingly....
View
Full Document
 Fall '09
 Computational complexity theory, Equals sign, readonly input tape, branching program, Chris Umans

Click to edit the document details