• Aucun résultat trouvé

Optimal Reachability in Divergent Weighted Timed Games

N/A
N/A
Protected

Academic year: 2022

Partager "Optimal Reachability in Divergent Weighted Timed Games"

Copied!
98
0
0

Texte intégral

(1)

Optimal Reachability in Divergent Weighted Timed Games

Benjamin Monmege

Aix-Marseille Université, LIF, CNRS, France with Damien Busatto-Gaston and Pierre-Alain Reynier

May 19, 2017

published at FoSSaCS 2017

(2)

Motivation: quantitative aspects of real-time synthesis Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(3)

Motivation: quantitative aspects of real-time synthesis Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller

Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(4)

Motivation: quantitative aspects of real-time synthesis Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller

Two-player timed game

Among all valid controller, choose a good/cheap/efficient one

Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(5)

Motivation: quantitative aspects of real-time synthesis

Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller

Two-player timed game

Among all valid controller, choose a good/cheap/efficient one

Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(6)

Motivation: quantitative aspects of real-time synthesis

Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one

Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(7)

Motivation: quantitative aspects of real-time synthesis

Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(8)

Motivation: quantitative aspects of real-time synthesis

Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

= ⇒ model, e.g., production/consumption of resources

(9)

Weighted timed games

s1

s2 s3

s4 s5

s6

x>0 x:= 0

x61

x62

x<1 x:= 0

x>1 x>1

x:= 0

x>1 x:= 0

x>1

Timed automaton with state partition between 2 players + reachability objective

(s1,0)−−−−→(s0.4,& 4,0.4)−−−−→(s0.6,→ 5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(10)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)−−−−→(s0.4,& 4,0.4)−−−−→(s0.6,→ 5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(11)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)

0.4,&

−−−−→(s4,0.4)−−−−→(s0.6,→ 5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(12)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)−−−−→(s0.4,& 4,0.4)

0.6,→

−−−−→(s5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(13)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)−−−−→(s0.4,& 4,0.4)−−−−→(s0.6,→ 5,0)

1.5,←

−−−−→(s4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(14)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)−−−−→(s0.4,& 4,0.4)−−−−→(s0.6,→ 5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2)

1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(15)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)−−−−→(s0.4,& 4,0.4)−−−−→(s0.6,→ 5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8

(s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · · 1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

total weight until otherwise

(16)

Weighted timed games

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions

(s1,0)−−−−→(s0.4,& 4,0.4)−−−−→(s0.6,→ 5,0)−−−−→(s1.5,← 4,0)−−−−→(s1.1,→ 5,0)2,%−−→(,2) 1×0.4+1 −3×0.6+0 +1×1.5+0 −3×1.1+0 +1×2+2 = 1.8 (s1,0)−−−−→(s0.2,% 2,0)−−−−→(s0.9,→ 3,0.9)0.2,−−−→(s3,0)0.9,−−−→(s3,0) · · ·

1×0.2+0 +2×0.9+0 −1×0.2+0 −1×0.9+0 · · · = +∞

Weight of an execution :

(+∞ ifnot reached

(17)

Strategies and objectives

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Strategy for a player: map finite executions to a delay and a transition

Objective of player#: reachandminimise the weight

Objective of player2: avoidor, if not possible, maximise the weight Main object of interest:

Val(`, ν) = inf

σMin∈StratMin sup

σMax∈StratMax

Weight(Exec(`, ν,σMinMax))∈R What weight can players guarantee? Find (almost) optimal strategy?

(18)

Strategies and objectives

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Strategy for a player: map finite executions to a delay and a transition Objective of player#: reachandminimise the weight

Objective of player2: avoidor, if not possible, maximise the weight

Main object of interest: Val(`, ν) = inf

σMin∈StratMin sup

σMax∈StratMax

Weight(Exec(`, ν,σMinMax))∈R What weight can players guarantee? Find (almost) optimal strategy?

(19)

Strategies and objectives

1 s1

2 s2

−1 s3

−3 s4

1 s5

s6

x>0 x:= 0 0 x61 1

x62 0

x<1 x:= 0 0

x>1 x>1 1

x:= 0 0 x>1 x:= 0 0

x>1 2

Strategy for a player: map finite executions to a delay and a transition Objective of player#: reachandminimise the weight

Objective of player2: avoidor, if not possible, maximise the weight Main object of interest:

Val(`, ν) = inf

σMin∈StratMin

sup

σMax∈StratMax

Weight(Exec(`, ν,σMinMax))∈R

(20)

The real motivation!

Environment k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

(21)

The real motivation!

Bar k Controller?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

(22)

The real motivation!

Bar k Customer?? | = Spec

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

(23)

The real motivation!

Bar k Customer?? | = Beer!

Two-player game

Real-time requirements/environment = ⇒ real-time controller Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

(24)

The real motivation!

Bar k Customer?? | = Beer!

Two-player game

“I want a beer, and I want it fast! But barman needs time...”

Two-player timed game

Among all valid controller, choose a good/cheap/efficient one Two-player weighted timed game

Main motivation since my postdoc here: negative weights

(25)

The real motivation!

Bar k Customer?? | = Beer!

Two-player game

“I want a beer, and I want it fast! But barman needs time...”

Two-player timed game

“I want a good beer, but I want it cheap!”

Two-player weighted timed game

Main motivation since my postdoc here: negative weights

(26)

The real motivation!

Bar k Customer?? | = Beer!

Two-player game

“I want a beer, and I want it fast! But barman needs time...”

Two-player timed game

“I want a good beer, but I want it cheap!”

Two-player weighted timed game

Main motivation since my postdoc here: drink tasty beers!

(27)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly. time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp. algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(28)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013)

I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly. time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp. algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(29)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly. time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp. algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(30)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly. time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp. algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(31)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly.

time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp. algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(32)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly.

time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp.

algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004)

F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(33)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly.

time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp.

algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(34)

State of the art

Value problem: decide whether Val(`, ν)6K?

I 1 player (weighted timed automaton): PSPACE-complete

I Algorithm based on regions(Bouyer, Brihaye, Bruyère, and Raskin 2007);

I PSPACE-hard with at least 2 clocks(Fearnley and Jurdziński 2013) I 2 players: undecidableeven with non-negative weights and 3 clocks

(Brihaye, Bruyère, and Raskin 2005; Bouyer, Brihaye, and Markey 2006)

I 1 clockandnon-negative weights: exp. algo. (Bouyer, Larsen, Markey, and Rasmussen 2006)

I 1 clockand62 location-weights from{−d,0,+d}: pseudo-poly.

time algo. (Brihaye, Geeraerts, Narayanan Krishna, Manasa, Monmege, and Trivedi 2014)(corner-point abstraction)

I non-negative weights and strictly non-Zeno-cost cycles: 2-exp.

algo. (Bouyer, Cassez, Fleury, and Larsen 2004; Alur, Bernadsky, and Madhusudan 2004) F(x)(`,ν)=

(sup

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMax

inf

(`,ν)−−→d,t (`00)

d×Weight(`) + Weight(t) +x(`00) if`LMin

Missing: decidable fragment of games without constraints on number of clocks, and with negative weights

(35)

A special case first: Weighted (untimed) games

v1

v2 v3

v4 v5

v6

0

1

0

0

1

0 1

2

Weighted oriented graph with vertices partition between 2 players + reachability objective

(36)

A special case first: Weighted (untimed) games

v1

v2 v3

v4 v5

v6

0

1

0

0

1

0 1

2

Weighted oriented graph with vertices partition between 2 players + reachability objective

v1

&

−→v4

−→v 5

−→v 4

−→v 5

−→%

1 +1 +2 = 4

v1

−→v% 2

−→v 3−→v3−→v3 · · ·

· · · = +∞(not reached)

Weight of a path:

(+∞ if not reached

total weight until otherwise

(37)

Strategies and objectives

v1

v2 v3

v4 v5

v6

0

1

0

0

1

0 1

2

Player#’s objective: reachandminimise the cost

Player2’s objective: avoidor, if not possible, maximise the weight Strategy for a player: map finite paths to edges

Main object of interest:

Val(v) = inf

σMin∈StratMin

sup

σMax∈StratMax

Weight(Exec(vMinMax))∈Z What weight can players guarantee? Find optimal strategy?

(38)

State of the art

Value computation

I non-negative weights: polynomial algo. (Khachiyan, Boros, Borys, Elbassioni, Gurvich, Rudolf, et al. 2008)

"Dijkstra on 2 players games"

I with negative weights : pseudo-poly algo. (Brihaye, Geeraerts, Haddad, and Monmege 2016)

"value iteration algorithm"

F(x)v =

 min

e=(v,a,v0)∈EWeight(e) +xv0 ifvVMin max

e=(v,a,v0)∈EWeight(e) +xv0 ifvVMax.

I Value−∞: detection is as hard as solving parity games (NP∩co-NP)

(39)

State of the art

Value computation

I non-negative weights: polynomial algo. (Khachiyan, Boros, Borys, Elbassioni, Gurvich, Rudolf, et al. 2008)

"Dijkstra on 2 players games"

I with negative weights : pseudo-poly algo. (Brihaye, Geeraerts, Haddad, and Monmege 2016)

"value iteration algorithm"

F(x)v =

 min

e=(v,a,v0)∈EWeight(e) +xv0 ifvVMin max

e=(v,a,v0)∈EWeight(e) +xv0 ifvVMax.

I Value−∞: detection is as hard as solving parity games (NP∩co-NP)

(40)

State of the art

Value computation

I non-negative weights: polynomial algo. (Khachiyan, Boros, Borys, Elbassioni, Gurvich, Rudolf, et al. 2008)

"Dijkstra on 2 players games"

I with negative weights : pseudo-poly algo. (Brihaye, Geeraerts, Haddad, and Monmege 2016)

"value iteration algorithm"

F(x)v =

 min

e=(v,a,v0)∈EWeight(e) +xv0 ifvVMin max

e=(v,a,v0)∈EWeight(e) +xv0 ifvVMax.

I Value−∞: detection is as hard as solving parity games (NP∩co-NP)

(41)

Contribution 1: divergent weighted games

Property of the underlying graph:

Divergence

Every cycle have total weight either6−1 or>1, i.e., no cycles of weight = 0.

(42)

Contribution 1: divergent weighted games

Property of the underlying graph:

Divergence

Every cycle have total weight either6−1 or>1, i.e., no cycles of weight = 0.

Theorem:

We can compute the value of a divergent weighted game in poly. time.

(43)

Contribution 1: divergent weighted games

Property of the underlying graph:

Divergence

Every cycle have total weight either6−1 or>1, i.e., no cycles of weight = 0.

Theorem:

We can compute the value of a divergent weighted game in poly. time.

Theorem:

We can decide in PTIME if a weighted game is divergent.

(44)

Divergent weighted games analysis

divergence property

characterisation:

p>1

−q6−1

(45)

Divergent weighted games analysis

divergence property

characterisation: All the simple cycles in a SCC have the same sign

p>1

−q6−1 −q6−1 α β

p>1

(46)

Divergent weighted games analysis

divergence property

characterisation: All the simple cycles in a SCC have the same sign

class decision value computation

(47)

Value computation in a divergent weighted game

I Detect and remove +∞vertices (outside of the attractor of player #toward)

I SCC decomposition

I Value computation SCC by SCC, bottom-up

(48)

Value computation in a divergent weighted game

I Detect and remove +∞vertices (outside of the attractor of player #toward)

I SCC decomposition

I Value computation SCC by SCC, bottom-up

(49)

Value computation in a divergent weighted game

I Detect and remove +∞vertices (outside of the attractor of player #toward)

I SCC decomposition

I Value computation SCC by SCC, bottom-up

(50)

Value computation in a divergent weighted game

I Detect and remove +∞vertices (outside of the attractor of player #toward)

I SCC decomposition

I Value computation SCC by SCC, bottom-up

positive SCC

I The "value iteration" algorithm converges in linear time

(51)

Positive SCC: value iteration converges in linear time

I W := maxe∈E|Weight(e)|

I No negative cycles in the SCC =⇒no vertices of value−∞

I K := maxv|xnv|<∞, withn=|V|

I Let p>(2K +W(n−1))n. Values obtained after n+psteps are identical to those obtained after nsteps only!

I Ifxn+pv <xnv ∃v0, π:vpv0 of weightxn+pvxnv0

I |π|>(2K+W(n−1))n=⇒ ∃v00appearing>2K+W(n−1) times

I πcan be decomposed into>2K+W(n−1) cycles (positive!) and a finite playπ0 visiting each vertex at most once

I Weight(π)>2K+W(n−1)−(n−1)W = 2K

I xn+pvxnv0>2K, soxn+pv >2K+xnv0 >K.

I ButK>xnv, soxn+pv >xnv: contradiction.

I Therefore, stabilisation after nsteps only

(52)

Positive SCC: value iteration converges in linear time

I W := maxe∈E|Weight(e)|

I No negative cycles in the SCC =⇒no vertices of value−∞

I K := maxv|xnv|<∞, withn=|V|

I Let p>(2K +W(n−1))n. Values obtained after n+psteps are identical to those obtained after nsteps only!

I Ifxn+pv <xnv ∃v0, π:vpv0 of weightxn+pvxnv0

I |π|>(2K+W(n−1))n=⇒ ∃v00appearing>2K+W(n−1) times

I πcan be decomposed into>2K+W(n−1) cycles (positive!) and a finite playπ0 visiting each vertex at most once

I Weight(π)>2K+W(n−1)−(n−1)W = 2K

I xn+pvxnv0>2K, soxn+pv >2K+xnv0 >K.

I ButK>xnv, soxn+pv >xnv: contradiction.

I Therefore, stabilisation after nsteps only

(53)

Positive SCC: value iteration converges in linear time

I W := maxe∈E|Weight(e)|

I No negative cycles in the SCC =⇒no vertices of value−∞

I K := maxv|xnv|<∞, withn=|V|

I Let p>(2K +W(n−1))n. Values obtained after n+psteps are identical to those obtained after nsteps only!

I Ifxn+pv <xnv ∃v0, π:vpv0 of weightxn+pvxnv0

I |π|>(2K+W(n−1))n=⇒ ∃v00appearing>2K+W(n−1) times

I πcan be decomposed into>2K+W(n−1) cycles (positive!) and a finite playπ0 visiting each vertex at most once

I Weight(π)>2K+W(n−1)−(n−1)W = 2K

I xn+pvxnv0>2K, soxn+pv >2K+xnv0 >K.

I ButK>xnv, soxn+pv >xnv: contradiction.

I Therefore, stabilisation after nsteps only

Références

Documents relatifs

Abstract. We investigate an optimal cost reachability problem for weighted timed automata, and we use a translation to SMT to solve the problem. In par- ticular, we show how to find

During the generation of extended factors for the threshold k, we at the same time determine the longest factor with probability greater than or equal to 1/z by computing an array LF

The proposed observer records the number of firings of certain input and output transitions of the WTEG and generates an optimal estimate for the number of firings of

Although linear programming provides a polynomial solution for checking existence of pe- riodic schedules and computing an optimal one, specific algorithms on graphs often have a

Lemma 1.. 3) Earliest schedule: Notice that for live marked TWEG, the earliest schedule (which consists in firing the transitions as soon as possible) always exists and has a

Timed automaton with state partition between 2 players + reachability objective + linear rates on states + discrete weights on transitions.. Benjamin Monmege

In this paper we completely solve the computation of cost-optimal winning strategies for arbitrary priced timed (game) automata with one clock: we of- fer an algorithm for

Mots clés : MAI : Multiple Access Interference, SAC-OCDMA : Spectral Amplitude Coding Optical Code Division Multiple Access, ZCC : Zero Cross