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

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

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

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

EECS 20

Lecture 37 (April 25, 2001)

Tom Henzinger

Progress Control

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

The Safety Control Problem

Given

finite-state machine Plant1

.

2. set Error of plant states

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

The Safety Control Problem

Findfinite-state machine Plant

finite-state machine Controller

such that the composite system never enters a state in Error

plant input

plant output

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

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)

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

i/0

i/0

Error

Plant

0/1

1/1

0/1

1/1

0/1

1/1

1/0

0/1

0/1

1/01/1

Uncontrollable

0/0

Controllable

1/1

1/0

0/0

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

Controller objective = SAFETY :

stay away from the states in the set Error

Plant objective = PROGRESS :

get to a state in the set Error

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

The dual control problem:

PROGRESS

controller attempts to lead the plant into a specified set of states (the “target” states)

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

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.

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

i/0

i/0

Error = Target

Plant

0/1

1/1

0/1

1/1

0/1

1/1

1/0

1/1

0/1

0/1

1/01/1

safety-uncontrollable

0/0

safety-controllable

1/0

0/0

progress-controllable

progress-uncontrollable

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

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.

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

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.

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

i/0

i/0

Target

Plant

0/1

1/1

1/0

1/1

1/1

0/0

1/1

1/0

0/1

1/1

1/0

0/1

1/0

0/1

0/00/0

0/1

1/1

1/0

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

i/0

i/0

Target

Plant

1/1

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/00/0 1/0

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

i/0

i/0

Target

Plant

1/1

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/00/0 1/0

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

i/0

i/0

Target

Plant

1/1

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/00/0 1/0

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

i/0

i/0

Target

Plant

1/1

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/00/0 1/0

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

i/0

i/0

Target

Plant

1/1

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/00/0 1/0

progress-uncontrollable

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

i/0

i/0

TargetPlant

1/1

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/00/0 1/0

progress-uncontrollable

green: helpful inputs (ensure progress towards target) blue: safe inputs (keep plant out of uncontrollable states)

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

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

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

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

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

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

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

i/0

i/0

TargetPlant

1/1

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/00/0 1/0

progress-uncontrollable

Output-deterministic !

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

Plant

r

s u

tq

i/0

i/0

Target

1/1

1/1

0/0

1/1

1/0

p 0/1

1/1

1/0

0/1

1/0

0/11/1

0/1

1/0

1/1

0/1

0/00/0 1/0

progress-uncontrollable

Safe outputs

r

s

q 1/1

0/0

p 1/0

1/0

0/1

1/1

1/0

0/00/1

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

Plant

r

s u

tq

i/0

i/0

Target

1/1

1/1

0/0

1/1

1/0

p 0/1

1/1

1/0

0/1

1/0

0/11/1

0/1

1/0

1/1

0/1

0/00/0 1/0

progress-uncontrollable

Acyclic, output-closed subgraph

r

s

q 1/1

0/0

p 1/0

0/1

0/1

1/1

1/0

0/00/1

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

Plant

r

s u

tq

i/0

i/0

Target

1/1

1/1

0/0

1/1

1/0

p 0/1

1/1

1/0

0/1

1/0

0/11/1

0/1

1/0

1/1

0/1

0/00/0 1/0

progress-uncontrollable

Pruned

r

s

q 1/1p 1/0

1/0

0/1

1/10/1

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

Plant

r

s u

tq

i/0

i/0

Target

1/1

1/1

0/0

1/1

1/0

p 0/1

1/1

1/0

0/1

1/0

0/11/1

0/1

1/0

1/1

0/1

0/00/0 1/0

progress-uncontrollable

Controller

r

s

q 1/1p i/0

i/0

0/1

1/10/1 i/0

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

A Game Graph

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

green: turn-1 /

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

green: turn-1 / blue: turn-2-adjacent /

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

Target

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

Target

progress-controllable

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

Target

progress-controllable

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

Target

progress-controllable

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

Target

progress-controllable

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

green: turn-1 / blue: turn-2-adjacent / red: turn-2-diagonal /

Target

All states are progress-controllable.

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

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

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

Determinization

p,q,r,s

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

Determinization

p,q,r,s

p,r,s

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

Determinization

p,q,r,s

p,r,s

q,r,s

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

Determinization

p,q,r,s

p,r,s

q,r,s

r,s

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

Determinization

p,q,r,s

p,r,s

q,r,s

r,s

p,q

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

Determinization

p,q,r,s

p,r,s

q,r,s

r,s

p,q

p

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

Determinization

p,q,r,s

p,r,s

q,r,s

r,s

p,q

p q

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

Determinization

p,q,r,s

p,r,s

q,r,s

r,s

p,q

p q Ø

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

Controller

p,q,r,s

p,r,s

q,r,s

r,s

p,q

p q Ø