Step-by-step evolution of Turing machine configurations and how computations are represented as traces.
A Turing machine does not compute in one large jump. It computes step by step. A computation trace records these steps.
Each step changes the machine from one configuration to the next.
A configuration contains all information needed to continue the computation:
| Component | Meaning |
|---|---|
| current state | the machine’s internal state |
| tape contents | the symbols written on the tape |
| head position | the cell currently being scanned |
Once these are known, the next step is determined by the transition function.
A configuration is often written by placing the current state next to the symbol under the head.
For example, suppose the tape contains:
and the head is reading the first symbol while the machine is in state . We may write:
If the head is reading the third symbol, we may write:
This notation means that the state symbol marks the current head position.
One-Step Transitions
A one-step transition is written as:
This means configuration changes into configuration in one machine step.
If:
then the machine does the following:
- it reads
- it writes
- it moves right
- it enters state
For example, if the current configuration is:
where and are strings, and the head reads , then after moving right we get:
Here replaces , and the state symbol moves one position to the right.
For a left move, if:
and the current configuration is:
then the next configuration is:
The symbol replaces , and the head moves left onto the previous cell containing .
Multi-Step Computations
A full computation is a sequence:
The initial configuration is . It contains the input word, the start state, and the initial head position.
We write:
to mean that is reachable from in zero or more steps.
So:
is always true, because zero steps are allowed.
If there is a sequence:
then:
Halting Traces
A computation halts when the machine reaches a halting state, such as:
or:
If the machine reaches , we say it accepts the input. If it reaches , we say it rejects the input.
A halting trace has finite length:
where is halting.
A non-halting trace is infinite:
In that case, the machine runs forever.
Example Trace
Consider the simple machine from the previous section. It scans right until it sees a blank.
Its rules are:
On input:
the trace is:
This trace shows the head moving right across the input. The tape contents do not change, but the position of the state symbol changes.
The final configuration contains , so the computation stops.
Traces as Evidence
A computation trace is useful because it gives concrete evidence of what the machine does.
To show that a machine accepts an input, we can display a finite trace ending in:
To show that a machine rejects an input, we can display a finite trace ending in:
Showing that a machine never halts is harder. A finite trace can show only finite behavior. To prove non-halting, we need a general argument, such as showing that the machine repeats a pattern forever.
Determinism and Traces
For a deterministic Turing machine, each configuration has at most one next configuration.
So from a fixed input, there is only one possible trace:
This makes deterministic computation easy to reason about. There is no branching.
For nondeterministic machines, one configuration may have many possible next configurations. Then computation forms a tree rather than a single path. Deterministic machines are enough for the main computability theory developed here.
A computation trace is the operational view of a Turing machine. It turns the transition function into an explicit sequence of configurations, making the behavior of the machine visible one step at a time.