EECS 20 Lecture 37 (April 25, 2001) Tom Henzinger Progress Control.

Slides:



Advertisements
Similar presentations
CSE 311 Foundations of Computing I
Advertisements

1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Greedy Algorithms Clayton Andrews 2/26/08. What is an algorithm? “An algorithm is any well-defined computational procedure that takes some value, or set.
Interface-based design Philippe Giabbanelli CMPT 894 – Spring 2008.
Tutorial 6 of CSCI2110 Bipartite Matching Tutor: Zhou Hong ( 周宏 )
Progressively Finite Games
EECS 20 Lecture 14 (February 16, 2001) Tom Henzinger Nondeterminism.
EECS 20 Lecture 38 (April 27, 2001) Tom Henzinger Review.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
EECS 20 Lecture 15 (February 21, 2001) Tom Henzinger Simulation.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 4, 2009 FSM Equivalence Checking.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
EECS 20 Lecture 16 (February 26, 2001) Tom Henzinger Determinization.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
EECS 20 Chapter 21 Defining Signals and Systems Last time we Introduced mathematical notation to help define sets Learned the names of commonly used sets.
6. More on the For-Loop Using the Count Variable Developing For-Loop Solutions.
Sequential Logic Design
CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG)
EECS 20 Lecture 36 (April 23, 2001) Tom Henzinger Safety Control.
Finite State Machines Data Structures and Algorithms for Information Processing 1.
Slide 1 CSPs: Arc Consistency & Domain Splitting Jim Little UBC CS 322 – Search 7 October 1, 2014 Textbook §
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
חישוביות וסיבוכיות Computability and Complexity Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
Graph Coloring Solution in a Deterministic Machine The deterministic solution to coloring problem uses these steps to assign colors to vertices: 1- Given.
Computabilty Computability Finite State Machine. Regular Languages. Homework: Finish Craps. Next Week: On your own: videos +
Defining Programs, Specifications, fault-tolerance, etc.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Push-down Automata Section 3.3 Fri, Oct 21, 2005.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
Mathematical Notions and Terminology Lecture 2 Section 0.2 Fri, Aug 24, 2007.
Program correctness The State-transition model The set of global states = so x s1 x … x sm {sk is the set of local states of process k} S0 ---> S1 --->
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS 3240 – Chapter 4.  Closure Properties  Algorithms for Elementary Questions:  Is a given word, w, in L?  Is L empty, finite or infinite?  Are L.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Computer Graphics Blending CO2409 Computer Graphics Week 14.
Behavior Control of Virtual Vehicle
Objectives Positioning
Brian Mitchell - Drexel University MCS680-FCS 1 Patterns, Automata & Regular Expressions int MSTWeight(int graph[][], int size)
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Optimally Modifying Software for Safety and Functionality Sampath Kannan U.Penn (with Arvind Easwaran & Insup Lee)
Model Checking Lecture 1: Specification Tom Henzinger.
Turing Machine Model Are there computations that no “reasonable” computing machine can perform? –the machine should not store the answer to all possible.
Lab 2. Do now Answers Improperly grounded outlets can cause errors in a computer system that may not be immediately apparent from internal diagnostics.
Parallel Lines.   Two lines that have the same slope.   If you graph them they will never intersect.   We can find the equation of a line parallel.
Krishnendu ChatterjeeFormal Methods Class1 MARKOV CHAINS.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Sequential Flexibility
PROTOCOL CORRECTNESS Tutorial 3 Theoretical
Computer Science cpsc322, Lecture 13
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
ESE535: Electronic Design Automation
Computer Science cpsc322, Lecture 13
Motivation EECS 20 Lecture 1 (January 17, 2001) Tom Henzinger.
Alternating tree Automata and Parity games
Colours.
Relations vs. Functions Function Notation, & Evaluation
CSE322 NDFA WITH NULL MOVES AND REGULAR EXPRESSION
CSC 4170 Theory of Computation The class NP Section 7.3.
CS210- Lecture 5 Jun 9, 2005 Agenda Queues
ESE535: Electronic Design Automation
CSC 4170 Theory of Computation The class NP Section 7.3.
EGR 2131 Unit 12 Synchronous Sequential Circuits
Presentation transcript:

EECS 20 Lecture 37 (April 25, 2001) Tom Henzinger Progress Control

The Safety Control Problem Given finite-state machine Plant set Error of plant states

The Safety Control Problem Find finite-state machine Plant finite-state machine Controller such that the composite system never enters a state in Error plant input plant output

Control is a Game : Plant vs. Controller Each round consists of two moves: first Controller chooses plant input, then Plant chooses plant output Controllable plant states : controller has a strategy to meet the objective (avoid error states) Uncontrollable plant states: plant has a strategy to violate the objective (reach an error state)

i/0 Error Plant 0/1 1/1 0/1 1/1 0/1 1/1 1/0 0/1 1/0 1/1 Uncontrollable 0/0 Controllable 1/1 1/0 0/0

Controller objective = SAFETY : stay away from the states in the set Error Plant objective = PROGRESS : get to a state in the set Error

The dual control problem: PROGRESS controller attempts to lead the plant into a specified set of states (the “target” states)

Safety Control vs. Progress Control The roles of Plant and Controller are reversed. But the progress-controllable states are not the safety-uncontrollable, because the game is not symmetric (the controller always moves first). Still, the solutions are very similar.

i/0 Error = Target Plant 0/1 1/1 0/1 1/1 0/1 1/1 1/0 1/1 0/1 1/0 1/1 safety-uncontrollable 0/0 safety-controllable 1/0 0/0 progress-controllable progress-uncontrollable

Recall Safety Control Step 1: Compute the safety-uncontrollable states of Plant 1.Every state in Error is safety-uncontrollable. 2.For all states s, if for all inputs i there exist a safety-uncontrollable state s’ and an output o such that (s’,o)  possibleUpdates (s,i) then s is safety-uncontrollable.

Progress Control Step 1: Compute the progress-controllable states of Plant 1.Every state in Target is progress-controllable. 2.For all states s, if there exists an input i for all states s’ and outputs o if (s’,o)  possibleUpdates (s,i) then s’ is progress-controllable then s is progress-controllable.

i/0 Target Plant 0/1 1/1 1/0 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 0/0 0/1 1/1 1/0

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 progress-controllable (can force plant into target in 1 transition) 0/1 1/0 1/1 0/1 0/0 1/0

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 progress-controllable (can force plant into target in  2 transitions) 0/1 1/0 1/1 0/1 0/0 1/0

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 progress-controllable (can force plant into target in  3 transitions) 0/1 1/0 1/1 0/1 0/0 1/0

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 progress-controllable (can force plant into target in  4 transitions) 0/1 1/0 1/1 0/1 0/0 1/0

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable green: helpful inputs (ensure progress towards target) blue: safe inputs (keep plant out of uncontrollable states)

1.A subset S  Safety-controllable is consistent if there is an input i such that for all states s  S, all states in possibleUpdates (s,i) are safety-controllable. 2.Prune from the state machine whose states are the consistent subsets of Safety-controllable and whose outputs are safe the states without successors. 3.If the result contains possibleInitialStates (of the plant) as a state, then it is the desired Controller. Otherwise, no controller exists. Recall Safety Control Step 2: Track consistent set of safety-controllable plant states

1.A subset S  Progress-controllable is consistent if there is an input i such that for all states s  S, all states in possibleUpdates (s,i) are progress-controllable. 2.Construct the state machine whose states are the consistent subsets of Safety-controllable without target states (including the empty set Ø), and whose outputs are safe. 3.If the result contains possibleInitialStates (of the plant) as a state, and there is an acyclic, output-closed subgraph from possibleInitialStates to Ø, then prune away all states not in the subgraph; this is the desired Controller. Otherwise, no controller exists. Recall Safety Control Step 2: Track consistent set of progress-controllable plant states

As usual, if the plant is output-deterministic, then we need consider only consistent sets of size 1. (In other words, the controller always knows the state of the plant.)

i/0 Target Plant 1/1 0/0 1/1 1/0 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable Output-deterministic !

Plant r su tq i/0 Target 1/1 0/0 1/1 1/0 p 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable Safe outputs r s q 1/1 0/0 p 1/0 0/1 1/1 1/0 0/0 0/1 

Plant r su tq i/0 Target 1/1 0/0 1/1 1/0 p 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable Acyclic, output-closed subgraph r s q 1/1 0/0 p 1/0 0/1 1/1 1/0 0/0 0/1 

Plant r su tq i/0 Target 1/1 0/0 1/1 1/0 p 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable Pruned r s q 1/1 p 1/0 0/1 1/1 0/1 

Plant r su tq i/0 Target 1/1 0/0 1/1 1/0 p 0/1 1/1 1/0 0/1 1/0 0/1 1/1 0/1 1/0 1/1 0/1 0/0 1/0 progress-uncontrollable Controller r s q 1/1 p i/0 0/1 1/1 0/1i/0 

A Game Graph         

         green: turn-1 / 

         green: turn-1 /  blue: turn-2-adjacent / 

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal / 

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target progress-controllable

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target progress-controllable

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target progress-controllable

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target progress-controllable

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target All states are progress-controllable.

         green: turn-1 /  blue: turn-2-adjacent /  red: turn-2-diagonal /  Target All states are progress-controllable. All inputs are safe. All subsets are consistent. p r t s u q

Determinization p,q,r,s

Determinization p,q,r,s p,r,s

Determinization p,q,r,s p,r,s q,r,s

Determinization p,q,r,s p,r,s q,r,s r,s

Determinization p,q,r,s p,r,s q,r,s r,s p,q

Determinization p,q,r,s p,r,s q,r,s r,s p,q p

Determinization p,q,r,s p,r,s q,r,s r,s p,q pq

Determinization p,q,r,s p,r,s q,r,s r,s p,q pqØ

Controller p,q,r,s p,r,s q,r,s r,s p,q pqØ