# Final Exam, Spring 2011

### Directions:

• Answer the problems on the exam pages.
• There are nine problems for 125 total points. Actual scale is A = 97, C = 63.
• If you need extra space use the back of a page.
• No books, notes, calculators, or collaboration.
• The first six questions are true/false, with five points for the correct boolean answer and up to five for a correct justification of your answer -- a proof, counterexample, quotation from the book or from lecture, etc. -- note that there is no reason not to guess if you don't know.

```  Q1: 10 points
Q2: 10 points
Q3: 10 points
Q4: 10 points
Q5: 10 points
Q6: 10 points
Q7: 20 points
Q8: 15 points
Q9: 30 points

Total: 125 points
```

The following formal languages are each used in one or more problems:

• A clocked Turing machine is a deterministic Turing machine that has an associated polynomial p(n) with integer coefficients. When started on an input w of length n, it calculates the number p(n) and then runs for at most p(n) steps, always halting with a yes or no answer.

• ALLCTM is the set of clocked Turing machines that accept every string in their input alphabet.

• EMPTYTM is the set of clocked Turing machines that do not accept any string over their input alphabet.

• AP is the set of triples (M, w, 1t) such that M is a deterministic Turing machine, w is a string over the input alphabet of M, and M accepts w in at most t steps.

• Two DFA's M = (Q, Σ, q0, F, δ) and M' = (Q', Σ, q'0, F', δ') are said to be isomorphic if there exists a bijection f from Q to Q' such that f(q0) = q'0 and for any state q ∈ Q and any letter a ∈ Σ, q ∈ F if and only if f(q) ∈ F' and δ'(f(q), a) = f(δ(q, a)).

• The language ISODFA is the set of pairs (M, M') such that M and M' are isomorphic DFA's, each no unreachable states. (For all languages involving DFA's, assume that we use a coding scheme such that the length of the string denoting M is some polynomial in the number of states in M.)

• The language EQUIVDFA is the set of pairs (M, M') such that M and M' are DFA's over the same alphabet, and L(M) = L(M').

• The language ADFA is the set of pairs (M. w) such that M is a DFA and w ∈ L(M).

• A cyclic alphabet Turing machine (CATM) is a one-tape deterministic Turing machine with the property that the k letters of its tape alphabet Γ are numbered a0, a1, ..., ak-1, and it may only overwrite a letter ai with another ai or an a(i+1)%k, where "%" is the Java modular division operator. Note that the blank letter is an element of Γ and so is equal to ai for some i.

• Of course, ACATM is the set of all pairs (M, w) where M is a CATM and w ∈ L(M).

• Question 1 (10): True or false with justification: Assuming that P ≠ NP, there exists a context-free language that is not in P.

• Question 2 (10): True or false with justification: There exists a cyclic-alphabet Turing machine M such that M moves right on every step until or unless it halts and such that the language L(M) has infinitely many Myhill-Nerode equivalence classes.

• Question 3 (10): True or false with justification: The language EMPTYTM is mapping reducible to ALLCTM, i.e., EMPTYCTMm ALLCTM.

• Question 4 (10): True or false with justification: The language EQUIVDFA is in the class P.

• Question 5 (10): True or false with justification: The language ACATM is Turing decidable.

• Question 6 (30): True or false with justification: The language ADFA is in the class L.

• Question 7 (20): Two questions on clocked Turing machines, as defined above:

• (a,10) Prove that every language in L (where L = DSPACE(log n)) is the language of some clocked Turing machine.

• (b,10) Prove that the language EMPTYCTM is not Turing decidable.

• Question 8 (15): Prove that the language AP is complete for the class P under ≤L reductions.

• Question 9 (30): These questions concern the language ISODFA defined above:

• (a,10) Prove that the language ISODFA is in the class NP.

• (b,20) Either prove that ISODFA is in the class P, or prove that ISODFA is NP-complete. (Extra credit for doing both.)