Mealy Machine is defined as a machine in the theory of computation whose output values are determined by both its current state and current inputs. In this machine at most one transition is possible.
It has 6 tuples: (Q, q0, ∑, ▲, δ, λ’)
- Q is a finite set of states
- q0 is the initial state
- ∑ is the input alphabet
- ▲ is the output alphabet
- δ is the transition function that maps Q×∑ → Q
- ‘λ’ is the output function that maps Q×∑→ ▲
Prerequisite – Mealy and Moore Machines
The diagram is as follows:

Moore Machine:
Moore’s machine is defined as a machine in the theory of computation whose output values are determined only by its current state. It has also 6 tuples
(Q, q0, ∑, ▲, δ, λ)
- Q is a finite set of states
- q0 is the initial state
- ∑ is the input alphabet
- ▲ is the output alphabet
- δ is the transition function that maps Q×∑ → Q
- λ is the output function that maps Q → ▲
Diagram:

The difference between the Mealy machine and Moore machine is as follows:
Moore Machine | Mealy Machine |
Output depends only upon the present state. | Output depends on the present state as well as present input. |
Moore machine also places its output on the transition. | Mealy Machine places its output on the transition. |
More states are required. | Less number of states are required. |
There is less hardware requirement for circuit implementation. | There is more hardware requirement for circuit implementation. |
They react slower to inputs(One clock cycle later). | They react faster to inputs. |
Synchronous output and state generation. | Asynchronous output generation. |
Output is placed on states. | Output is placed on transitions. |
Easy to design. | It is difficult to design. |
If input changes, output does not change | If input changes, output also changes. |
Has fewer or the same states as that of the Mealy machine. | Has fewer or the same states as that of the Moore machine. |