GCSE Link: None

Turing machines allow us to define the limits of computability by providing a formal model of computation.

That is, if a problem can be solved computationally then there is (theoretically) a Turing machine which can be created to solve that problem.


A Turing machine consists of an infinitely long tape, a read-write head and a transition function (which governs the movement and output of the read-write head). The machine is in one of a finite number of states at any given point in time. Each cell on the tape either contains a single symbol or is left blank (denoted as a hollow box, □).


The transition function is made up of a number of transition rules, each of which is of the format δ(CurrentState, Input) = (NextState, Output, Movement).

For example, the transition rule δ(S0, a) = (S1, b, ) means "If the machine is currently in state S0 and reads an 'a', then switch to state S1, write a 'b' and move to the right".


Note: beyond A Level, the tape is usually shown as infinite in both directions, but for the A Level exam you will only be shown tapes that are infinite on the right and not the left.

Diagram 1 shows a step-by-step animation of a Turing machine which computes the even parity bit of a string of bits. Use the arrows to navigate.

Diagram 1


But a Turing machine is really just a finite state machine with a tape! To account for this, we write input|output,direction next to the arrows, like 0|0,→.


A Universal Turing Machine (UTM) is a Turing machine that can simulate any other Turing machine.

It is basically an interpreter of Turing machines. It takes a description of another Turing machine along with its input and mimics its behaviour.



Draw a finite state machine which is equivalent to the Turing machine shown in Diagram 1.