Transcript
Page 1: Benchmarking parity games

Benchmarking Parity GamesFSEN 2014

Jeroen KeirenOpen University of the Netherlands & VU University Amsterdam

24 April 2015

1 / 19

Page 2: Benchmarking parity games

Where are parity games used?

I Model Checking

I Equivalence Checking

I Satisfiability/Validity of modal logic

I Synthesis

2 / 19

Page 3: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 4: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 5: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 6: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 7: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 8: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 9: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 10: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 11: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 12: Benchmarking parity games

Parity Games

V A set of vertices.→ ⊆ V × V An edge relation.Ω :V → N A priority mapping., Two players (even, odd).

(V ,V) A partition of V .

0

s0

t0

u

0

w

1

v

=even=odd

I Winner?

I Optimal strategies?

3 / 19

Page 13: Benchmarking parity games

Winning Parity Games

Memoryless determinacy

I Partition (W ,W) of V

I Player © has memoryless winning strategy from W©, for© ∈ ,

4 / 19

Page 14: Benchmarking parity games

Solving Parity Games

Solving a parity game:

I Determine partition (W ,W)

Complexity:

I Problem is in NP ∩ co-NP

I Is it in P?

Open!

5 / 19

Page 15: Benchmarking parity games

Solving Parity Games

Solving a parity game:

I Determine partition (W ,W)

Complexity:

I Problem is in NP ∩ co-NP

I Is it in P? Open!

5 / 19

Page 16: Benchmarking parity games

Why benchmark?

Complexity + applications ⇒ active research

Algorithms for:

I solving

I simplifying

I reducing

parity games

How to compare new algorithms to existing ones?

6 / 19

Page 17: Benchmarking parity games

Existing practice

I Only theoretical analysis (big-O)

I Class of games that meets upper bound

I Random games

I (Very) small set of games

Results from different papers not comparable

7 / 19

Page 18: Benchmarking parity games

Requirements on Benchmarks

I Cover broad range of games:I Different problemsI Different structural properties

I Games from the literature

8 / 19

Page 19: Benchmarking parity games

Contributions

I Set of parity games

I List of structural properties

I Analysis of games w.r.t. these properties

9 / 19

Page 20: Benchmarking parity games

Set of parity games

I Model checking:I Communication protocols (C)ABP, BRP, SWPI Cache coherence protocolI Two-player board gamesI Industrial IEEE-1394 link-layer, truck liftI Elevator, Hanoi towers

I Equivalence checking: strong-, weak-, branchingbisimulation of communication protocols

I Validity/satisfiability of LTL, CTL, CTL*, PDL andµ-calculus (using MLSolver)

I Random games (using PGSolver)

I Hard cases (using PGSolver)

10 / 19

Page 21: Benchmarking parity games

Structural properties

I Some properties known to affect complexity of solving:I Number of vertices and edges (“size”)I Number of prioritiesI Width measures (tree-width, DAG-width, etc.)I SCCs

I New: alternation depth (inspired by modal equationsystems)

I And some more. . .

11 / 19

Page 22: Benchmarking parity games

Alternation depth

I Describe complexity more accurately

I Similar to ideas in [Emerson & Lee 1986] for µ-calculus

Three steps (let C ∈ sccs(G ))

1. Nesting depth of v in C is #alternations between evenand odd priorities on paths of descending priorities in C

2. Nesting depth of C is maxnestingdepth(v) | v ∈ C3. Alternation depth of of a parity game is the maximal

nesting depth of its SCCs

12 / 19

Page 23: Benchmarking parity games

Analysis of games w.r.t. structural propertiesVertices vs. edges

101 102 103 104 105 106 107

101

102

103

104

105

106

107

108

Vertices

Edg

es

modelcheckingequivalencemlsolverspecialcasesrandom

13 / 19

Page 24: Benchmarking parity games

Analysis of games w.r.t. structural propertiesAlternation depth

101 102 103 104 105 106 107100

101

102

103

104

Vertices

Alt

erna

tion

dept

h

modelcheckingequivalencemlsolverspecialcasesrandom

14 / 19

Page 25: Benchmarking parity games

Analysis of games w.r.t. structural propertiesDiameter

101 102 103 104100

101

102

103

104

BFS Height

Dia

met

er

modelcheckingequivalencemlsolverspecialcasesrandom

15 / 19

Page 26: Benchmarking parity games

Applications

I Used to assess parity game reductions in [Cranen, K &Willemse 2011,2012]

I Subset of generation process used for benchmarks in [K,Wesselink & Willemse, 2014]

I Confirmed observation from [Friedmann & Lange 2009]:recursive algorithm beats sophisticated algorithms(unpublished)

16 / 19

Page 27: Benchmarking parity games

Summary

I presented:

I A set of parity games

I Structural properties of parity games

I An analysis of the games w.r.t. these properties

17 / 19

Page 28: Benchmarking parity games

Open issues

I Use structural properties to optimise/design algorithms

I Perform large-scale comparison of different algorithms

I Extend set of games with other encodings/more examples

I Design algorithms for computing more complex structuralproperties

18 / 19

Page 29: Benchmarking parity games

Please contribute your own games!

jeroenkeiren.nl

github.com/jkeiren/paritygame-generator

19 / 19


Top Related