Essential cookies keep your basket and sign-in working. Optional cookies help us understand visits and measure ads. Privacy details.
Abstract mathematical model of computation that defines what is computable.
AI-assisted explanation. It may contain errors; use a textbook or original source to check important details.
A Turing machine isn’t a single “equation” so much as a minimalist blueprint for what it means to compute. Imagine an infinitely long strip of paper (a tape) divided into squares, like an endless row of sticky notes. Each square can hold a symbol (like 0, 1, or blank). A little “read/write head” sits over one square at a time. At each step, the machine: 1) looks at the current symbol under the head, 2) consults its current internal mode (called a state), 3) follows a rule that tells it what symbol to write, whether to move left or right, and what state to enter next. That’s it—no fancy arithmetic built in, no stacks, no high-level instructions. Yet, with the right set of rules, this tiny mechanical story can emulate any algorithm you can write in a modern programming language. Conceptually, the Turing machine captures a profound idea: “computation” is just symbol manipulation carried out by simple, local steps. The tape is the machine’s memory, the head is like the CPU accessing one memory cell at a time, and the state is the machine’s control logic. When we say a problem is “computable,” we mean there exists some Turing machine whose rules will eventually produce the correct output for every valid input. A common formal definition presents a Turing machine as a 7-tuple: M = (Q, Σ, Γ, δ, q0, q_accept, q_reject) where Q is the finite set of states, Σ is the input alphabet, Γ is the tape alphabet (including a blank symbol), δ is the transition function (the rulebook), q0 is the start state, and q_accept/q_reject are halting states. That compact definition is the “equation-like” heart of the model: it precisely specifies the characters in the story and how they interact.
The Turing machine was introduced in 1936 by Alan Turing in his paper “On Computable Numbers, with an Application to the Entscheidungsproblem.” The driving question came from mathematical logic: David Hilbert had asked for a general procedure (an “algorithm”) that could decide whether any mathematical statement is provable—this was the Entscheidungsproblem (decision problem). But “algorithm” was a fuzzy word in the 1930s. Turing’s breakthrough was to crystallize it into an explicit mechanical model: a human “computer” following simple, unambiguous steps while writing symbols on paper. By idealizing that process into the tape-and-head machine, he gave mathematics a rigorous definition of effective procedure. With this model, Turing proved that some problems cannot be decided by any algorithm—most famously the Halting Problem (whether a program eventually stops). This result, alongside related work by Church, Kleene, Post, and Gödel, reshaped the foundations of mathematics and created the theoretical bedrock of computer science.
Pioneered by: Alan Turing (1936). Related foundational contributions to the same notion of computability were made independently/near-independently by Alonzo Church (lambda calculus) and others; together these ideas underpin the Church–Turing thesis.