CMPSCI 501: Theory of Computation

Solutions to Second Midterm Exam, Spring 2016

David Mix Barrington

24 March 2016

Directions:

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

Question text is in black, solutions in blue.

The set N of natural numbers is {0, 1, 2, 3,...}, not quite as defined in Sipser.

For this exam, the input alphabet of all machines will be Σ = {0, 1}.

A palindrome is a string that is equal to its own reversal. Let PAL = {w: w is a palindrome}.

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

A language is Turing recognizable (TR) if it is equal to L(M) for some Turing machine M.

A language is Turing decidable (TD) if it is equal to L(M) for some Turing machine M that halts on every input.

A language is co-TR if and only if its complement is TR.

A function f from strings to strings 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 Turing computable function f: Σ* → Σ* such that for any string w, w ∈ A ↔ f(w) ∈ B.

A Volatile Memory Turing Machine or VMTM is a multitape deterministic Turing machine where Tape 1 is a read-only input tape and the other tapes have the following property: Any cell that has not been written to in the last ten time steps changes its content to the blank symbol, without the intervention of the head.

A Write-Once Turing Machine or WOTM is a deterministic one-tape Turing machine with the property that each cell may have its contents changed only once during a computation. That is, once a new character replaces the original contents of the cell, that new character remains there forever. There are no restrictions on the machine's reading or moving.