CS254
Chris Pollett
Aug. 29, 2011
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.
Which of the following is true?
The book shows how to implement the above algorithm using the formal definition.
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.