Mealy machine
From Wikipedia, the free encyclopedia
In the theory of computation, a Mealy machine is a finite state machine (and more accurately, a finite state transducer) that generates an 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 have no output attached. However, for each Mealy machine there is an equivalent Moore machine.
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" in 1955.[1]
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 (a sequence of inputs) can process it into a ciphered string (a sequence of outputs). However, although you could probably use a Mealy model to describe Enigma, the state diagram would be too complex to provide feasible means of designing complex ciphering machines.
Contents |
[edit] Formal definition
A Mealy machine is a 6-tuple, (S, S0, Σ, Λ, T, G), consisting of the following:
- a finite set of states (S)
- a start state (also called initial state) S0 which is an element of (S)
- a finite set called the input alphabet (Σ)
- a finite set called the output alphabet (Λ)
- a transition function (T : S × Σ → S)
- an output function (G : S × Σ → Λ)
[edit] See also
[edit] Footnotes
- ^ Mealy, G.H. (September 1955). "A Method for Synthesizing Sequential Circuits". Bell System Tech. J. 34: 1045–1079.
[edit] References
- Mealy, GH (1955). A Method to Synthesizing Sequential Circuits. Bell System Technical J, 1045-1079.
- Roth, Charles H., Jr. (2004). Fundamentals of Logic Design. Thomson-Engineering, 364-367. ISBN 0534378048.