algorithms for parity games
play

Algorithms for Parity Games Piotr Danilewski May 15, 2008 Piotr - PowerPoint PPT Presentation

Outline Parity Games When can we win? Algorithms Algorithms for Parity Games Piotr Danilewski May 15, 2008 Piotr Danilewski Algorithms for Parity Games Outline Parity Games When can we win? Algorithms Parity Games Why? Definition


  1. Outline Parity Games When can we win? Algorithms Algorithms for Parity Games Piotr Danilewski May 15, 2008 Piotr Danilewski Algorithms for Parity Games

  2. Outline Parity Games When can we win? Algorithms Parity Games Why? Definition Winning condition When can we win? General observations Strategy representation Winning sets Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity Piotr Danilewski Algorithms for Parity Games

  3. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Practical use of Parity Games ◮ Modal µ -calculus model checking ◮ Synthesis and satisfiability checking for reactive systems ◮ Module checking Piotr Danilewski Algorithms for Parity Games

  4. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms What are Parity Games? Piotr Danilewski Algorithms for Parity Games

  5. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Parity Graph G = ( V , E , p ) p : V − → N q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  6. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Parity Game Nodes assigned to players A and B . V = V A ∪ V B q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  7. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Play Play - infinite path π = ( v 0 , v 1 , v 2 , .... ) π 1 = ( q 1 , q 3 , q 6 , q 7 , q 6 , q 7 , ... ) π 2 = ( q 2 , q 4 , q 5 , q 2 , q 4 , q 5 , ... ) q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  8. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Winning condition Let P denote minimal priority which repeats itself infinitely often. ◮ If P is odd then player A wins. ◮ If P is even then player B wins. Piotr Danilewski Algorithms for Parity Games

  9. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Winning condition π 1 = ( q 1 , q 3 , q 6 , q 7 , q 6 , q 7 , ... ) (1 , 4 , 1 , 4 , 1 , 4 , 1 , 4 ... ) P = 1 ⇒ A wins. q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  10. Outline Why? Parity Games Definition When can we win? Winning condition Algorithms Winning condition π 2 = ( q 2 , q 4 , q 5 , q 2 , q 4 , q 5 , ... ) (2 , 3 , 3 , 2 , 3 , 3 , 2 , 3 ... ) P = 2 ⇒ B wins. q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  11. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms When can we win? Piotr Danilewski Algorithms for Parity Games

  12. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Ideal playing We assume players do not make mistakes. ◮ π 1 is invalid under this assumption. At vertex q 3 player B should have chosen q 5 . ◮ π 2 is valid. Choosing q 3 at q 2 would not help player A. q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  13. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Memoryless property We do not have to know how we reached certain vertex in order to deduct how to play. Piotr Danilewski Algorithms for Parity Games

  14. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Memoryless strategy representation Strategy does not change over time. s A : V A − → V s B : V B − → V s A , s B point to successor picked by players A and B respectively. Piotr Danilewski Algorithms for Parity Games

  15. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Memoryless strategy representation  q 3 if v = q 1  s A ( v ) := q 4 if v = q 2 q 7 if v = q 6  q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  16. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Strategy graph G A - Graph G were edges outgoing from V A are limited to only those chosen by s A . q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  17. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Winning condition in strategy graph Player A wins if for given vertex v all reachabe cycles in G A are odd. q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  18. Outline General observations Parity Games Strategy representation When can we win? Winning sets Algorithms Winning sets partition Every parity game graph can be partitioned into winning sets W A and W B . q 6 q 7 1 4 q 5 3 q 3 q 4 4 3 q 2 2 q 1 1 Piotr Danilewski Algorithms for Parity Games

  19. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Algorithms Piotr Danilewski Algorithms for Parity Games

  20. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity ◮ Enrich graph with additional information and deduct the best strategy ◮ Choose some strategy and then improve it Piotr Danilewski Algorithms for Parity Games

  21. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Naive Algorithm Piotr Danilewski Algorithms for Parity Games

  22. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity The naive algorithm ◮ Consider all possible strategies s A . ◮ Consider all possible counter-strategies s B . ◮ Pick the best s A Piotr Danilewski Algorithms for Parity Games

  23. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Time complexity of the naive algorithm � � � O deg v v ∈ V In case of full graph: � | V | | V | � O Piotr Danilewski Algorithms for Parity Games

  24. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Jurdzinski’s algorithm Piotr Danilewski Algorithms for Parity Games

  25. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Parity Progress Measure Store additional tuple N c +1 at each vertex where c is maximal priority. Comparison operators: < i , ≤ i , = i , ≥ i , > i - lexicographic operators on i + 1 first elements. (2 , 3 , 0 , 0) > 1 (2 , 2 , 4 , 1) (2 , 3 , 0 , 0) = 0 (2 , 2 , 4 , 1) (0 , 1 , 0 , 0) < 1 (1 , 0 , 0 , 0) Piotr Danilewski Algorithms for Parity Games

  26. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Parity Progress Measure → N c +1 is a Parity Progress Measure if: Function ρ : V − ∀ ( v , w ) ∈ E : ρ ( v ) ≥ p ( v ) ρ ( w ) and if p ( v ) is odd ∀ ( v , w ) ∈ E : ρ ( v ) > p ( v ) ρ ( w ) Piotr Danilewski Algorithms for Parity Games

  27. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Parity Progress Measure If Parity Progress Measure ρ exists then graph G must have only even cycles. Otherwise, let i be minimal odd priority in some cycle. Then: ρ ( v 1 ) > i ρ ( v 2 ) ≥ i ρ ( v 3 ) ... ≥ i ρ ( v 1 ) Piotr Danilewski Algorithms for Parity Games

  28. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Parity Progress Measure V i := p − 1 ( i ) M G := N 0 × N | V 1 | × N 0 × N | V 3 | × N 0 × ... × N | V c | Piotr Danilewski Algorithms for Parity Games

  29. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Codomain restriction q 6 q 7 1 4  V 0 := ∅ q 5   V 1 := { q 1 , q 6 } 3    V 2 := { q 2 } q 3 q 4 V 3 := { q 4 , q 5 }  4 3    V 4 := { q 3 , q 7 }  q 2 2 q 1 M G = N 0 × N 2 × N 0 × N 2 × N 0 1 Piotr Danilewski Algorithms for Parity Games

  30. General approaches Outline Naive algorithm Parity Games Jurdzinski’s algorithm When can we win? Other algorithms Algorithms Complexity Game Parity Progress Measure So far - we worked on graphs with even cycles only. Now - we want to include all graphs and vertex assignment to players. Add highest element T : M T G = M G ∪ { T } T means we cannot fit any other value because we reach an odd cycle Piotr Danilewski Algorithms for Parity Games

Recommend


More recommend