Jump to content

Mealy machine: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎References: separate footnotes and references, add spacer-dots
interwiki
Line 55: Line 55:
[[pt:Máquina de Mealy]]
[[pt:Máquina de Mealy]]
[[zh:Mealy机]]
[[zh:Mealy机]]
[[fr:Machine de Mealy]]

Revision as of 10:23, 2 December 2007

The state diagram of a simple Mealy machine

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 input 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.

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 × Σ → Λ)

See also

Footnotes

  1. ^ Mealy, G.H. (1955). "A Method for Synthesizing Sequential Circuits". Bell System Tech. J. 34: 1045–1079. {{cite journal}}: Unknown parameter |month= ignored (help)

References

  • Mealy, GH (1955). A Method to Synthesizing Sequential Circuits. Bell System Technical J. pp. 1045–1079.
  • Roth, Charles H., Jr. (2004). Fundamentals of Logic Design. Thomson-Engineering. pp. 364–367. ISBN 0534378048.{{cite book}}: CS1 maint: multiple names: authors list (link)