Skip to main content
3.1: Turing Machine Computations
-
-
Last updated
-
-
Save as PDF
-
-
-
3.1.1: Introduction
-
What does it mean for a function, say, from \(\mathbb{N}\) to \(\mathbb{N}\) to be computable? Among the first answers, and the most well known one, is that a function is computable if it can be computed by a Turing machine.
-
-
3.1.2: Representing Turing Machines
-
Turing machines can be represented visually by state diagrams. The diagrams are composed of state cells connected by arrows.
-
-
3.1.3: Turing Machines
-
The formal definition of what constitutes a Turing machine looks abstract, but is actually simple: it merely packs into one mathematical structure all the information needed to specify the workings of a Turing machine. This includes (1) which states the machine can be in, (2) which symbols are allowed to be on the tape, (3) which state the machine should start in, and (4) what the instruction set of the machine is.
-
-
3.1.4: Configurations and Computations
-
Formally, we can define the computation of a Turing machine on a given input as a sequence of configurations—and a configuration in turn is a sequence of symbols (corresponding to the contents of the tape at a given point in the computation), a number indicating the position of the read/write head, and a state.
-
-
3.1.5: Unary Representation of Numbers
-
Turing machines work on sequences of symbols written on their tape. Depending on the alphabet a Turing machine uses, these sequences of symbols can represent various inputs and outputs. Of particular interest, of course, are Turing machines which compute arithmetical functions, i.e., functions of natural numbers. A simple way to represent positive integers is by coding them as sequences of a single symbol \(1\).
-
-
3.1.6: Halting States
-
The idea behind a halting state is simple: when the machine has finished operation (it is ready to accept input, or has finished writing the output), it goes into a state \(h\) where it halts. Some machines have two halting states, one that accepts input and one that rejects input.
-
-
3.1.7: Combining Turing Machines
-
To build more complex Turing machines, it is important to convince ourselves that we can combine them, so we can build machines to solve more complex problems by breaking the procedure into simpler parts.
-
-
3.1.8: Variants of Turing Machines
-
There are in fact many possible ways to define Turing machines, of which ours is only one.
-
-
3.1.9: The Church-Turing Thesis
-
The Church-Turing Thesis states that anything computable via an effective procedure is Turing computable.
-
-
3.1.10: Summary
-