Winning Cores in Parity Games Steen Vester DTU Compute October 22, - - PowerPoint PPT Presentation

winning cores in parity games
SMART_READER_LITE
LIVE PREVIEW

Winning Cores in Parity Games Steen Vester DTU Compute October 22, - - PowerPoint PPT Presentation

Winning Cores in Parity Games Steen Vester DTU Compute October 22, 2015 S. Vester (DTU Compute) Winning Cores in Parity Games October 22, 2015 1 / 35 Outline Motivation 1 Introducing parity games 2 Contributions 3 Winning cores An


slide-1
SLIDE 1

Winning Cores in Parity Games

Steen Vester

DTU Compute

October 22, 2015

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 1 / 35

slide-2
SLIDE 2

Outline

1

Motivation

2

Introducing parity games

3

Contributions Winning cores An approximation algorithm Experimental results

4

Summary

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 2 / 35

slide-3
SLIDE 3

Motivation

Outline

1

Motivation

2

Introducing parity games

3

Contributions Winning cores An approximation algorithm Experimental results

4

Summary

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 3 / 35

slide-4
SLIDE 4

Motivation

Why is parity game solving important?

Solving parity games is polynomial-time equivalent to µ-calculus model-checking Solving boolean equation systems Emptiness of parity tree automata on infinite binary trees. Various problems are reducible to parity games, e.g. Satisfiability problems Model-checking problems Synthesis problems (though, not necessarily by polynomial-time reductions)

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 4 / 35

slide-5
SLIDE 5

Motivation

Complexity Status

It is unknown whether ParityGame is in PTime. We know: Paritygame is in NP ∩ co-NP implying

If it is NP-complete then NP = co-NP If it is not solvable in PTime then P = NP

For a fixed maximal color d, it is in PTime

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 5 / 35

slide-6
SLIDE 6

Motivation

Existing Algorithms

The best current algorithms for solving parity games are Zielonkas Recursive algorithm O(nd) and O(2n) [Zielonka, 1998] Small Progress Measures O(d · m · (n/d)d/2) [Jurdzinski, 1998] Strategy Improvement O(n · m · 2m) [V¨

  • ge and Jurdzinski, 2000]

Dominion Decomposition O(n

√n) [Jurdzinski et al., 2006]

Big Step Algorithms O(m · nd/3) [Schewe, 2007] where n is the number of states, m is the number of transitions, d is the maximal color of the game. Note: d ≤ n

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 6 / 35

slide-7
SLIDE 7

Motivation

Contributions

We introduce and study winning cores They are interesting because they provide

1 knowledge about parity games 2 a new direction for solving parity games 3 a polynomial-time approximation algorithm for solving parity games

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 7 / 35

slide-8
SLIDE 8

Introducing parity games

Outline

1

Motivation

2

Introducing parity games

3

Contributions Winning cores An approximation algorithm Experimental results

4

Summary

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 8 / 35

slide-9
SLIDE 9

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-10
SLIDE 10

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-11
SLIDE 11

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-12
SLIDE 12

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-13
SLIDE 13

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-14
SLIDE 14

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-15
SLIDE 15

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-16
SLIDE 16

Introducing parity games

A game graph

Player 0 state Player 1 state Transition

  • Current state
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 9 / 35

slide-17
SLIDE 17

Introducing parity games

A Parity Game

Player 0 state Player 1 state Transition

  • Current state

0, ..., d Colors 4 1 2 3 1 2 Player 0 wants the largest color infinitely often visited is even Player 1 wants the largest color infinitely often visited is odd

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 10 / 35

slide-18
SLIDE 18

Introducing parity games

Determinacy

A game is determined if for every state s either Player 0 can ensure winning from s or Player 1 can ensure winning from s Theorem ([Ehrenfeucht and Mycielski, 1979]) Parity games are determined G : A parity game Wj(G) : Set of winning states for player j

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 11 / 35

slide-19
SLIDE 19

Introducing parity games

Determinacy Example

4 1 2 3 1 2 W0(G) W1(G)

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 12 / 35

slide-20
SLIDE 20

Introducing parity games

Determinacy Example

4 1 2 3 1 2 W0(G) W1(G)

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 12 / 35

slide-21
SLIDE 21

Introducing parity games

Solving parity games

ParityGame Input: A parity game G Output: W0(G), W1(G)

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 13 / 35

slide-22
SLIDE 22

Contributions

Outline

1

Motivation

2

Introducing parity games

3

Contributions Winning cores An approximation algorithm Experimental results

4

Summary

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 14 / 35

slide-23
SLIDE 23

Contributions Winning cores

Dominating sequences

A sequence ρ = s0s1... of states is 0-dominating if maxi>0(c(si)) is even 1-dominating if maxi>0(c(si)) is odd Note: Initial state does not count 1 4 3 4 3 6 2 3 2 3 2 3 ... 0-dominating 1-dominating

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 15 / 35

slide-24
SLIDE 24

Contributions Winning cores

Consecutive j-dominating sequences

A sequence ρ = s0s1... begins with k consecutive j-dominating sequences if ∃i0 < i1... < ik such that i0 = 0 ρiℓρiℓ+1...ρiℓ+1 is j-dominating for all 0 ≤ ℓ < k 1 4 3 4 3 6 2 3 2 3 2 3 ... 0-dominating 1-dominating

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 16 / 35

slide-25
SLIDE 25

Contributions Winning cores

Winning core

Winning core Aj(G) for player j in game G: Set of states from which player j can force the play to begin with an infinite number of consecutive j-dominating sequences.

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 17 / 35

slide-26
SLIDE 26

Contributions Winning cores

Winning core example

4 1 2 3 1 2 W0(G) W1(G) A1(G)

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 18 / 35

slide-27
SLIDE 27

Contributions Winning cores

Properties of winning cores

Theorem Aj(G) ⊆ Wj(G) Aj(G) = ∅ ⇔ Wj(G) = ∅ W0(G) W1(G) A0(G) A1(G) G

Figure : The sequence A , A , ... converging to the winning core A for player 0

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 19 / 35

slide-28
SLIDE 28

Contributions Winning cores

Winning cores and dominions

A j-dominion D is a set of states so player j can make sure that both

1 the play stays in D and 2 that player j wins the play

Interestingly, the winning core Aj(G) is not necessarily a j-dominion.

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 20 / 35

slide-29
SLIDE 29

Contributions Winning cores

Complexity of computing winning cores

Theorem There is a polynomial-time reduction from ParityGame to computing winning cores and vice versa Corollary Computing winning cores is in NP ∩ co-NP Computing winning cores is in P if and only if ParityGame is in P

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 21 / 35

slide-30
SLIDE 30

Contributions Winning cores

Computing winning regions using winning cores

ParityGameSolver(G): A ← WinningCore(G, 0) B ← WinningCore(G, 1) if A = ∅ and B = ∅ then return (∅, ∅) end if A′ = Attr0(G, A) B′ = Attr1(G, B) (W0, W1) ← ParityGameSolver(G \ (A′ ∪ B′)) return (A′ ∪ W0, B′ ∪ W1) Note: If WinningCore(G, j) returns a subset of Aj(G) then ParityGameSolver(G) returns subsets of the winning regions

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 22 / 35

slide-31
SLIDE 31

Contributions An approximation algorithm

An underapproximation algorithm

WinningCoreApp(G, j): A ← S A′ ← ∅ while A = A′ do A′ ← A A ← {s | Player j can ensure a j-dominating sequence ending in A′} end while return A Note: Returns subset of Aj(G) Combined with previous slide, gives underapproximations of winning regions in time O(d · n2 · (n + m)) and O(n + m + d) space.

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 23 / 35

slide-32
SLIDE 32

Contributions An approximation algorithm

Quality of approximation algorithm

No guarantees on the quality of underapproximations :( But:

1 It is easy to check whether entire winning region is returned 2 Preliminary experimental results on

Random games Difficult benchmark games A few verification cases

are promising both w.r.t.

(Quality) All benchmark games and verification cases solved

  • completely. High ratio of random games solved

(Running time) It outperforms existing algorithms in most cases

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 24 / 35

slide-33
SLIDE 33

Contributions Experimental results

Experiments - overview

Algorithm implemented in PgSolver framework in OCaml PgSolver has implementations of state-of-the-art algorithms for comparison Performed on an Intel(R) Core(TM) i7-4610M Processor (2.90 GHz)

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 25 / 35

slide-34
SLIDE 34

Contributions Experimental results

Experimental results - random games

Ratio (in %) of games where the algorithm did not return the entire winning region d = 4 d = ⌈√n⌉ d = n n\b 2 5 10 2 5 10 2 5 10 100 0.11 0.20 0.00 0.80 0.04 0.00 1.37 0.05 0.00 1000 0.01 0.00 0.00 2.79 0.00 0.00 4.66 0.00 0.00 n is the number of states, d is the number of colors and b is the

  • ut-degree.
  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 26 / 35

slide-35
SLIDE 35

Contributions Experimental results

Experimental results - hard games

1 2 3 4 5 6 7 8 9 10 100 1000 10000 100000 Time / seconds n Jurdzinski games, d = 10 Winning Cores Zielonka Dominion Dec Prog Measures Str Improvement Big Step

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 27 / 35

slide-36
SLIDE 36

Contributions Experimental results

Experimental results - hard games

1 2 3 4 5 6 7 8 9 1 10 100 1000 10000 100000 Time / seconds n Recursive Ladder Games Winning Cores Zielonka Dominion Dec Prog Measures Str Improvement Big Step

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 28 / 35

slide-37
SLIDE 37

Contributions Experimental results

Experimental results - hard games

1 2 3 4 5 6 7 8 9 10 10 100 1000 10000 100000 1e+06 1e+07 Time / seconds n Ladder games Winning Cores Zielonka Dominion Dec Prog Measures Str Improvement Big Step

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 29 / 35

slide-38
SLIDE 38

Contributions Experimental results

Experimental results - verification case studies

1 2 3 4 5 6 7 8 9 10 100 1000 10000 100000 Time / seconds n Language Inclusion 1 Winning Cores Zielonka Dominion Dec Prog Measures Str Improvement Big Step

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 30 / 35

slide-39
SLIDE 39

Contributions Experimental results

Experimental results - verification case studies

1 2 3 4 5 6 7 8 10 100 1000 10000 100000 1e+06 Time / seconds n Language Inclusion 2 Winning Cores Zielonka Dominion Dec Prog Measures Str Improvement Big Step

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 31 / 35

slide-40
SLIDE 40

Contributions Experimental results

Experimental results - verification case studies

1 2 3 4 5 6 7 8 9 10 10 100 1000 10000 100000 1e+06 Time / seconds n Elevator Verification Winning Cores Zielonka Dominion Dec Prog Measures Str Improvement Big Step

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 32 / 35

slide-41
SLIDE 41

Summary

Outline

1

Motivation

2

Introducing parity games

3

Contributions Winning cores An approximation algorithm Experimental results

4

Summary

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 33 / 35

slide-42
SLIDE 42

Summary

Summary

We have Introduced winning cores Shown interesting properties Provided an approximation algorithm for parity games Shown promising initial experimental results Open questions For which games does the approximation algorithm give correct results? Do winning cores have further interesting properties? Are there fast deterministic algorithms for computing winning cores? Can winning cores be computed in polynomial time?

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 34 / 35

slide-43
SLIDE 43

Summary

Bibliography

Ehrenfeucht, A. and Mycielski, J. (1979). Positional strategies for mean payoff games. International Journal of Game Theory, 8(2):109–113. Jurdzinski, M. (1998). Deciding the winner in parity games is in UP \cap co-up.

  • Inf. Process. Lett., 68(3):119–124.

Jurdzinski, M., Paterson, M., and Zwick, U. (2006). A deterministic subexponential algorithm for solving parity games. In Proceedings of the Seventeenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2006, Miami, Florida, USA, January 22-26, 2006, pages 117–123. Schewe, S. (2007). Solving parity games in big steps. In FSTTCS 2007: Foundations of Software Technology and Theoretical Computer Science, 27th International Conference, New

  • S. Vester (DTU Compute)

Winning Cores in Parity Games October 22, 2015 35 / 35