Generated by DeepSeek V3.2| Turing machine | |
|---|---|
| Name | Turing machine |
| Field | Computability theory |
| Invented | Alan Turing |
| Year | 1936 |
| Related | Lambda calculus, Von Neumann architecture, Church–Turing thesis |
Turing machine. A Turing machine is an abstract mathematical model of computation, first described by Alan Turing in his seminal 1936 paper "On Computable Numbers, with an Application to the Entscheidungsproblem". It formalizes the intuitive notion of an algorithm by defining a simple, idealized device capable of performing any conceivable calculation given sufficient time and tape. The model consists of an infinite memory tape, a read/write head, and a finite set of instructions governing its operation, forming the foundational concept for the modern theory of computability and the design of real-world CPUs.
A Turing machine is formally defined as a 7-tuple \( (Q, \Gamma, b, \Sigma, \delta, q_0, F) \). Here, \( Q \) represents a finite, non-empty set of states, while \( \Gamma \) is the finite set of symbols allowed on the tape, which includes a special blank symbol \( b \). The set \( \Sigma \), a subset of \( \Gamma \) excluding \( b \), constitutes the input alphabet. The partial function \( \delta: Q \times \Gamma \to Q \times \Gamma \times \{L, R\} \) is the transition function, dictating the machine's behavior. The machine begins operation in the initial state \( q_0 \in Q \), and computation halts upon entering one of the final states in the set \( F \subseteq Q \). This precise formalism was developed by Turing to address foundational questions in mathematical logic posed by David Hilbert and Kurt Gödel.
The machine operates on an infinite tape divided into discrete cells, each capable of holding one symbol from \( \Gamma \). The read/write head, positioned over one cell, reads the current symbol. Based on this symbol and the machine's current state from \( Q \), the transition function \( \delta \) determines three actions: writing a new symbol to the current cell, changing the internal state, and moving the head one cell left (\( L \)) or right (\( R \)). This cycle repeats until no transition is defined, often when a final state in \( F \) is reached. The sequence of symbols left on the tape is then interpreted as the output. This mechanistic process directly inspired the operational logic of early computers like the Manchester Baby and underpins the fetch–decode–execute cycle of modern processors.
The invention of the Turing machine provided the first rigorous framework for defining an algorithm and the notion of an effective method in logic. Its most profound implication is the Church–Turing thesis, which posits that any function computable by an algorithm is computable by a Turing machine. This thesis links Turing's work to equivalent models like Alonzo Church's lambda calculus. Turing further demonstrated the existence of undecidable problems, proving that the halting problem for these machines cannot be solved algorithmically, a result with deep consequences for theoretical computer science and metamathematics. These ideas laid the groundwork for the entire field of computational complexity theory.
Many computationally equivalent variants of the standard model exist, demonstrating the robustness of the definition. A multitape Turing machine, featuring multiple independent tapes and heads, often simplifies the analysis of computational complexity without increasing fundamental power. Other notable extensions include the non-deterministic Turing machine, a key concept in complexity classes like NP, and machines with alternative memory structures like a pushdown automaton or a finite-state machine. While models like the probabilistic Turing machine or quantum Turing machine explore extended computational paradigms, they are evaluated against the classical standard established by Alan Turing.
Consider a simple machine designed to flip binary digits: it changes 0 to 1 and 1 to 0. Its tape alphabet \( \Gamma \) is \(\{0, 1, b\}\), with input alphabet \( \Sigma = \{0, 1\}\). The set of states is \( Q = \{q_0, q_f\} \), starting in \( q_0 \) and halting in final state \( q_f \). The transition function \( \delta \) is defined as: \( \delta(q_0, 0) = (q_0, 1, R) \), \( \delta(q_0, 1) = (q_0, 0, R) \), and \( \delta(q_0, b) = (q_f, b, R) \). Presented with an input like "101" on an otherwise blank tape, the head starts on the leftmost '1'. It flips it to 0, moves right to the 0 and flips it to 1, moves right to the 1 and flips it to 0, and finally encounters a blank, transitioning to \( q_f \) and halting. The resulting tape reads "010", demonstrating a basic but complete computation.
Category:Theoretical computer science Category:Models of computation Category:Alan Turing