Computational Model

A computational model is an abstract, precise definition of how a computation proceeds: what its states are, what steps are allowed, and what counts as an answer. The Stanford Encyclopedia of Philosophy describes how, in the 1930s, “various mathematicians from around the world invented precise, independent definitions of what it means to be computable,” including Turing machines, the lambda calculus, and the recursive functions. Each is a different model of the same underlying idea.

Models matter because they let us reason precisely instead of intuitively. A Turing machine is defined by “a finite set of possible states” together with “a potentially infinite tape,” which makes it possible to prove that certain problems, such as the halting problem, cannot be solved by any program at all. Without a fixed model, claims about what can and cannot be computed would have no rigorous meaning.

A striking discovery is that many different-looking models turn out to be equivalent in power. After proving that Turing machines, the lambda calculus, and the recursive functions all define the same class of functions, the field arrived at the Church-Turing thesis: the intuitive notion of “computable in principle” coincides with these formal definitions. This is why it is safe to speak of computability without committing to one particular machine.

Other models are chosen for what they make easy to measure. Finite automata and pushdown automata define language classes that map onto lexing and parsing; the RAM model resembles a real computer closely enough to count operations for algorithm analysis; cellular automata expose how local rules produce global behavior. Picking the right model lets us ask both what is computable and how costly that computation is.