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

Slides:



Advertisements
Similar presentations
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Advertisements

Counters. In class excercise How to implement a “counter”, which will count as 0,3,1,4,5,7,0,3,1,…… Q2Q1Q0D2D1D
1 EE365 Sequential-circuit analysis. 2 Clocked synchronous seq. circuits A.k.a. “state machines” Use edge-triggered flip-flops All flip-flops are triggered.
CS 151 Digital Systems Design Lecture 21 Analyzing Sequential Circuits.
Slope intercept form of an equation
Computability and Complexity 4-1 Existence of Undecidable Problems Computability and Complexity Andrei Bulatov.
EECS 20 Lecture 14 (February 16, 2001) Tom Henzinger Nondeterminism.
EECS 20 Lecture 11 (February 9, 2001) Tom Henzinger Feedback.
EECS 20 Lecture 38 (April 27, 2001) Tom Henzinger Review.
COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
Finite Automata and Non Determinism
Transparency No. 2-1 Formal Language and Automata Theory Chapter 2 Deterministic Finite Automata (DFA) (include Lecture 3 and 4)
ECE 331 – Digital System Design State Reduction and State Assignment (Lecture #22) The slides included herein were taken from the materials accompanying.
EECS 20 Lecture 15 (February 21, 2001) Tom Henzinger Simulation.
1 Sequential logic networks I. Motivation & Examples  Output depends on current input and past history of inputs.  “State” embodies all the information.
EECS 20 Lecture 13 (February 14, 2001) Tom Henzinger Minimization.
EECS 20 Chapter 5 Part 11 Linear Infinite State Systems Last time we Looked at state machines with feedback Considered state machines with constant or.
Sequential Logic Design
Week 2/3 1.System interconnections (block diagrams) 2.Finite State Machines (Chapter 3)
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
EECS 20 Lecture 1 (January 17, 2001) Tom Henzinger Motivation.
EECS 20 Lecture 8 (February 2, 2001) Tom Henzinger State Machines.
EECS 20 Lecture 9 (February 5, 2001) Tom Henzinger Transition Diagrams.
EECS 20 Lecture 6 (January 29, 2001) Tom Henzinger Transducive Systems.
Sequential Logic Design
EECS 20 Lecture 7 (January 31, 2001) Tom Henzinger Reactive Systems.
Week 1 1.websitewebsite 2.takehome examtakehome 3.Chapter Appendix A.
Week 4 1.More examples 2.Nondeterminism, equivalence, simulation (Ch 3) 3.Composition (Ch 4)
EECS 20 Chapter 4 Sections Connecting State Machines Last time we Introduced the nondeterministic state machine Highlighted differences between.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 18 Instructor: Paul Beame.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
EECS 20 Lecture 4 (January 24, 2001) Tom Henzinger Block Diagrams.
EECS 20 Lecture 10 (February 7, 2001) Tom Henzinger Product Machines.
EECS 20 Chapter 3 Sections State Machines Continued Last time we Introduced the deterministic finite state machine Discussed the concept of state.
CHAPTER 3 Counters.  One of the common requirement in digital circuits/system is counting, both direction (forward and backward)  Digital clocks and.
1 Lecture 15 Registers Counters Finite State Machine (FSM) design.
Lecture 9: Structure for Discrete-Time System XILIANG LUO 2014/11 1.
IKI c-Synthesis of Sequential Logic Bobby Nazief Semester-I The materials on these slides are adopted from: Prof. Daniel Gajski’s transparency.
Rosen 5th ed., ch. 11 Ref: Wikipedia
Circuit, State Diagram, State Table
Sequential Circuits. Combinational Circuits + Storage element output depends both on previous state and input Fig. 5-1.
EE434 ASIC & Digital Systems
1 CSE370, Lecture 15 Lecture 15 u Logistics n HW5 due this Friday n HW6 out today, due Friday Feb 20 n I will be away Friday, so no office hour n Bruce.
Counters. In class excercise How to implement a “counter”, which will count as 0,3,1,4,5,7,0,3,1,…… Q2Q1Q0D2D1D
CHAPTER 8 - COUNTER -.
1 Recap lecture 22 Applications of complementing and incrementing machines, Equivalent machines, Moore equivalent to Mealy, proof, example, Mealy equivalent.
1 Recap lecture 21 Example of Moore machine, Mealy machine, Examples, complementing machine, Incrementing machine.
Digital Circuits State Reduction and Assignment State Reduction reductions on the number of flip-flops and the number of gates a reduction in the.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
1 State Reduction Goal: reduce the number of states while keeping the external input-output requirements unchanged. State reduction example: a: input 0.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 10 Automata, Grammars and Languages.
Introduction to Sequential Logic Design Finite State-Machine Analysis.
Nondeterministic Finite State Machines Chapter 5.
Lecture No. 29 Sequential Logic.
Mealy and Moore Machines Lecture 8 Overview Moore Machines Mealy Machines Sequential Circuits.
1 Advanced Theory of Computation Finite Automata with output Pumping Lemma Theorem.
Finite Automata (FA) with Output FA discussed so far, is just associated with R.Es or language. Is there exist an FA which generates an output string corresponding.
Sequential Networks and Finite State Machines
Lab. on Finite State Machine
Undecidable Problems (unsolvable problems)
Motivation EECS 20 Lecture 1 (January 17, 2001) Tom Henzinger.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Finite State Machines.
Lecture No. 32 Sequential Logic.
State Machines EECS 20 Lecture 8 (February 2, 2001) Tom Henzinger.
Counters.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Mealy and Moore Machines
Digital System Design ASMD based Design
Presentation transcript:

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

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

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

Delay 0 0 1

0 1

0 1 1 / 0 0 / 0

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

Delay 0 State: ( q1, q2 ) q2q1

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

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

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

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

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

Delay 0

Well-formed !

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

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

Delay 0 Feedback 0 1  / 0  / 1

Delay 0 Feedback Only one run ! Time Input         Output State

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

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.

Delay 0 Feedback 0  / 0

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

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.

Time Input         Output State One run Infinitely many states /0/0 /3/3 /2/2 /1/1

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.

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

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

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 ]

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

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

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

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].

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.

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) }

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

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

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

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.