Moore and mealy machines
-
Upload
lavishkaanuj -
Category
Technology
-
view
16.682 -
download
17
description
Transcript of Moore and mealy machines
1
Moore and Mealy machines
Finite state Machines with output
2
Moore Machine output is associated with states
A Moore machine is a six tuple (Q , , , , , q0) : Is the output alphabet : I s a mapping from Q to giving output
associated with each state.Output in response to input a1 a2 …an is(q0) (q1) (q2)… (qn)
Where q0, q1,…qn is the sequence of states such that (qi-1,ai) = qi
STRING LENGTH N+1
3
Note
Any Moore machine gives output
(q0) in response to input - empty string
4
DFA may be viewed as a special case of Moore machine where
output for accepting state is 1
output for nonaccepting state is 0
5
Example
To find the residue mod 3 for binary string treated as a binary integer
if a number i written in binary is followed by 0, resulting string has value 2i
If I is followed by 1 the resulting string has value 2i +1
If a string x(when treated as binary integer) has remainder p(when divided by 3) then string ‘x0’ will have remainder 2p mod 3
And string ‘X1’ will have remainder 2p+1 mod 3
6
q0 q1 q2
0
input 1010 value 10 so 10 mod 3 = 1
q0 1 q1 0 q2 1 q2 0 q1
output 0 1 2 2 1
1 20
1
1
1
0
0
7
• 25 = 1 1 0 0 1• Q0- 1 q1 – 1- q0 0- q0- 0 - q0 – 1 – q1• 0 1 0 0 0 1
8
Mealy Machine out put is associated with transition
A Mealy machine is a six tuple (Q , , , , , q0) : Is the output alphabet : I s a mapping from QX to giving
output (q,a) associated with the transitions from state q and input each state.
9
Output in response to input a1 a2 …an is
(q0, a1) (q1,a2) (q2,a3)… (qn-1,an)
Where q0, q1,…qn is the sequence of states such that (qi-1,ai) = qi
Note that this sequence has length n rather that n+1 as in Moore machine
10
Mealy machine to add two integers using their binary expansions
Inputs xn xn-1 …x0
yn yn-1…y0
We assume that both xn and yn are zero. a state q0 represents that previous carry is
zeroA state q1 represents that previous carry was
1Inputs to the machine are pairs of bits: there
are four possible inputs(00,01,10,11)
11
Input 0 1 0 0 1 0 18
0 1 1 1 0 1 29
47
q0 q1
11, 0
01, 1 01, 0
00, 100, 0
10, 1
11, 1
10, 0
q0 - 01- q0 - 10 - q0 - 01 - q0- 01 - q0- 11 - q1 - 00- q0
1 1 1 1 0 1
out put is : 1 0 1 1 1 1 value 47
12
Equivalence of Moore and Mealy Machines
A Moore machine M can never be correctly equivalent to a Mealy machine M’ because the length of output string from a Moore machine M is one greater than that from the Mealy machine M’ on the same input.
However we may neglect the response of Moore machine to input and say
13
Moore machine M and a Mealy machine M’ are equivalent if for all inputs w
b TM’ (w) = TM(w)
where b is the output of Moore machine M for its initial state
14
• Theorem: I If M1= (Q , , , , , q0)is a Moore machine then there is a Mealy machineM2 equivalent to M1
• Proof: Construct Mealy machine M2 as
(Q , , , , ’, q0) ’ is defined as:
’(q,a) = ((q,a)) for all states q and input symbols a
15
q0 q1 q2
0
input 1010 value 10 so 10 mod 3 = 1
q0 1 q1 0 q2 1 q2 0 q1
output of Moore 0 1 2 2 1
1 20/2
1/2
1/1
1/0
0/0
0/1
Out put for Mealy machine on the same input
q0 - 1 (1) q1 - 0 (2) q2- 1 (2) q2 - 0 (1) q1
16
• on input 1010 out by Moore machine is 0 1 2 2 1
While output from the constructed Mealy machine is
1 2 2 1By the condition of equivalence we should add out put of q0 0 of Moore
machine in the beginning of out put of Mealy machine
Hence the machine made is equivalent to the give Moore machine.
17
• Theorem: If M1= (Q , , , , , q0)is a Mealy machine then there is a Moore machine M2 equivalent to M1.
• Proof:We can do the reverse of what we did in the construction of Mealy machine.
As the different edges terminating to a node may have different outputs.
18
We look into each state and see the edges with different outputs are terminating to it.
Say state qi is having all the terminating edges with 0,1, 2 as outs on them.
State qi is split into
Qi0, qi1, qi2 ie. In the Moore machine in place of qi state we take three state
qi0, qi1, qi2.
With these states we associate outputs as 0,1,2 respectively in the Moore machine
19
In q0 four edges are terminating and in different outputs on them are only two 0 and 1
So q0 is split into two states q00 and q01
q0 q1
11, 0
01, 1 01, 0
00, 100, 0
10, 1
11, 1
10, 0
Similarly on state q1 four edges are terminating with two different output vales 0 and 1 so it is also split into two new states as q10 and q11.
20
q00
q01
q10
q11
00
01
10
11
01,10
1111
10, 01
01,10
00
11
0 1 0 0 1 0 18 q00 -01-q01-10-q01-01-q01-01-q01-11-q10-00-q01
0 1 1 1 0 1 29 0 1 1 1 1 0 1 ie 101111 = 47
0
1
0
1
00
00
21
• 0 1 0 0 1 0 18
• 0 1 1 1 0 1 29 47
q00 - 01- q01 -10 - q01 - 01- q01 - 01- q01-11- q10 – 00 - q01
• 0 1 1 1 1 0 1 ie
• 101111 = 47