Finite-state Machine
https://en.wikipedia.org/wiki/Finite-state_machine
Terms
Finite-state Machine
model of computation
abstract machine
Contents
Finite-state machines
CL ⊆ FSM ⊆ PDA ⊆ TM
A finite-state machine (FSM), a mathematical model of computation, is an abstract machine that can be in exactly one of a finite number of states at any given time.
The FSM can change from one state to another in response to some inputs; the change from one state to another is called a transition. An FSM is defined by a list of states, the initial state, and the inputs that trigger each transition. The set of transition conditions (inputs) is called an alphabet.
FSM have two types: DFSM and NDFSM. A deterministic finite-state machine can be constructed equivalent to any non-deterministic one.
FSM is defined by a 5-tuple consisting of an alphabet (a set of symbols), a set of states, an initial state, a set of final states and a transition function.
FSM := (Σ, Q, q0, F, δ)
The set of all possible states is denoted by Q
Q is a finite, non-empty, set; e.g. Q = { S_1, S_2 }
in a diagram, each state is represented with a circle
The initial state is denoted by q₀ where q₀ ∈ Q
there can be only one initial state
the initial state is marked by an arrow coming into it out of nowhere
the initial state may also be an end state
The set of input symbols is the alphabet, Σ
it is a finite, non-empty set of symbols; e.g. Σ = { 0, 1 }
input symbols are drawn as arrows to/from state circles
The set (possibly empty) of final states F where F ⊆ Q
e.g. F = {S_1}
an ending state is outlined by an extra circle (double circle)
The state-transition function δ of type
δ : Q ⨯ Σ -> S
δ : Q ⨯ Σ -> S
≅δ : Q -> Σ -> S
a Cartesian product of the set of states and the alphabet
e.g.
δ S₂ 1 -> S₂
δ takes a state and an input symbol and returns a state to transition to
the state to transition to may be the same state (remain in current state)
FSM classification
Two types of FSM:
Deterministic finite state machines
Non-deterministic finite state machines
A further distinction is between deterministic automata (DFA) and non-deterministic (NFA) automata.
In a deterministic automata, every state has exactly one transition for each possible input.
In a non-deterministic automata, an input can lead to one, more than one, or no transition for a given state.
The powerset construction algorithm can transform any nondeterministic automaton into a (usually more complex) deterministic automaton with identical functionality (it is often a step before simplifying that repr further).
A deterministic FSM be constructed equivalent to any non-deterministic one.
FSM subtypes
Acceptor (recognizer, sequence detector)
Classifier
Transducer
Moore FSM
Mealy FSM
Generator (sequencer)
Acceptors (aka recognizers, sequence detectors) produce boolean output indicating if the received input is accepted.
Classifiers are a generalization of a FSM, similar to an acceptor, that produce a single output on termination but have more than two terminal states.
Transducers generate output based on a given input and/or a state using actions. They are used for control applications.
Moore FSM uses only entry actions, i.e. output depends only on the state.
Mealy FSM uses input actions, i.e. output depends on input and state.
Generators or sequencers are a subclass of the acceptor and transducer types that have a single-letter input alphabet. They produce only one sequence which can be seen as an output sequence of acceptor or transducer outputs.
Last updated
Was this helpful?