SLIDE 1
Games in LTL Fragments Salvatore La Torre Dipartimento di - - PowerPoint PPT Presentation
Games in LTL Fragments Salvatore La Torre Dipartimento di - - PowerPoint PPT Presentation
Games in LTL Fragments Salvatore La Torre Dipartimento di Informatica ed Applicazioni Universit degli Studi di Salerno Linear-time Temporal Logic (LTL) Correctness requirements for reactive systems Every request is eventually
SLIDE 2
SLIDE 3
LTL specs in open systems
The system is a module interacting with the other modules (environment) Controller synthesis Realizabilty of specifications Verification of open systems Modular verification (module-checking)
SLIDE 4
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 5
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Play
SLIDE 6
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Play
SLIDE 7
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Play
SLIDE 8
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Play
SLIDE 9
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Play
SLIDE 10
Decision Problem
Strategy: function
from play ending at a system state s to a successor of s
Strategy is winning :
All plays constructed according to it satisfy specification
Is there a winnng strategy of the protagonist?
SLIDE 11
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 12
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 13
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 14
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 15
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 16
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 17
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 18
Game graph:
Example: Strategy
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 19
Computational Complexity of LTL Games
Deciding LTL games is 2Exptime-complete [Pnueli-Rosner POPL’89] Complexity of games in LTL fragments:
Deterministic generators and games for LTL fragments [Alur - La Torre LICS‘01] Games for positive LTL fragments [Marcinkowski -Truderung CSL‘02] Games in fragments without “next” and “unitl” [Alur - La Torre – Madhusudan CONCUR’03]
SLIDE 20
Other References
Realizability [Abadi-Lamport-Wolper ICALP’89] Module checking [Kupferman-Vardi CAV‘96 & ‘97] Alternating Temporal Logic [Alur-Henzinger-Kupferman JACM‘02]
SLIDE 21
Talk Outline
Overview Notation and general solution to LTL games Upper bounds: deteministic generators Lower bounds Encoding TMs without “next” and “until” Expspace-hardness of 2Exptime-hardness of Conclusions L , , , () B(L , , ())
SLIDE 22
LTL
Syntax
p U
Semantics
- p:
p
SLIDE 23
LTL
Syntax
p U
Semantics
- p:
p
- p:
p p p p p
SLIDE 24
LTL
Syntax
p U
Semantics
- p:
p
- p:
p p p p p
- p U q:
p p p q p
SLIDE 25
Some Notation
B() denotes:
Boolean combinations of formulas from
Lop1,…,opk () denotes:
formulas from using only
- perators in the list op1,…,opk
For example:
denotes the LTL fragment := p | | | , p
L , , ()
SLIDE 26
More LTL fragments
- : (usually )
- : bool. combinations of
- : bool. combinations of
- : bool. combinations of
B(L , , ()) B(L , , , ()) B(L , ())
:= p | := p | := p | := p |
L , , , ()
LTL( , )
SLIDE 27
LTL Games
Winning condition is an LTL formula Deciding LTL games is 2Exptime-complete [Pnueli-Rosner’89]
Construct Buchi generator (size n=2O() ) [Vardi-Wolper’94] Determinize it = Rabin automaton with 2O(n) states and n pairs [Safra ’88] Emptiness of Rabin tree automata with n states and m pairs: O( (n·m) c·m ) [Pnueli-Rosner’89]
SLIDE 28
Buchi Games
Winning condition:
Some accepting state must repeat infinitely often
Decision algorithm:
O(d log m) space
(d=longest simple distance, m=number of states)
SLIDE 29
Talk Outline
Overview Notation and general solution to LTL games Upper bounds: deteministic generators Lower bounds Encoding TMs without “next” and “until” Expspace-hardness of 2Exptime-hardness of Conclusions L , , , () B(L , , ())
SLIDE 30
LTL Deterministic Generators
LTL formulas may not have Buchi deterministic generators Standard approach:
Construct nondeterministic generator Determinize it
LTL formulas have deterministic generators
- f size and longest distance 2Exp
(matching lower bounds [KV’98])
SLIDE 31
Generators for
There exists DBA of Exp size and linear longest distance Construction is optimal:
Ex. p1 …… pn
States store fulfilled predicates Transition (non self-loop) required when new predicate is fulfilled
B(L , ())
SLIDE 32
Partially-ordered Buchi Automata
Transition graph is a DAG with self- loops Construction for intersection and union keeps linear longest distance (d1+d2) Complement is trivial Efficient construction for (p ) from POBD for
SLIDE 33
PODB Composition
p1 s’0
A
pk pi
i
SLIDE 34
PODB Composition
p1 s’0
A
pk pi
i
s0 ( p pi
i
p p p1 p pk )
SLIDE 35
There exists DBA of Exp size and Exp longest distance Construction is optimal:
- Ex. (p n q)
States store sequence of last n input Exp-long path where the last n input are always different for each prefix
B(L , , ()) Generators for
SLIDE 36
Automaton Construction
Push inside next operators (O(n2)) Interesting case:
(p kq ) Use k copies of A’ (det. gen. for ) At h release copy started at h-k if p kq is not true at h-k, and release all the others , otherwise
(no more copies are started in this last case)
SLIDE 37
Generators for and
There exists DBA of 2Exp size and Exp longest distance Construction is optimal:
- Ex. i=1 (pi
qi)
States store sets of q’s : if P then check if qi for pi P Sequence of different sets of p’s
Push outside disjunctions
n
B(L , , , ()) B(L , , ())
SLIDE 38
Generator for
- formulas may require det.
generator of size and longest distance 2Exp
- Ex. ( i=1 (ai
bi) i=1 (ci di))
(States store for each set of b’s a list of sets of d’s)
n n
L , , , ()
L , , , ()
SLIDE 39
Generators Complexity
- Nondet. Gen.
LTL
- Det. Generators
- L. Dist.
Size
- L. Dist.
Size
(2Exp) (2Exp) (Exp) (Exp) (2Exp) (2Exp) (Linear) (Exp) (Exp) (2Exp) (Exp) (Exp) (Exp) (2Exp) (Linear) (Exp) (Exp) (Exp) (Exp) (Exp) (Linear) (Exp) (Linear) (Exp)
B(L , , ()) B(L , , , ()) B(L , ()) L , , , () B(L , , ())
SLIDE 40
Solving LTL Games
G= game graph, = LTL formula
Construct deterministic generator A of models Solve the Buchi game (G x A, W)
(W is the acceptance condition of A on G x A)
Complexity Buchi games: O(d log m) space
(d=longest simple distance, m=number of states)
SLIDE 41
Upper bounds
Games
LTL
- Det. Generators
- L. Dist.
Size
(2Exp) (2Exp) (2Exp) (2Exp) (Exp) (2Exp) (Exp) (2Exp) (Exp) (Exp) PSPACE (Linear) (Exp)
B(L , , ()) B(L , , , ()) B(L , ()) L , , , () B(L , , ())
EXPTIME EXPSPACE EXPSPACE 2EXPTIME 2EXPTIME
SLIDE 42
Talk Outline
Overview Notation and general solution to LTL games Upper bounds: deteministic generators Lower bounds Encoding TMs without “next” and “until” Expspace-hardness of 2Exptime-hardness of Conclusions L , , , () B(L , , ())
SLIDE 43
: Pspace-hardness
QBF formula: A1x1. … Anxn. i=1 ci formula: i=1
ci
n n
x1 xn x1 xn
A1 An
B(L , ())
B(L , ())
SLIDE 44
: Exptime-hardness
Encoding from ALT-Pspace TM System wins on plays either
encoding an accepting computation or not encoding a computation
Encoding:
a1a2…ai-1 q ai…an a1a2… q’ ai-1 a’i…an
(a1,1) (a2,2)…(ai-1,i-1) (ai,i) …(an ,n) (q,ai,i) (q’,a’i,L)
B(L , , ())
SLIDE 45
Talk Outline
Overview Notation and general solution to LTL games Upper bounds: deteministic generators Lower bounds Encoding TMs without “next” and “until” Expspace-hardness of 2Exptime-hardness of Conclusions L , , , () B(L , , ())
SLIDE 46
Proving lower bounds
Encode acceptance problem for Turing Machines Crucial point: Problems:
Zoom to a cell content Compare cells of consecutive configurations
i
Cj+1 Cj
i i-1 i+1
SLIDE 47
With “until” and “next”
Zoom to cell i = n(bn…b1):
bn…b1 a to encode “cell bn…b1 contains a” (bn (… (b1 a) …)) to check it
Compare across configurations:
Modulo-2 counter to distinguish among consecutive configurations Constructs of type 0 U (1 1)
SLIDE 48
New encoding of computations
SLIDE 49
New encoding of computations
- nly checks for subsequences
- Es. (bn
(… (b1 a) …)), (“bn…b1 a” may not be consecutive)
<a0>0 <a1>1… <ai>i …<a2n-1>2n-1 (proper sequence)
SLIDE 50
New encoding of computations
- nly checks for subsequences
- Es. (bn
(… (b1 a) …)), (“bn…b1 a” may not be consecutive)
<a0>0 <a1>1… <ai>i …<a2n-1>2n-1 (proper sequence)
pn…p1 ai q1…qn
SLIDE 51
New encoding of computations
- nly checks for subsequences
- Es. (bn
(… (b1 a) …)), (“bn…b1 a” may not be consecutive)
<a0>0 <a1>1… <ai>i …<a2n-1>2n-1 (proper sequence)
pn…p1 ai q1…qn pn…p1 : binary encoding for i qn…q1 : binary encoding for 2n-1-i
SLIDE 52
New encoding of computations
- nly checks for subsequences
- Es. (bn
(… (b1 a) …)), (“bn…b1 a” may not be consecutive)
<a0>0 <a1>1… <ai>i …<a2n-1>2n-1 (proper sequence)
pn…p1 ai q1…qn pn…p1 : binary encoding for i qn…q1 : binary encoding for 2n-1-i (pj{pj0,pj1}, qj{qj0,qj1})
SLIDE 53
Property of proper sequences
SLIDE 54
Property of proper sequences
For <ai>i = u ai v (u-address, v-address):
<a0>0 ………<ai-1>i-1 u is the shortest prefix containing u as a subsequence v <ai+1>i+1………<a2n-1>2n-1 is the shortest suffix containing v as a subsequence
Therefore:
u a v is a subseq of <a0>0 <a1>1…<a2n-1>2n-1 iff a=ai
SLIDE 55
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 56
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 57
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 58
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 59
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 60
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 61
3-bits encoding of aababbab:
000a111 001a011 010b101 011a001 100b110 101b010 110a100 111b000
For u=011, v=001 :
u=011 000a111 001a011 010b101 011 v=001 01 100b110 101b010 110a100 111b000
Example: proper sequences
SLIDE 62
Talk Outline
Overview Notation and general solution to LTL games Upper bounds: deteministic generators Lower bounds Encoding TMs without “next” and “until” U Expspace-hardness of 2Exptime-hardness of Conclusions L , , , () B(L , , ())
SLIDE 63
Results
Th 1. Deciding games is 2Exptime-hard (reduction from Alt. Expspace) Th 2. Deciding games is Expspace-hard (reduction from Alt. Exptime) L , , , () B(L , , ())
SLIDE 64
Schema of our reductions
Protagonist (system)
generates configurations picks transitions when TM in -states
Adversary (environment)
picks transitions when TM in -states raises objections to check if the sequence of configurations is proper and conforms the behaviour of TM
SLIDE 65
Expspace-hardness
SLIDE 66
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
SLIDE 67
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0
SLIDE 68
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0 ok
SLIDE 69
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0 ok
- bj1
SLIDE 70
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0 ok
- bj1
…… uyayvy ok…… u’0a’0v’0 ………ufafvf
- bj1
SLIDE 71
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0 ok
- bj1
…… uyayvy ok…… u’0a’0v’0 ………ufafvf
- bj1
- k ok ……
f
SLIDE 72
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0 ok
- bj1
…… uyayvy ok…… u’0a’0v’0 ………ufafvf
- bj1
- k ok ……
f
- bj1
SLIDE 73
Expspace-hardness
Protagonist generates sequences of positions <a>i
(i refers to configuration # and cell #)
Plays:
u0a0v0 ok
- bj1
…… uyayvy ok…… u’0a’0v’0 ………ufafvf
- bj1
- k ok ……
f
- bj1
- bj2
SLIDE 74
Objection 1
SLIDE 75
Objection 1
Generation of proper sequences:
verify n(uj+1)=n(uj)+1 and n(vj)=2n-1- n(uj) … pn…p1 aj q1…qn ……obj1 rn…r1 sn…s1
SLIDE 76
Objection 1
Generation of proper sequences:
verify n(uj+1)=n(uj)+1 and n(vj)=2n-1- n(uj) … pn…p1 aj q1…qn ……obj1 rn…r1 sn…s1
same
SLIDE 77
Objection 1
Generation of proper sequences:
verify n(uj+1)=n(uj)+1 and n(vj)=2n-1- n(uj) … pn…p1 aj q1…qn ……obj1 rn…r1 sn…s1
same same
SLIDE 78
Objection 1
Generation of proper sequences:
verify n(uj+1)=n(uj)+1 and n(vj)=2n-1- n(uj) … pn…p1 aj q1…qn ……obj1 rn…r1 sn…s1
same same (pj rj
0) (pj 1
rj
1)
SLIDE 79
Objection 1
Generation of proper sequences:
verify n(uj+1)=n(uj)+1 and n(vj)=2n-1- n(uj) … pn…p1 aj q1…qn ……obj1 rn…r1 sn…s1
same same (qj rj
1) (qj 1
rj
0)
diff diff
SLIDE 80
Formula for proper sequences
- bj1 (
[ (succ(r,s) 1) 2] (’1 ’2) )
SLIDE 81
Formula for proper sequences
- bj1 (
[ (succ(r,s) 1) 2] (’1 ’2) ) 1 = “p is same as r” 2 = “p is same as r followed by p is same as s”
SLIDE 82
Formula for proper sequences
- bj1 (
[ (succ(r,s) 1) 2] (’1 ’2) ) ’1 = “p is same as r” ’2 = “p is same as r followed by q diff from r”
SLIDE 83
Formula for proper sequences
- bj1 (
[ (succ(r,s) 1) 2] (’1 ’2) ) ’1 = “p is same as r” ’2 = “p is same as r followed by q diff from r” B(L , , ())
Need only formulas in
SLIDE 84
Objection 2
Verify that sequences are TM outcomes Adversary picks i-1, i, i+1, and j, and checks if cell i of Cj+1 can “follow” cells i-1, i, i+1 of Cj “Small” formulas from do the job
(property of proper sequences is crucial to match cell contents using only nested )
TM computes in exptime:
at the end of a computation we can zoom to each position generating polynomially many bits
B(L , , ())
SLIDE 85
Results
Th 1. Deciding games is 2Exptime-hard (reduction from Alt. Expspace) Th 2. Deciding games is Expspace-hard (reduction from Alt. Exptime) L , , , () B(L , , ())
SLIDE 86
2Exptime-hardness
SLIDE 87
2Exptime-hardness
We cannot encode configuration # We can still use proper sequences to zoom to cells within a configuration Focus on 2 consecutive configurations at a time
(modulo-3 counter incremented every time a new configuration is entered)
SLIDE 88
Objections
Objection 1 similar to previous case Objection 2 is allowed at the end of every configuration To check from the penultimate configuration use obj2 along with:
- j{0,1,2} ((j
(j+1) ¬(j+2)))
SLIDE 89
Objections
Objection 1 similar to previous case Objection 2 is allowed at the end of every configuration To check from the penultimate configuration use obj2 along with:
- j{0,1,2} ((j
(j+1) ¬(j+2)))
SLIDE 90
Objections
Objection 1 similar to previous case Objection 2 is allowed at the end of every configuration To check from the penultimate configuration use obj2 along with:
- j{0,1,2} ((j
(j+1) ¬(j+2))) (This is in ) L , , , ()
SLIDE 91
Complexity
Games
LTL
- Det. Generators
- L. Dist.
Size
(2Exp) (2Exp) (2Exp) (2Exp) (Exp) (2Exp) (Exp) (2Exp) (Exp) (Exp) Pspace-complete (Linear) (Exp)
B(L , , ()) B(L , , , ()) B(L , ()) L , , , () B(L , , ())
Exptime-complete
Expspace-complete Expspace-complete 2Exptime-complete 2Exptime-complete
SLIDE 92
Talk Outline
Overview Notation and general solution to LTL games Upper bounds: deteministic generators Lower bounds Encoding TMs without “next” and “until” U Expspace-hardness of 2Exptime-hardness of Conclusions L , , , () B(L , , ())
SLIDE 93
Fair safety-reachability games
Games with fairness:
“(adv plays fair) (prot plays fair wins) “(prot plays fair) (adv plays fair wins)
- :
( ) fair safety-reachability games
- games are Pspace-complete
B(L () U L , ()) B(L , ())F B(L , ())F
SLIDE 94
Fair safety-reachability games
Games with fairness:
“(adv plays fair) (prot plays fair wins) “(prot plays fair) (adv plays fair wins)
- :
( ) fair safety-reachability games
- games are Pspace-complete
B(L () U L , ()) B(L , ())F B(L , ())F L , ()
Decision algorithm uses Zielonka solution to Muller games along with det. generators for
SLIDE 95
Fair safety-reachability games
Games with fairness:
“(adv plays fair) (prot plays fair wins) “(prot plays fair) (adv plays fair wins)
- :
( ) fair safety-reachability games
- games are Pspace-complete
B(L () U L , ()) B(L , ())F B(L , ())F
Hardness: games with “Streett Rabin” winning conditions are Pspace-hard (from QBF)
SLIDE 96
More in PSPACE
Persistent strategy:
On a play, the player picks always the same move visiting the same location (weaker than memoryless)
SLIDE 97
More in PSPACE
Persistent strategy:
On a play, the player picks always the same move visiting the same location (weaker than memoryless) a b c a a b
SLIDE 98
More in PSPACE
Persistent strategy:
On a play, the player picks always the same move visiting the same location (weaker than memoryless) a b c a a b persistent not memoryless
SLIDE 99
Complexity of
Theorem: [Marcinkowski -Truderung CSL‘02]
For specs in , protagonist has a winning strategy iff can win against an adversary that uses
- nly persistent strategies
- games are in PSPACE
L , , ()
L , , ()
L , , ()
SLIDE 100
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
2 E x p t i m e
- c
- m
p l e t e
SLIDE 101
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ()) Pspace-complete NP-complete
Complexity: Model-checking
2 E x p t i m e
- c
- m
p l e t e
SLIDE 102
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
2 E x p t i m e
- c
- m
p l e t e
SLIDE 103
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 104
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete Exptime-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 105
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete Exptime-complete Expspace-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 106
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete Exptime-complete Expspace-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 107
Pspace-complete 2Exptime-complete NP-complete 2Exptime-complete Pspace-complete Expspace-complete NP-complete Expspace-complete Pspace-complete Exptime-complete NP-complete Pspace-complete NP-complete Pspace-complete NP-complete Pspace-complete Model-checking Games
Computational Complexity
L , () L , , () B(L , , ()) B(L , , , ()) LTL L , , , () B(L , , ()) B(L , ())F
SLIDE 108
- Box and Diamond
(eventually ): (always ):
SLIDE 109
“ - ” fragments
- : full “ - ” LTL fragment
- : boolean combinations of
:= p | | | , p (no in the scope of and vice-versa) L , , , () B(L , , ())
SLIDE 110
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b)
SLIDE 111
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 112
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 113
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 114
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 115
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 116
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 117
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 118
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 119
Game graph:
LTL Games
1 5 2 4 3
a a b b c
Specification: (a b) Decision problem: Is there a winnng strategy of the protagonist?
SLIDE 120
Computational Complexity of LTL Games
SLIDE 121
Computational Complexity of LTL Games Deciding LTL games is 2Exptime-complete [PR’89] What about games in LTL fragments? Previous research [AL’01] & [MT’02] Focus on fragments using only “always” () and “eventually” ()
(no “until” or “next” are allowed)
SLIDE 122
Our results
SLIDE 123
Our results
Full “ - ” LTL fragment p Games are 2Exptime-hard as for LTL Not allowing in the scope of and vice-versa games become Expspace-complete
Expspace membership from [AL’01] Using only either or games are in Pspace [MT’02]
Games with safety and reachability specs augmented with fairness conditions are Pspace-complete
SLIDE 124
LTL Games
Winning condition is LTL formula G= game graph, = LTL formula
Construct det. generator A of models Solve the game (G x A, W)
(W is the acceptance condition of A on G x A)
2Exptime-complete [PR’89]
SLIDE 125
Motivation
Game complexity is lower for Buchi, Rabin, and Streett games Model-checking is also easier in some LTL fragments What about games in LTL fragments?
SLIDE 126
Problem 2: consecutive configs
SLIDE 127
Problem 2: consecutive configs
If “until” (U) is allowed then:
Modulo-2 counter to distinguish among consecutive configurations Constructs of type (0 0) U (1 1)
Without “next” and “until”?
If # of configurations is O(2n), then number configurations (same as for cells) Otherwise, we need more …
SLIDE 128
Linear Temporal Logic (LTL)
Correctness requirements for reactive systems Game-based interpretation:
controller synthesis compositionality requirements verification of open systems modular verification (module-checking)
SLIDE 129
Zoom to the last two configs
Configurations are counted with a modulo-3 counter
use 3 new atomic propositions the same propositions hold true on all cells of a configuration
To check from the penultimate configuration use:
- j{0,1,2} ((j
(j+1) ¬(j+2)))
SLIDE 130
Zoom to the last two configs
Configurations are counted with a modulo-3 counter
use 3 new atomic propositions the same propositions hold true on all cells of a configuration
To check from the penultimate configuration use:
- j{0,1,2} ((j
(j+1) ¬(j+2)))
SLIDE 131
Zoom to the last two configs
Configurations are counted with a modulo-3 counter
use 3 new atomic propositions the same propositions hold true on all cells of a configuration
To check from the penultimate configuration use:
- j{0,1,2} ((j
(j+1) ¬(j+2))) ( )
SLIDE 132
Expspace-hardness
Objection 1:
adversary selects 2 consecutive positions protagonist loses if these positions witness that the sequence is not proper
Objection 2:
adversary selects 4 positions to check that a position can derive from the positions of the previous configuration protagonist loses if these positions do not conform to TM behaviour
formulas similar to Match(a,i)
SLIDE 133
Match(a,i)
Seq(bm,…,b1) = (bm (… b1)…) Same(pj,bj) = (pj ¬bj) (pj
1 bj)
Diff(qj,bj) = (qj bj) (qj
1 ¬ bj)
Match(a,i) = Seq(Same(pn,bn) ,…, Same(p1,b1), a, Diff(q1,b1),…, Diff(qn,bn))
(bn…b1 binary encoding of i)
SLIDE 134
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
2 E x p t i m e
- c
- m
p l e t e
SLIDE 135
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ()) Pspace-complete NP-complete
Complexity: Model-checking
2 E x p t i m e
- c
- m
p l e t e
SLIDE 136
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
2 E x p t i m e
- c
- m
p l e t e
SLIDE 137
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 138
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete Exptime-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 139
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete Exptime-complete Expspace-complete 2 E x p t i m e
- c
- m
p l e t e
SLIDE 140
LTL fragments
L , () L , , () B(L , , ()) LTL L , , , () B(L , , ()) B(L , ())F B(L , , , ())
Complexity: Games
Pspace-complete Exptime-complete Expspace-complete 2 E x p t i m e
- c
- m