Algorithms and optimisations for parity games

Algorithms and
optimisations for parity
games applied to Boolean
Equation Systems
Jeroen Keiren
[email protected]
6th July 2009
Outline
Introduction
Algorithms & Optimisations
Experiments
Conclusions
/ department of mathematics and computer science
2/17
Introduction
3/17
Complexity of software and hardware increases
I Requires techniques for verifying correctness:
•
•
•
Testing (not exhaustive)
Formal proof techniques (require human intellect)
Model checking (automated, but time-consuming)
Model checking:
I Property (logic formula)
I Model
I Does model satisfy property?
Figure: Roertunnel (ANP)
/ department of mathematics and computer science
Methodology
4/17
µ-calculus formula
LPE
PBES
Solve
Parity game
/ department of mathematics and computer science
BES
BESs & Parity games
5/17
Denition
A BES is a system of xpoint equations of the form σX = f , with
σ ∈ {µ, ν} a xpoint symbol, and f a logic formula.
Intuition: solution satises equations (multiple solutions), xpoints
indicate chosen solution; equations higher in the system take priority over
lower ones
Denition
A parity game is a graph game played by two players, Even and Odd .
Every vertex v has integer priority p(v). Player Even wins innite play if
least priority that occurs innitely often is even.
BESs and parity games are equivalent
/ department of mathematics and computer science
Algorithms & Optimisations
6/17
Practice shows BES algorithms not ecient, except for restricted BES
forms
What algorithm should we implement to speed up solving of BESs?
Parity game algorithms
Small progress measures (2000)
Recursive (1993)
Strategy improvement (2000)
Recursive with preservation (2008)
Optimal strategy improvement (2008) Dominion decomposition (2006)
Bigstep (2007)
3 satisability encodings
Model checker (1998)
I Complexity depends on number of edges, vertices, priorities
I Optimisation techniques known that can be applied to all algorithms
•
•
•
•
Remove edges
Decrease priorities
Solve special cases (with more ecient algorithms)
SCC decomposition
/ department of mathematics and computer science
Priority propagation
I
I
7/17
Most optimisations described in both worlds
Priority propagation new for BES
Intuition: Play that visits vertex v innitely often must visit one of v 's
successors innitely often; reduce v 's priority to largest priority of v 's
successors. (Same can be done for predecessors)
Example
2
...
5
/ department of mathematics and computer science
3
...
Priority propagation
I
I
7/17
Most optimisations described in both worlds
Priority propagation new for BES
Intuition: Play that visits vertex v innitely often must visit one of v 's
successors innitely often; reduce v 's priority to largest priority of v 's
successors. (Same can be done for predecessors)
Example
2
...
3
/ department of mathematics and computer science
3
...
Priority propagation (2)
Concept translates to BES :
Theorem
Let E0 , E1 , E2 be BESs, then solution of
E0 E1 (σX = f )E2 = E0 (σ 0 X = f )E1 E2 , provided that
occ(f ) ∩ bnd(E1 E2 ) = ∅ and X ∈ occ(f ) ⇒ σ = σ 0
I
I
I
Theorem inspired upon priority propagation
Also holds if X 6∈ occ(E1 ) ∪ occ(E2 ) and X ∈ occ(f ) ⇒ σ = σ 0
Proofs in semantics of BES, with induction to length of E1
/ department of mathematics and computer science
8/17
Experiments
> 20, 000 runs, about three months CPU time
I
What is the eect of optimisations?
•
I
How do algorithms depend on priorities?
•
I
1 model, 4 properties, 27 combinations of optimisations
1 model, 4 properties, 26 combinations of optimisations, articially
increase number of priorities
What is the most ecient algorithm?
•
Large number of models, properties inducing varying number of
priorities (between 1 and 3), optimisations enabled
All experiments done for 11 algorithms
/ department of mathematics and computer science
9/17
What is the eect of optimisations? (1)
I
SCC decomposition dramatically speeds up compution
/ department of mathematics and computer science
10/17
What is the eect of optimisations? (2)
I
SCC decomposition is not the holy grail
/ department of mathematics and computer science
11/17
What is the eect of optimisations? (3)
I
I
I
I
SCC decomposition is benecial
Solving special games helps, but not a lot
No other signicant improvements observed with other known
optimisations
Can we do better?
/ department of mathematics and computer science
12/17
Oblivious bisimulation
13/17
Yes we can!
Strong bisimulation minimation:
I Similar to well-known bisimulation minimisation of state spaces
I Equations related that have same rank and Boolean operand, and
transfer conditions hold
Observation:
I Equations σX = Y and σX 0 = Y ∧ Y not related
Oblivious bisimulation minimisation:
I Similar to strong bisimulation minimisation, but restriction on
Boolean operands dropped if all variables in right hand sides related
I σX = Y and σX 0 = Y ∧ Y related
Strong bisimulation generalised to arbitrary BESs by Reniers and Willemse
/ department of mathematics and computer science
What is the most ecient algorithm? (1)
14/17
Case: SWP2 , innitely often receive all d
|M |
size
Viasat
Strategy improvement SAT
Small progress measures SAT
Small progress measures
Strategy improvement
Optimal strategy improvement
Recursive
Recursive w. preservation
Dominion decomposition
Bigstep
Model checker
/ department of mathematics and computer science
2
3
4
157,165 872,008 3,097,875
0.80
4.83
19.04
0.79
4.83
19.13
0.80
4.83
19.01
1.31
0.80
0.81
0.81
0.81
0.81
0.81
0.81
9.58
4.98
4.88
4.83
4.72
5.01
4.90
4.83
31.21
18.87
19.13
18.97
19.09
18.98
19.96
19.01
What is the most ecient algorithm? (2)
15/17
Accumulated performance indicators:
Strategy
Viasat
Strategy improvement SAT
Small progress measures SAT
Small progress measures
Strategy improvement
Optimal strategy improvement
Recursive
Recursive w. preservation
Dominion decomposition
Bigstep
Model checker
/ department of mathematics and computer science
# top 10% # worst 10%
278
216
285
216
282
215
198
286
283
292
285
291
277
286
296
214
218
212
219
215
220
215
What is the most ecient algorithm? (2)
I
I
I
I
I
Small progress measures stands out negatively
Only small dierences between other algorithms
Dierences small because of optimisations
Desire: algorithms that hardly show extremely bad performance
Advice: choose bigstep and recursive algorithms
/ department of mathematics and computer science
16/17
Conclusions
17/17
What algorithms should we implement?
SCC decomposition and detecting and solving special cases
Bigstep and recursive algorithms
I Oblivious bisimulation minimisation beats solvers and optimisations
Future work:
I Investigate further reductions for BESs (e.g. stuttering equivalence)
I Investigate eectiveness of generalised parity game algorithms in
BES framework
I Develop reduction techniques in symbolic framework of PBES
I
I
/ department of mathematics and computer science