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.
The FASTAR (Finite Automata Systems - Theoretical and Applied Research) group site links to some papers, conferences, and projects.
If you have suggestions, corrections, or comments, please get in touch with Paul Black.
Entry modified 25 March 2019.
HTML page formatted Mon Mar 25 12:35:26 2019.
Cite this as:
Paul E. Black, "finite state machine", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 25 March 2019. (accessed TODAY) Available from: https://www.nist.gov/dads/HTML/finiteStateMachine.html