Introduction 

Each transformation can have an output in a finite automaton. There are two types of output-generating finite state machines and those are: 

  • Mealy Machine
  • Moore machine

Let us discuss Moore and mealy machine with Moore and mealy machine examples.

In this article let us look at:

  1. Moore Machines
  2. Mealy Machines
  3. Conversion from Mealy to Moore Machine
  4. Conversion from Moore machine to mealy machine
  5. Difference between moore and mealy machine

1. Moore Machines

Moore’s machine is a finite state machine (FSM) whose outputs are solely dependent on the current state. Let us define as (Q, q0, ∑, O, δ, λ) where:

  • Q = finite set of states.
  • q0 = initial state.
  • ∑ = input alphabet.
  • O = output alphabet.
  • δ = transition function that maps Q×∑ → Q.
  • λ = output function that maps Q → O.

In fig. 1, the output of the Moore machine is represented by /, which distinguishes each input state. A Moore machine output is one length longer than its input.

11 inputs

(q0,11)=> (q2,1)=>q2 Transition

Result: 000 

2. Mealy Machines

Mealy machines are FSM with an output value that is determined by the current state and input symbol. It can be written as (Q, q0, ∑, O, δ, λ’), where:

  • Q = finite set of states.
  • q0 = initial state.
  • ∑ = input alphabet.
  • O = output alphabet.
  • δ = transition function that maps Q×∑ → Q.
  • ‘λ’  = output function that maps Q×∑→ O.

The output of the mealy machine depicted in Figure 1 is represented by each input symbol. The output length of a mealy machine is the same as the input length.

Input: 11

Transition: δ (q0, 11)=> δ(q2,1)=>q2

Output: 00

3. Conversion from Mealy to Moore Machine

Take a look at Figure 2 for a mealy system transformation chart. This will make a clear understanding of mealy to Moore conversion.

Input=0Input=1
Present StateNext StateOutputNext StateOutput
q0q10q20
q1q10q21
q2q11q20

Table – 1

Step 1: Identify the states that have multiple outputs associated with them. The states q1 and q2 have all outputs and 0, 1 is associated with them.

Step 2: For each of these states, create two states. Q10 (output 0 state) and q11 (output 1 state) will be the two states for q1 (output 1 state). Similarly, q2 will have two states: q20 and q21.

Step 3: Generate a new state for an empty Moore machine. The output of a Moore state diagram will be associated with each state, regardless of the inputs. 

Step 4: Using the transition table in Table 1, fill in the entries for the next state. The next state for q0 on input 0 is q10. Similarly, the next state for q0 on input 1 is q20. On input 0, the next state for q1 is q10. Similarly, the next state for q1 is q21. The output for q10 will be 0 and for q11, it will be 1. 

Input=0Input=1
Present StateNext StateNext StateOutput
q0q10q200
q10q10q210
q11q10q211
q20q11q200
q21q11q201

            Table – 2

4. Conversion from Moore machine to mealy machine

Step 1: Let us assemble all of the Moore machine states using all an empty mealy machine(in Table 4).

Input=0Input=1
Present StateNext StateOutputNext StateOutput
q0
q10
q11
q20
q21

Table – 3

Step 2: From the Moore Machine Transition Table, you will find the next state for each state as follows:

Input=0Input=1
Present StateNext StateOutputNext StateOutput
q0q10q20
q10q10q21
q11q10q21
q20q11q20
q21q11q20

Table – 4

Step 3: In the Moore machine transition table, we can see that each input corresponds to an output. Fill in the Output entries with this. For Moore machine example, the output for q11, q20, q10 and q21 is 0, 1, 0, and 1, respectively.

Input=0Input=1
Present StateNext StateOutputNext StateOutput
q0q100q200
q10q100q211
q11q100q211
q20q111q200
q21q111q200

Table – 5

Step 4: As can be seen in table 6, q10 and q11 are very similar. Similarly, q20 and q21 have a lot in common. As a result, q11 and q21 can be ruled out.

Input=0Input=1
Present StateNext StateOutputNext StateOutput
q0q100q200
q10q100q211
q20q111q200

Table – 6

5. Difference between moore and mealy machine

The points that distinguish between a moore and mealy machine are highlighted in the table below.

Mealy MachineMoore Machine
The output is determined by both the current state and the current input.The output solely determined by the current state.
It has fewer states than the Moore MachineIt has a larger number of states than Mealy Machine.
When the input logic on the current state is completed, the value of the output function is a function of the transitions and modifications.When state changes occur, the output function’s value is a function of the current state and the changes at the clock edges.

Mealy machines respond to inputs more quickly. They all tend to respond in the same way.
More logic is needed to decode the outputs in the Moore model, resulting in longer circuit delays. They usually respond after one clock cycle.

Conclusion

Hope this article has given a clear idea about the moore and mealy machine and the application of Moore and mealy machine.

There are no right or wrong ways of learning AI and ML technologies – the more, the better! These valuable resources can be the starting point for your journey on how to learn Artificial Intelligence and Machine Learning. Do pursuing AI and ML interest you? If you want to step into the world of emerging tech, you can accelerate your career with this Machine Learning And AI Courses by Jigsaw Academy.

ALSO READ

SHARE