Model of computation
Mathematical model describing how an output of a function is computed given an input
- 1 min read
- 2 chapters
Related on Lably
Through Computer science, Function (mathematics) and Algorithm
Categories
Models of computation can be classified into three categories: sequential models, functional models, and concurrent models.
Sequential models
Sequential models include:
- Finite-state machines
- Post machines (Post–Turing machines and tag machines).
- Pushdown automata
- Register machines
- Random-access machines
- Turing machines
- Decision tree model
- External memory model
Functional models
Functional models include:
- Abstract rewriting systems
- Combinatory logic
- General recursive functions
- Lambda calculus
Concurrent models
Concurrent models include:
- Actor model
- Cellular automaton
- Interaction nets
- Kahn process networks
- Logic gates and digital circuits
- Petri nets
- Process calculus
- Synchronous Data Flow
Some of these models have both deterministic and nondeterministic variants. Nondeterministic models are used in the study of computational complexity of algorithms.
Models differ in their expressive power; for example, each function that can be computed by a finite-state machine can also be computed by a Turing machine, but not vice versa.
Sign in to keep reading
One more chapter is free with a Lably account.
Uses
In the field of runtime analysis of algorithms, it is common to specify a computational model in terms of primitive operations allowed which have unit cost, or simply unit-cost operations. A commonly used example is the random-access machine, which has unit cost for read and write access to all of its memory cells. In this respect, it differs from the above-mentioned Turing machine model.

