Basic Idea
Turing's basic idea is to use a machine to simulate the process of people performing mathematical operations with pen and paper. He views this process as consisting of the following two simple actions:
- Writing or erasing a symbol on paper;
- Moving attention from one place on the paper to another;
At each stage, a person decides the next action based on (a) the symbol at the current position they are focusing on and (b) the current state of their mind.
To simulate this human computational process, Turing constructed an imaginary machine consisting of the following parts:
- An infinitely long tape TAPE. The tape is divided into small cells, each containing a symbol from a finite alphabet. There is a special symbol representing a blank. The cells on the tape are numbered sequentially from left to right as and the tape can extend infinitely to the right.
- A read-write head HEAD. It can move left and right on the tape, read the symbol in the current cell, and change it.
- A finite set of control rules TABLE (A finite table of instructions). It determines the next action of the read-write head based on the current state of the machine and the symbol in the current cell, changing the value of the state register and transitioning the machine to a new state.
The Turing machine instructions are informed in the following order:
-
- Write (replace) or erase the current symbol;
-
- Move the HEAD, 'L' for left, 'R' for right, or 'N' for no movement;
-
- Retain the current state or transition to another state.
-
- A state register. It stores the current state of the Turing machine. The number of all possible states of the Turing machine is finite, and there is a special state called the halt state.
Formal Definition
A Turing machine is a seven-tuple , where are finite sets that satisfy:
- is a non-empty finite set of states.
- is a non-empty finite input alphabet that does not contain the special blank symbol .
- is a non-empty finite tape alphabet with ; is the blank symbol and is the only symbol allowed to appear infinitely.
- is the transition function where indicate whether the read-write head moves left or right, and indicates no movement.
- is the initial state.
- is the accepting state.
- is the rejecting state, and .
Initially, the input string is placed from left to right in the cells numbered , with the other cells being blank (filled with the blank symbol ). The read-write head of points to cell 0, and is in state .
After the machine starts, it performs computations according to the rules described by the transition function . For example, if the current state of the machine is and the symbol in the current cell is , and if , the machine transitions to the new state , changes the symbol in the current cell to , and moves the read-write head one cell to the left.
(If at any moment the read-write head points to cell 0 and according to the transition function it is supposed to move left, it stays in place. In other words, the read-write head never moves off the left edge of the tape).
If at any moment the Turing machine transitions to state according to the transition function, it immediately halts and accepts the input string; if it transitions to state , it immediately halts and rejects the input string.
Limitations
A Turing machine cannot solve problems involving second-order logic.