Download presentation

Presentation is loading. Please wait.

Published byNikolas Eliot Modified over 2 years ago

1
Solving Timed Games with Variable Observations: Proof of Concept Peter Bulychev Franck Cassez Alexandre David Kim G. Larsen Jean-François Raskin Pierre-Alain Reynier

2
GASICS Workshop2 Timed Game Automata Timed Game Automata is a Timed Automata where transitions are split into controllable and uncontrollable We support safety objectives: control: AG (not Bad) Memoryless strategy: state action UPPAAL Tiga can be used to solve safety timed games a b

3
GASICS Workshop3 Timed Game Automata x≤1: a True: DELAY Strategy x≤1: b True: DELAY control: AG (not Bad) a b

4
GASICS Workshop4 Controller synthesis with partial observation Consider that controller doesn’t have full information about the current state of a system Observation is a valuation of a finite number of state-based boolean predicates (sensors) We allow predicates of the form: (L1 or L2 or L3) and (1≤x<2) Controller makes its decisions based on history of the observations seen so far Controller sees only changes on observations => stuttering-invariant strategy

5
GASICS Workshop5 Controller synthesis with partial observation: the algorithm Partition the state-space w.r.t. values of the predicates. Predicates p 1, p 2 Losing is observable. p1p2p1p2 p 1 p 2 p 1 p 2 p1p2p1p2 LOSING a a a b DELAY b

6
Running example (LH boxes) GASICS Workshop6 Possible sets of observations: {H, L} {H, L, y≥3} control: AG (not Bad) {y ≥ 1} {H, L, y≥5} full information {H, L, y≥1} EJECT RESET

7
GASICS Workshop7 Controller synthesis with partial observation: the algorithm Partition the state-space w.r.t. observations. Observations O1 O2 O3. Winning/losing is observable. Algorithm, described in F. Cassez et al., 2007: Symbolic On-the-fly Subset construction-based Implemented in UPPAAL Tiga

8
Running example (LH boxes) GASICS Workshop8 {} control: AG (not Bad) Available observations: {H, L, y ≥ 5} {H} {} DELAY {y ≥ 5} DELAY EJECT {}{y ≥ 5} DELAY {L} {} DELAY {y ≥ 5} DELAY EJECT E0,x==y==0 H,x==y==0 E1 \/ E2,x==y==0E1 \/ E2,x==y==5 RESET E1 \/ E2,x==5, y==0 E1 \/ E2,x==10, y==5 H,x==y==0 E3 \/ E4,x==y==0E3 \/ E4,x==y==5

9
Problem statement Assume a finite set of available sensors and each sensor has some cost We want to synthesize a controller that will achieve its goal by using a set of sensors with a minimal cost Input: Timed Game Automata A Safety propertyφ A set of predicates Pred = {p 1, …, p n } Cost function ω = {p 1 ->c 1, …, p n ->c n } Goal: To find a set of predicates P with a minimal total cost such that A,P|=φ is true GASICS Workshop9

10
Basic algorithm Consider a lattice of all possible predicates sets GASICS Workshop10 {φ}{φ} {φ} U Pred

11
Basic algorithm 1. Check if φ is controllable on A with full information GASICS Workshop11 {φ}{φ} {φ} U Pred Full information

12
Basic algorithm 1. Check if φ is controllable on A with full information 2. Check A,P|=φ for some set of predicates P GASICS Workshop12 {φ}{φ} {φ} U Pred P

13
Basic algorithm 1. Check if φ is controllable on A with full information 2. Check A,P|=φ for some set of predicates P 3. If A,P|=φ is true, then we remove from further consideration all sets P’ s.t. P ⊆ P’ GASICS Workshop13 {φ}{φ} {φ} U Pred P

14
Basic algorithm GASICS Workshop14 {φ}{φ} {φ} U Pred 1. Check if φ is controllable on A with full information 2. Check A,P|=φ for some set of predicates P 3. If A,P|=φ is true, then we remove from further consideration all sets P’ s.t. P ⊆ P’ remove from further consideration all sets P’ s.t. ω(P’) ≥ ω(P) P

15
Basic algorithm 1. Check if φ is controllable on A with full information 2. Check A,P|=φ for some set of predicates P 3. If A,P|=φ is true, then we remove from further consideration all sets P’ s.t. P ⊆ P’ remove from further consideration all sets P’ s.t. ω(P’) ≥ ω(P) 4. Otherwise, we remove from further consideration all sets P’ s.t. P’ ⊆ P GASICS Workshop15 {φ}{φ} {φ} U Pred

16
Basic algorithm The set of possible observation sets is finite, so the algorithm will converge GASICS Workshop16 {φ}{φ} {φ} U Pred

17
Basic algorithm Optimizations: Which exploration strategy to use? Random Top-bottom Bottom-top Midpoint What information to reuse? Losing states from below Winning states from above State space from below GASICS Workshop17 {φ}{φ} {φ} U Pred

18
Basic algorithm Optimizations: Which exploration strategy to use? Random Top-bottom Bottom-top Midpoint What information to reuse? Losing states from below Winning states from above State space from below GASICS Workshop18 {φ}{φ} {φ} U Pred

19
Basic algorithm Optimizations: Which exploration strategy to use? Random Top-bottom Bottom-top Midpoint What information to reuse? Losing states from below Winning states from above State space from below GASICS Workshop19 {φ}{φ} {φ} U Pred

20
Basic algorithm Optimizations: Which exploration strategy to use? Random Top-bottom Bottom-top Midpoint What information to reuse? Losing states from below Winning states from above State space from below GASICS Workshop20 {φ}{φ} {φ} U Pred

21
Basic algorithm Optimizations: Which exploration strategy to use? Random Top-bottom Bottom-top Midpoint What information to reuse? Losing states from below Winning states from above State space from below GASICS Workshop21 {φ}{φ} {φ} U Pred

22
Basic algorithm Optimizations: Which exploration strategy to use? Random Top-bottom Bottom-top Midpoint What information to reuse? Losing states from below Winning states from above State space from below GASICS Workshop22 {φ}{φ} {φ} U Pred

23
State space reusage GASICS Workshop23 {φ}{φ} {φ} U Pred a a a b a b L 1, x≥4 L 2, x≥5 L 3, x<2 L 4, x≥8 L 5, x≥7 L 6, x<2 (L 1, x≥4) ∨ (L 2, x≥5) ∨ (L 3, x<2) (L 4, x≥8) ∨ (L 5, x≥7) ∨ (L 6, x<2) L 6, x<2

24
State space reusage GASICS Workshop24 {φ}{φ} {φ} U Pred a a a b a b L 1, x≥4 L 2, x≥5 L 3, x<2 L 4, x≥8 L 5, x≥7 L 6, x<2 (L 1, x≥4) ∨ (L 2, x≥5) ∨ (L 3, x<2) (L 4, x≥8) ∨ (L 5, x≥7) ∨ (L 6, x<2) L 6, x<2

25
Implementation details 25 Efficient Stable Ready for industry applications Has a nice GUI Easy to prototype new very specific features

26
Python framework for timed automata manipulation PyDBM – Python wrapper for UPPAAL DBM library pyuppaal – syntactic parser of UPPAAL models dbmpyuppaal – parses a model using pyuppaal and replaces all guards and invariants by their DBMs opaal – model checker for timed automata More information at: http://cs.aau.dk/~adavid/python GASICS Workshop26

27
Results GASICS Workshop27 EJECT RESET Possible observations and their cost: {H -> 1, L ->1, y≥1 -> 10, y≥2 -> 9, …, y≥10 -> 1} Optimal solution: {H, y≥5}

28
Results (average running time) GASICS Workshop28

29
Questions? GASICS Workshop29

Similar presentations

OK

Yang Cai Oct 08, 2014. An overview of today’s class Basic LP Formulation for Multiple Bidders Succinct LP: Reduced Form of an Auction The Structure of.

Yang Cai Oct 08, 2014. An overview of today’s class Basic LP Formulation for Multiple Bidders Succinct LP: Reduced Form of an Auction The Structure of.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google