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
© Copyright 2024 Paperzz