Mealy machine
In the theory of computation, a Mealy machine is a type of transducer, a
finite state machine that generates an output for each transition. Mealy machines generate output based on its current state and an input. This means that the
state diagram will include both an input and output signal for each transition edge. In contrast, the output of a
Moore finite state machine depends only on the machine's current state, transitions having no input attached. However, for each Mealy machine there is an equivalent Moore machine whose states are the union of the Mealy machine's states and the Cartesian product of the Mealy machine's states and the input alphabet.
Encyclopedia
In the theory of computation, a
Mealy machine is a type of transducer, a
finite state machine that generates an output for each transition. Mealy machines generate output based on its current state and an input. This means that the
state diagram will include both an input and output signal for each transition edge. In contrast, the output of a
Moore finite state machine depends only on the machine's current state, transitions having no input attached. However, for each Mealy machine there is an equivalent Moore machine whose states are the union of the Mealy machine's states and the Cartesian product of the Mealy machine's states and the input alphabet.
The name "Mealy machine" comes from that of the concept's promoter: G. H. Mealy, a state machine pioneer, who wrote
A Method for Synthesizing Sequential Circuits, Bell System Tech. J. vol 34, pp. 1045–1079, September 1955.
Mealy machines provide a rudimentary mathematical model for cipher machines. Considering the input and output alphabet the
Latin alphabet, for example, then a mealy machine can be designed that given a string of letters , it can process it into a ciphered string . However, although you could probably use a Mealy model to describe
Enigma, the state diagram would be too complex to provide feasable means of designing complex ciphering machines.
Formal definition
A Mealy machine is a 6-tuple,
, consisting of
- a finite set of states
- a start state S0 which is an element of
- a finite set called the input alphabet
- a finite set called the output alphabet
- a transition function
- an output function
See also