CMPSCI 501: Theory of Computation

Solutions to Final Exam, Spring 2014

David Mix Barrington

2 May 2014

Directions:

  Q1: 10 points
  Q2: 10 points
  Q3: 10 points
  Q4: 10 points
  Q5: 10 points
  Q6: 30 points
  Q7: 20+10 points
  Q8: 20 points
 Total: 120+10 points

Question text is in black, solutions in blue.

If C is any class of computers, such as DFA's, CFG's, LBA's, TM's, strange variant TM's, etc.:

A language A is Turing decidable if A = L(M) for some Turing machine M that always halts.

A function f is Turing computable if there exists a Turing machine M such that for any string w, M when started on w halts with f(w) on its tape.

Recall that if A and B are two languages, A is mapping reducible to B, written A ≤m B, if there exists a function f: Σ* → Σ* such that for any string w, w ∈ A ↔ f(w) ∈ B. If such an f exists that is computable in polynomial time, we say that A is poly-time reducible to B, written A ≤p B. If f is computable in log space, we say that A is log-space reducible to B, written A ≤L B.

Although we did not prove this in lecture, you may assume both:

Congressman Bob Forehead is the chair of a powerful House commmittee. He is preparing the final draft of a bill and must decide exactly which provisions, out of a set {p1,..., pn}, he will include in it. He is in contact with a set of m lobbyists, each of who has a set of one or more requests -- a request may be to include a particular provision in the bill, or to not include a particular provision. Bob wants to make all the lobbyists happy, which he can do by fulfilling at least one request on each lobbyist's list.

Let BILLCHECK be the set {(B, LL): B is a bill, LL is a list of lobbyist requests, and every lobbyist is happy with the bill because B fulfills at least one request on every list in LL}.

Let POSSIBLE be the set {LL: LL is a list of lobbyist requests such that some bill exists that makes all the lobbyists happy}.

A transposition Turing machine or TransTM has a state set Q, an input alphabet Σ, and a tape alphabet Γ like an ordinary TM, except that here Γ = Σ ∪ {$}. For an input string w, the TransTM's single tape begins with contents $w$, in the initial state with the read head on the first $. There are two final states, one accepting and one rejecting, and the machine halts when it reaches either of these states.

The transition function δ is from Q × Γ to Q × {TL, TR, I} × {L, R}. When in state p and reading an a, the machine takes one of three actions on the tape: if the middle component of δ(p, a) is TL, it switches the current letter with the one to its left. If it is TR, it switches the current letter with the one to its right, and if it is I it does not change the tape. It then moves the read head left or right (from the new current letter) depending on the last component of δ(p, a). If it is on the first or last character of the take, it may not change the tape.

Last modified 18 May 2014