Presentation is loading. Please wait.

Presentation is loading. Please wait.

EECS 20 Lecture 12 (February 12, 2001) Tom Henzinger Equivalence.

Similar presentations


Presentation on theme: "EECS 20 Lecture 12 (February 12, 2001) Tom Henzinger Equivalence."— Presentation transcript:

1 EECS 20 Lecture 12 (February 12, 2001) Tom Henzinger Equivalence

2 Quiz 1. Draw the transition diagram of the system Delay 0 : [ Nats 0  Bins ]  [ Nats 0  Bins ]  x  [ Nats 0  Bins ],  y  Nats 0, ( Delay 0 (x)) (y) = 2. Draw the transition diagram of the system 0 if y = 0 x (y-1) if y > 0 { Delay 0

3 State before time t : 0 if input at time t-1 was 0, or if t = 0 1 if input at time t-1 was 1

4 Delay 0 0 1

5 0 1

6 0 1 1 / 0 0 / 0

7 Delay 0 0 1 1 / 0 0 / 1 1 / 1 0 / 0

8 Delay 0 State: ( q1, q2 ) q2q1

9 Delay 0 q2q1 0,0 1,0 0,1 1,1

10 Delay 0 q2q1 0,0 1,0 0,1 1,1

11 Delay 0 q2q1 0,0 1,0 0,1 1,1 1 / 0 0 / 0

12 Delay 0 q2q1 0,0 1,0 0,1 1,1 1 / 0 0 / 0 0/00/0 1 / 0

13 Delay 0 q2q1 0,0 1,0 0,1 1,1 1 / 0 0 / 0 0/00/0 1 / 0 1/11/1 0 / 1 1 / 1

14 Delay 0

15 Well-formed !

16 Delay 0 Feedback Feedback : [ Nats 0  Unit ]  [ Nats 0  Bins ] where Unit = {  }.

17 Delay 0 Feedback Inputs : Unit Outputs: Bins States: { 0, 1 } initialState = 0 q x output (q,x) nextState (q,x) 0  0 0 1  1 1

18 Delay 0 Feedback 0 1  / 0  / 1

19 Delay 0 Feedback Only one run ! Time 0 1 2 3 4 5 6 7 Input         Output 0 0 0 0 0 0 0 0 State 0 0 0 0 0 0 0 0 0

20 Delay 0 Feedback 0 1  / 0  / 1 unreachable

21 A state q of a state machine M is unreachable iff q occurs on no run of M ; that is, iff there is no path from the initial state of M to q. Unreachable states can be removed without changing the system (input/output function) implemented by M.

22 Delay 0 Feedback 0  / 0

23 A more interesting system without inputs Counter Nats 0  Nats 0 0, 1, 2, 3, 4, 5, …

24 State-machine implementation of Counter Counter Nats 0  Nats 0 0, 1, 2, 3, 4, 5, … Delay 0 Inc where  n  Nats 0, inc (n) = n + 1.

25 Time 0 1 2 3 4 5 6 7 Input         Output 0 1 2 3 4 5 6 7 State 0 1 2 3 4 5 6 7 8 One run Infinitely many states 04321 /0/0 /3/3 /2/2 /1/1

26 Yet another system without inputs ModCounter Nats 0  Nats 0 0, 1, 2, 3, 0, 1, 2, … Delay 0 IncMod4 where  n  Nats 0, incMod4 (n) = ( n + 1 ) mod 4.

27 Transition diagram of ModCounter 0321 /0/0 /3/3 /2/2 /1/1

28 A discrete-time reactive system can have many different state-machine implementations.

29 Two state machines M1 and M2 are equivalent iff they implement the same system (input/output function); that is, iff 1. Inputs [M1] = Inputs [M2], 2. Outputs [M1] = Outputs [M2], and 3.  x  [ Nats 0  Inputs ], M1 (x) = M2 (x).  [ Nats 0  Outputs ]

30 Equivalent State Machines 0 1 1/01/0 0/10/1 1/11/10/00/0 M1 a b 1/01/0 0/10/1 1/11/10/00/0 M2

31 Equivalent State Machines 0 1  / 0  / 1 M1 0  / 0 M2 2 states 1 state

32 Equivalent State Machines 0 1 1/01/0 0/10/1 1/11/10/00/0 M1 0 1 M2 i 1/01/0 0/10/1 1/11/1 0/00/0 0/00/0 1/01/0 3 states 2 states

33 Theorem : Two state machines M1 and M2 are equivalent iff there exists a bisimulation between M1 and M2. A binary relation B between States [M1] and States [M2] ; that is, B  States [M1]  States [M2].

34 A binary relation B  States [M1]  States [M2] is a bisimulation iff 1. ( initialState [M1], initialState [M2] )  B and 2.  p  States [M1],  q  States [M2], if ( p, q )  B, then  x  Inputs [M1], output [M1] ( p, x ) = output [M2] ( q, x ) and ( nextState [M1] ( p, x ), nextState [M2] ( q, x) )  B.

35 0 1 1/01/0 0/10/1 1/11/10/00/0 M1 a b 1/01/0 0/10/1 1/11/10/00/0 M2 Bisimulation B = { ( 0, a ), ( 1, b) }

36  / 0  / 1 M1  / 0 M2 Bisimulation B = { ( p 0, q 0 ) } p0p0 q0q0 p1p1

37 Bisimulation B = { ( p 0, q i ), ( p 0, q 0 ), ( p 1, q 1 ) } p0p0 1/01/0 0/10/1 1/11/10/00/0 M1 M2 1/01/0 0/10/1 1/11/1 0/00/0 0/00/0 1/01/0 q0q0 q1q1 qiqi p1p1

38 Equivalence between state machines: refers only to input and output signals. Bisimulation between state machines: refers to states.

39 Why is bisimulation useful ? “Equivalence” says something about infinitely many possible input signals. For finite state machines, “bisimulation” says something about finitely many possible relationships between states. Bisimulation, therefore, is easier to check than equivalence.


Download ppt "EECS 20 Lecture 12 (February 12, 2001) Tom Henzinger Equivalence."

Similar presentations


Ads by Google