(definition)
Definition: A model of computation consisting of a set of states, a start state, an input alphabet, and a transition function that maps input symbols and current states to a next state. Computation begins in the start state with an input string. It changes to new states depending on the transition function. There are many variants, for instance, machines having actions (outputs) associated with transitions (Mealy machine) or states (Moore machine), multiple start states, transitions conditioned on no input symbol (a null) or more than one transition for a given symbol and state (nondeterministic finite state machine), one or more states designated as accepting states (recognizer), etc.
Also known as finite state automaton.
Generalization (I am a kind of ...)
model of computation, Turing machine, state machine.
Specialization (... is a kind of me.)
deterministic finite state machine, nondeterministic finite state machine, Kripke structure, finite state transducer, Markov chain, hidden Markov model, Mealy machine, Moore machine.
Note: Equivalent to a restricted Turing machine where the head is read-only and shifts only from left to right. After Algorithms and Theory of Computation Handbook, page 24-19, Copyright © 1999 by CRC Press LLC. Appearing in the Dictionary of Computer Science, Engineering and Technology, Copyright © 2000 CRC Press LLC.
Author: PEB
If you have suggestions, corrections, or comments, please get in touch with Paul Black.
Entry modified 3 April 2024.
HTML page formatted Wed Oct 30 12:15:30 2024.
Cite this as:
Paul E. Black, "finite state machine", in
Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 3 April 2024. (accessed TODAY)
Available from: https://www.nist.gov/dads/HTML/finiteStateMachine.html