TMs and their Expressive Power




CS254

Chris Pollett

Aug. 29, 2011

Outline

Modeling Computation

An Algorithm

Runtime and Robustness

Turing Machines - making scratch pads precise

A diagram of a k tape turing machine

Turing Machines -- Finite set of operations/rules

Formal definition

A TM `M` is described by a tuple `(Gamma, Q,delta)` containing:

If the machine in in state `q in Q` and `\(sigma_1, ... sigma_k\)` are the symbols currently being read on the `k` tapes, and
`delta(q, \(sigma_1, ... sigma_k\)) = (q', \(sigma_2', ... sigma_k'\), z)`
where `z in \{L,S, R\}^k` then at the next step the `sigma` symbols in the last `k-1` tapes will be replaced by the `sigma'` symbols, the machine will be in state `q'` and the `k` heads will move left, right or stay put according to the corresponding coordinate of `z`. At the start of a computation the start configuration of a machine has the input tape with `Delta x_1 ... x_n` on it where `x_1, ... x_n` is the input string. All other squares are blank. Each other tape in the start configuration only has `Delta` on it and all other squares blank. In the start configuration, the tape heads are all on their `Delta` symbol. The computation proceeds according to applications of the transition function until the halt state is reached.

Quiz

Which of the following is true?

  1. `nlog n = Theta(2^{log n} log n)`
  2. CLIQUE is not a decision problem since it is formulated over graphs rather than strings.
  3. The length of a number `n` in binary is `o(n)`.

Palindromes

The book shows how to implement the above algorithm using the formal definition.

Expressive Power of TMs

The Church-Turing thesis states that any implementable computational model can be simulated by a Turing Machine.

Here is a hand-wavy proof that any program written in a language like C or Java could be simulated with a TM.