# Problem Solving: Turing Machines

 ← Halting problem Turing Machine

 From the Specification : Turing Machine and the Universal Machine. The abstract model of the Turing Machine and the Universal Machine..

## Recap

Before attempting to study Turing Machines you should ensure you are familiar with Finite State machines from the AS Computing specification and the few additional FSM concepts added to the A2 course.

## Definition

Turing machines provide a general or formal model of computation and can be used to determine whether or not a task is computable.
OR
A formal model of computation that consists of a finite state machine (FSM) that controls one or more tapes, where at least one tape is of unbounded length (ie infinitely long).

## Universal Turing Machine

A universal Turing machine (UTM) is a Turing machine that can execute other Turing machines by simulating the behaviour of any Turing machine. If a sequence is computable then a UTM will be able to execute it. A UTM behaves as an interpreter which is just what a PC does when it runs a Java applet or Flash script.

Rather than each individual process within a single machine, the UTM takes two inputs:

• A description of all the individual Turing machines required to perform the calculations
• All the inputs required for the calculations

Principle of Universality: A universal machine is a machine capable of simulating any other machine.

## Simulations

• Turing Kara has some excellent instructions to help you get to grips with the basic operations of a turing machine

## Example Questions

 Exercise: Turing Machines What is a Turing machine? Answer: A Finite State Machine that operates one or more tapes where at least one tape is infinitely long