Games in LTL Fragments Salvatore La Torre Dipartimento di - - PowerPoint PPT Presentation

games in ltl fragments
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Games in LTL Fragments

Salvatore La Torre

Dipartimento di Informatica ed Applicazioni Università degli Studi di Salerno

slide-2
SLIDE 2

Correctness requirements for reactive systems

“Every request is eventually granted”

Most studied decision problem:

model checking (closed systems) Is M a model of ?

(r g)

Linear-time Temporal Logic (LTL)

slide-3
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
SLIDE 4

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b)

slide-5
SLIDE 5

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b) Play

slide-6
SLIDE 6

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b) Play

slide-7
SLIDE 7

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b) Play

slide-8
SLIDE 8

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b) Play

slide-9
SLIDE 9

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b) Play

slide-10
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
SLIDE 11

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-12
SLIDE 12

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-13
SLIDE 13

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-14
SLIDE 14

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-15
SLIDE 15

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-16
SLIDE 16

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-17
SLIDE 17

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-18
SLIDE 18

Game graph:

Example: Strategy

1 5 2 4 3

a a b b c

Specification: (a b)

slide-19
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
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
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
SLIDE 22

LTL

Syntax

p U

Semantics

  • p:

p

slide-23
SLIDE 23

LTL

Syntax

p U

Semantics

  • p:

p

  • p:

p p p p p

slide-24
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
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
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
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
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
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
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
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
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
SLIDE 33

PODB Composition

p1 s’0

A

pk pi

i

slide-34
SLIDE 34

PODB Composition

p1 s’0

A

pk pi

i

s0 ( p pi

i

p p p1 p pk )

slide-35
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
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
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
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
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
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
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
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
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
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
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
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
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
SLIDE 48

New encoding of computations

slide-49
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
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
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
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
SLIDE 53

Property of proper sequences

slide-54
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
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
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
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
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
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
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
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
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
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
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
SLIDE 65

Expspace-hardness

slide-66
SLIDE 66

Expspace-hardness

Protagonist generates sequences of positions <a>i

(i refers to configuration # and cell #)

Plays:

slide-67
SLIDE 67

Expspace-hardness

Protagonist generates sequences of positions <a>i

(i refers to configuration # and cell #)

Plays:

u0a0v0

slide-68
SLIDE 68

Expspace-hardness

Protagonist generates sequences of positions <a>i

(i refers to configuration # and cell #)

Plays:

u0a0v0 ok

slide-69
SLIDE 69

Expspace-hardness

Protagonist generates sequences of positions <a>i

(i refers to configuration # and cell #)

Plays:

u0a0v0 ok

  • bj1
slide-70
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
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
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
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
SLIDE 74

Objection 1

slide-75
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
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
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
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
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
SLIDE 80

Formula for proper sequences

  • bj1 (

[ (succ(r,s) 1) 2] (’1 ’2) )

slide-81
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
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
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
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
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
SLIDE 86

2Exptime-hardness

slide-87
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SLIDE 108
  • Box and Diamond

(eventually ): (always ):

slide-109
SLIDE 109

“ - ” fragments

  • : full “ - ” LTL fragment
  • : boolean combinations of

:= p | | | , p (no in the scope of and vice-versa) L , , , () B(L , , ())

slide-110
SLIDE 110

Game graph:

LTL Games

1 5 2 4 3

a a b b c

Specification: (a b)

slide-111
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
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
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
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
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
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
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
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
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
SLIDE 120

Computational Complexity of LTL Games

slide-121
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
SLIDE 122

Our results

slide-123
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
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
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
SLIDE 126

Problem 2: consecutive configs

slide-127
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
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
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
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
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
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
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
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
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
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
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
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
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
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

p l e t e