1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine,...

25
1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

Transcript of 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine,...

Page 1: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

1

Recap lecture 21

Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

Page 2: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

2

Solution of the Task

Incrementing machine with two states

0/1

q1

q0 1/0

0/0, 1/1

Page 3: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

3

Applications of Incrementing and Complementing machines

1’s complementing and incrementing machines which are basically Mealy machines are very much helpful in computing.The incrementing machine helps in building a machine that can perform the addition of binary numbers.Using the complementing machine along with incrementing machine, one can build a machine that can perform the subtraction of binary numbers, as shown in the following method

Page 4: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

4

Subtracting a binary number from another

Method: To subtract a binary b from a binary number a

1. Add 1’s complement of b to a (ignoring the overflow, if any)

2. Increase the result, in magnitude, by 1 (use the incrementing machine ). Ignoring the overflow if any.

Note: If there is no overflow in (1). Take 1’s complement once again in (2), instead. This situation occurs when b is greater than a, in magnitude. Following is an example of subtraction of binary numbers

Page 5: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

5

ExampleTo subtract the binary number 101 from the binary number 1110, let

a = 1110 and b = 101 = 0101. (Here the number of digits of b are equated with that of a)i) Adding 1’s complement (1010) of b to a.

1110 +1010 11000 which gives 1000 ( ignoring the

overflow)

Page 6: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

6

Example continued …

ii) Using the incrementing machine, increase the above result 1000, in magnitude, by 1

1000

+1

1001 which is the same as obtained by ordinary subtraction.

Page 7: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

7

Note

It may be noted that the above method of subtraction of binary numbers may be applied to subtraction of decimal numbers with the change that 9’s complement of b will be added to a, instead in step (1). Following is the task in this regard

Page 8: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

8

Task

Subtract 39 from 64Solution: Taking a=64 and b=39.

i) Adding 9’s complement (60) of b to a.64

+60 124 which gives 24 ( ignoring the overflow)ii) Increasing the above result 24, in magnitude, by 1 24

+1 25 which is the same

as obtained by ordinary subtraction.

Page 9: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

9

Equivalent machinesTwo machines are said to be equivalent if they print the same output string when the same input string is run on them.Remark: Two Moore machines may be equivalent. Similarly two Mealy machines may also be equivalent, but a Moore machine can’t be equivalent to any Mealy machine. However, ignoring the extra character printed by the Moore machine, there exists a Mealy machine which is equivalent to the Moore machine.

Page 10: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

10

TheoremStatement:

For every Moore machine there is a Mealy machine that is equivalent to it (ignoring the extra character printed by the Moore machine).

Proof: Let M be a Moore machine, then shifting the output characters corresponding to each state to the labels of corresponding incoming transitions, machine thus obtained will be a Mealy machine equivalent to M.

Following is a note

Page 11: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

11

Note

It may be noted that while converting a Moore machine into an equivalent Mealy machine, the output character of a state will be ignored if there is no incoming transition at that state. A loop at a state is also supposed to be an incoming transition.

Following is the example of converting a Moore machine into an equivalent Mealy machine

Page 12: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

12

ExampleConsider the following Moore machine

Using the method described earlier, the above machine may be equivalent to the following Mealy machine

b

a

q0/0

a

b

q1/1

q2/0 q3/1a,ba

b

Page 13: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

13

Example continued ...

b/0

a/1

q0

a /1

b /1

q1

q2q3

a /1,b /1a /0

b /0

Running the string abbabbba on both the machines, the output string can be determined by the following table

Page 14: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

14

Example continued ...

111111010Moore

q3q3q3q3q3q3q2q1q0States

abbbabbaInput

11111101Mealy

Page 15: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

15

TheoremStatement:For every Mealy machine there is a Moore machine that is equivalent to it (ignoring the extra character printed the Moore machine). Proof: Let M be a Mealy machine. At each state there are two possibilities for incoming transitions 1. The incoming transitions have the same

output character. 2. The incoming transitions have different

output characters.

Page 16: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

16

Proof continued …

If all the transitions have same output characters, then shift that character to the corresponding state.If all the transitions have different output characters, then the state will be converted to as many states as the number of different output characters for these transitions, which shows that if this happens at state qi then qi will be converted to qi

1 and qi2 i.e. if at qi there are the transitions

with two output characters then qi1 for one

character and qi2 for other character.

Page 17: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

17

Proof continued …

Shift the output characters of the transitions to the corresponding new states qi

1 and qi2. Moreover, these new

states qi1 and qi

2 should behave like qi as well. Continuing the process, the machine thus obtained, will be a Moore machine equivalent to Mealy machine M.Following is a note

Page 18: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

18

Note

It may be noted that if there is no incoming transition at certain state then any of the output characters may be associated with that state.

It may also be noted that if the initial state is converted into more than one new states then only one of these new states will be considered to be the initial state. Following is an example

Page 19: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

19

ExampleConsider the following Mealy machine

a/0

b/1

a/1

q1

a/0

q2

q0q3 a/1

b/0

b/1

b/1

Page 20: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

20

Example continued ...

a/0

b

a/1

q1

a/0

q2

q0/1 q3 a/1b/0

b/1

b/1

Shifting the output character 1 of transition b to q0

Page 21: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

21

Example continued ...

a

b

a/1

q1/0

a/0

q2

q0/1q3 a/1

b/0

b/1

b/1

Shifting the output character 0 of transition a to q1

Page 22: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

22

Example continued ...

a

b

a/1

q1/0

a/0

q2/1

q0/1q3 a/1

b/0

b/1

b

Shifting the output character 1 of transition b to q2

Page 23: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

23

Example continued ...

a

q1/0 q2/1

q0/1

q3/0

b

q3/1

a

a b

b

b

b

a

1

2

a

Splitting q3

into q3 and q3

1 2

Page 24: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

24

Example continued …Running the string abbabbba on both the machines, the output strings can be determined by the following table

01011110Mealy

q1q0q3q0q3q3q2q1q0States

abbbabbaInput

010111101Moore

Page 25: 1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.

25

Summing Up

Applications of complementing and incrementing machines, Equivalent machines, Moore equivalent to Mealy, proof, example, Mealy equivalent to Moore, proof, example