Informally: Given sufficient data storage capacity and time, all computers (laptops, iPhones, super computers,...) can perform the same set of computations. In particular, they can perform numerical computations with any degree of precision required and, in particular, as Turing Machines
Definition :
A Turing Machine consists of:
An alphabet : A finite set of symbols including
The tape: A 1 dimensional sequence of cells. Each cell is referenced by an Integer.
Each cell can contains a single symbol from the , all but a finite number of cells contain the blank symbol .
At different stages of a Turing Machine computation, the tape will contain a different configuration of symbols.
A finite set of head states .
An Initial state:
A halting state - Accept: .
A halting state - Reject: .
The read/write Head: In a given state and "positioned over" a given cell,
A single valued Transition Function: of valid steps.
Read if the head is in state and it is over a cell containing symbol and change the symbol in the present cell to , change the head state to ,
and move eft or ight one cell, or ot at all, depending on . It is common practice to write rather than .
Notation: denotes that is in state and the tape contains the consecutive sequence of symbols with all blanks to the left of and to the right of .
Moreover the head is over the cell containing
.
We call this the state of
, as opposed to the head state.
Given and valid step we write More generally will be used to denote a sequence of valid steps refered to as a derivation.
Alternate Definitions: There are many computationally equivalent definitions of Turing Machine..
One A: simple, in fact more commonly used, variation is as above except in the Transition Function, rather than Head , only are available.
To create a computationally equivalent for a given Turing Machine
For each add a new state and rules .
For every step of the form replace it with a step, and for each a rule
Two Another variant defines . Here, in a given step, either the cell under the Head gets rewritten or the Head moves not both.
A Convenient 3-tape Turing Machine :
The input tape: A read-only tape containing the input, unidirectional in that its head can only move left to right;
The work tape: Where all computations are carried out, bidirectional but initially blank:
The output tape: unidirectional and Initially blank, where the result of the computation is copied from the working tape, before halting.
We say such a Turing Machine halts on
input with
output
, and write
if
is to the left of the input head and
is to the left of the output head after
halts. .