Moore and mealy machines

33,100 views

Published on

Published in: Technology, Business
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
33,100
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
755
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Moore and mealy machines

  1. 1. Finite state Machines with outputMoore and Mealy machines 1
  2. 2. Moore Machine output is associated with statesA 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 2 N+1
  3. 3. NoteAny Moore machine gives outputλ(q0) in response to input - empty string 3
  4. 4. DFA may be viewed as a special case of Moore machine whereoutput for accepting state is 1output for nonaccepting state is 0 4
  5. 5. ExampleTo 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 2iIf I is followed by 1 the resulting string has value 2i +1If a string x(when treated as binary integer) has remainder p(when divided by 3) then string ‘x0’ will have remainder 2p mod 3And string ‘X1’ will have remainder 2p+1 mod 3 5
  6. 6. input 1010 value 10 so 10 mod 3 = 1 q0 1 q1 0 q2 1 q2 0 q1output 0 1 2 2 1 0 1 2 1 0 q0 q1 q2 1 0 1 0 6
  7. 7. • 25 = 1 1 0 0 1 • Q0- 1 q1 – 1- q0 0- q0- 0 - q0 – 1 – q1 •0 1 0 0 0 1 7
  8. 8. Mealy Machine out put is associated with transitionA 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. 8
  9. 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) = qiNote that this sequence has length n rather that n+1 as in Moore machine 9
  10. 10. Mealy machine to add two integers using their binary expansionsInputs xn xn-1 …x0 yn yn-1…y0We 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) 10
  11. 11. Input 010010 18 011101 29 01, 1 01, 0 47 11, 0 q0 q1 00, 0 00, 1 11, 1 10, 1 10, 0 0 - 01- q0 - 10 - q0 - 01 - q0- 01 - q0- 11 - q1 - 00- q0 1 1 1 1 0 1 11out put is : 1 0 1 1 1 1 value 47
  12. 12. Equivalence of Moore and Mealy MachinesA 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 12
  13. 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 13
  14. 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 14
  15. 15. 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 0 1 2 1/1 0/2 q0 q1 q2 1/0 0/1 1/2 0/0Out put for Mealy machine on the same input 15q0 - 1 (1) q1 - 0 (2) q2- 1 (2) q2 - 0 (1) q1
  16. 16. • on input 1010 out by Moore machine is 0 1 2 2 1While 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 machineHence the machine made is equivalent to the give Moore machine. 16
  17. 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. 17
  18. 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 intoQi0, qi1, qi2 ie. In the Moore machine in place of qi state we take three stateqi0, qi1, qi2.With these states we associate outputs as 0,1,2 respectively in the Moore machine 18
  19. 19. In q0 four edges are terminating and in different outputs on them are only two 0 and 1So q0 is split into two states q00 and q01 01, 1 01, 0 11, 0 q0 q1 00, 0 00, 1 11, 1 10, 1 10, 0Similarly on state q1 four edges are terminating with twodifferent output vales 0 and 1 so it is also split into twonew states as q10 and q11. 19
  20. 20. 01,10 00 00 00 q01 1 1 01 11 10, 01 q11 q00 100 00 11 11 11 q10 0 01,10010010 18 q00 -01-q01-10-q01-01-q01-01-q01-11-q10-00- q01 20011101 29 0 1 1 1 1 0 1 ie 101111 = 47
  21. 21. • 0 1 0 0 1 0 18• 0 1 1 1 0 1 29 47q00 - 01- q01 -10 - q01 - 01- q01 - 01- q01-11- q10 – 00 - q01• 0 1 1 1 1 0 1 ie• 101111 = 47 21

×