Graph Operations on Parity Games and Polynomial - ICTCS 2012
Transcript of Graph Operations on Parity Games and Polynomial - ICTCS 2012
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Graph Operations on Parity Games andPolynomial-Time Algorithms
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu1
Chair for Logic and Semantics, Technical University [email protected], [email protected],
September 19, 2012
1The third author gratefully acknowledges the support of the European Science Foundation, activity “Gamesfor Design and Verification”.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 1 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Parity Games
Parity games are polynomial-time equivalent to themodel-checking problem of the modal µ-calculus.Computing the winner of a parity game is in NP and coNP.
Open problem: Is there a polynomial time algorithm forcomputing the winner of a parity game?
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 2 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Parity Games
Parity games are polynomial-time equivalent to themodel-checking problem of the modal µ-calculus.Computing the winner of a parity game is in NP and coNP.Open problem: Is there a polynomial time algorithm forcomputing the winner of a parity game?
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 2 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Parity Games
Definition 1A parity game P = (V ,V,V2,E ,Ω) is a directed graph (V ,E )with a partitioning of the nodes V = V ∪ V2 and a priorityfunction Ω : V → N.
1
2
3
2 0
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 3 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Parity GamesIn a play, the players push a token along the edges of the graph.The sets V, V2 determine whose turn it is.
Definition 2A play is a maximal sequence of nodes v1, v2, . . . such that Evivi+1for all i . A play is winning for Player if the maximum priority thatappears infinitely often is even or if the last node is in V2.
1
2
3
2 0
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 3 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Positional Determinacy
Theorem 3 (see e.g., [GTW02])Parity games are positionally determined.
This implies that
V (P) = W(P) ∪W2(P),
where Wi (P) is the winning region of player i , that is, the set of allnodes from which player i has a positional winning strategy.
Solving parity games is in NP and coNP.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 4 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Positional Determinacy
Theorem 3 (see e.g., [GTW02])Parity games are positionally determined.
This implies that
V (P) = W(P) ∪W2(P),
where Wi (P) is the winning region of player i , that is, the set of allnodes from which player i has a positional winning strategy.Solving parity games is in NP and coNP.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 4 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Hereditary Classes
Definition 4A class of graphs is hereditary if it is closed under inducedsubgraphs.
Let C, C′ be hereditary classes of parity games solvable in polynomialtime. Then the join of C and C′ can be solved in polynomial time.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 5 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Hereditary Classes
Definition 4A class of graphs is hereditary if it is closed under inducedsubgraphs.
Let C, C′ be hereditary classes of parity games solvable in polynomialtime. Then the join of C and C′ can be solved in polynomial time.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 5 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Reducing the Problem
Solving a game means computing its winning regions.Idea: Reduce the problem of solving P to one of the problems:
A proper subgame P ′ ( P and the winning regions for P \ P ′,such that the winning regions of P ′ and P agree.“One winning region of P is empty”.
This works according to the following lemma.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 6 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Half-Solving Parity Games
Lemma 5
Let C be a hereditary class of parity games and assume that there isan algorithm on C that runs in time O(nc) for some c > 0 and foreach game P ∈ C returns one of the two following results.
1 A proper subgame P ′ and W ∗,W ∗2 ⊆ V (P) \ V (P ′) with
W(P) = W ∗ ∪W(P ′),W2(P) = W ∗
2 ∪W2(P ′).
2 “W(P) = ∅ or W2(P) = ∅”.Then C can be solved in time O(nc+1).
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 7 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Joins
A join of two games adds an arc between all pairs of nodes ofdifferent players.
P ′ P ′′
The lines represent required edges (in at least one direction).
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 8 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Joins
A join of two games adds an arc between all pairs of nodes ofdifferent players.
P ′ P ′′
The lines represent required edges (in at least one direction).
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 8 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Joins
Definition 6Let C, C′ be two classes of parity games.
Join(C, C′) :=P | P is a join of P ′ ∈ C and P ′′ ∈ C′
HalfJoin(C) := P | P is a join of a single-player game P ′
and a game P ′′ ∈ C
Theorem 7If C, C′ are hereditary classes of parity games that can be solved inpolynomial time, then all games P ∈ HalfJoin(C) (in Join(C, C′),resp.) can be solved in polynomial time, provided that adecomposition of P as a join is given.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 9 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Impossible becausePlayer 2 would escape to u
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Impossible becausePlayer would escape to v
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Conclusion:There can be no arc between u and v
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a game and u ∈W2(P) and v ∈W(P).
v
uW2(P)
W(P)
Conclusion:There can be no arc between u and v
In the join operation we require some arcs between vertices ofdifferent players.This restricts the winning regions.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 10 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Attractor Sets
Let P be a parity game and A ⊆ V (P).
Definition 8attri (A) is the set of all nodes such that player i can force the gameto reach a node in A.
We observeW(P \ attr2(A)) ⊆W(P).
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 11 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a join of P ′ ∈ C and P ′′ ∈ C′.
Algorithm for solving Join(C, C′)1 Solve P1 := P \ attr2(V2(P ′)).2 If W(P1) 6= ∅, return the subgame P \ attr(W(P1)).3 Solve P2 := P \ attr(V(P ′′)).4 If W2(P2) 6= ∅, return the subgame P \ attr2(W2(P2)).5 Return “W(P) = ∅ or W2(P) = ∅”.
All steps need time O(nc) for some c > 0 because P1, P2 are inHalfJoin(C) or HalfJoin(C′). By Lemma 5, we get O(nc+1) for thecomplete algorithm.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 12 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a join of P ′ ∈ C and P ′′ ∈ C′.
Algorithm for solving Join(C, C′)1 Solve P1 := P \ attr2(V2(P ′)).2 If W(P1) 6= ∅, return the subgame P \ attr(W(P1)).3 Solve P2 := P \ attr(V(P ′′)).4 If W2(P2) 6= ∅, return the subgame P \ attr2(W2(P2)).5 Return “W(P) = ∅ or W2(P) = ∅”.
All steps need time O(nc) for some c > 0 because P1, P2 are inHalfJoin(C) or HalfJoin(C′). By Lemma 5, we get O(nc+1) for thecomplete algorithm.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 12 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a join of P ′ ∈ C and P ′′ ∈ C′.
Observation: If W(P) ∩ P ′ contains 2-nodes, then W2(P) ∩ P ′′cannot contain -nodes and vice-versa.
Case 1 W(P) ∩ P ′ contains no 2-nodes.Case 2 W2(P) ∩ P ′′ contains no -nodes.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 13 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a join of P ′ ∈ C and P ′′ ∈ C′.Observation: If W(P) ∩ P ′ contains 2-nodes, then W2(P) ∩ P ′′cannot contain -nodes and vice-versa.
Case 1 W(P) ∩ P ′ contains no 2-nodes.Case 2 W2(P) ∩ P ′′ contains no -nodes.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 13 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Let P be a join of P ′ ∈ C and P ′′ ∈ C′.Observation: If W(P) ∩ P ′ contains 2-nodes, then W2(P) ∩ P ′′cannot contain -nodes and vice-versa.
Case 1 W(P) ∩ P ′ contains no 2-nodes.Case 2 W2(P) ∩ P ′′ contains no -nodes.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 13 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Case 1 W(P) ∩ P ′ contains no 2-nodes.
Then all 2-nodes in P ′ are winning for Player 2.
W2(P)
W(P)
P ′ P ′′
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 14 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Case 1 W(P) ∩ P ′ contains no 2-nodes.
Then all 2-nodes in P ′ are winning for Player 2.
W2(P)
W(P)
P ′ P ′′
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 14 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Hence it is enough to compute W(P1) with
P1 := P \ attr2(V2(P ′))
because we have
W(P) = W(P1).
W(P1) = ∅ implies W(P) = ∅.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 15 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Hence it is enough to compute W(P1) with
P1 := P \ attr2(V2(P ′))
because we have
W(P) = W(P1).
W(P1) = ∅ implies W(P) = ∅.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 15 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Case 2 W2(P) ∩ P ′′ contains no -nodes.
Then all -nodes in P ′′ are winning for Player .
W2(P)
W(P)
P ′ P ′′
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 16 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Case 2 W2(P) ∩ P ′′ contains no -nodes.Then all -nodes in P ′′ are winning for Player .
W2(P)
W(P)
P ′ P ′′
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 16 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Hence it is enough to compute W2(P2) with
P2 := P \ attr(V(P ′′))
because we have
W2(P) = W2(P2).
W2(P2) = ∅ implies W2(P) = ∅.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 17 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
Hence it is enough to compute W2(P2) with
P2 := P \ attr(V(P ′′))
because we have
W2(P) = W2(P2).
W2(P2) = ∅ implies W2(P) = ∅.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 17 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
If we are in Case 1, then W(P1) = ∅ implies W(P) = ∅.If we are in Case 2, then W2(P2) = ∅ implies W2(P) = ∅.
Conclusion, no matter if we are in Case 1 or Case 2:If W(P1) = W2(P2) = ∅, then W(P) = ∅ or W2(P) = ∅.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 18 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for Join
If we are in Case 1, then W(P1) = ∅ implies W(P) = ∅.If we are in Case 2, then W2(P2) = ∅ implies W2(P) = ∅.
Conclusion, no matter if we are in Case 1 or Case 2:If W(P1) = W2(P2) = ∅, then W(P) = ∅ or W2(P) = ∅.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 18 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Proof for HalfJoin
For HalfJoin(C), we proceed in exactly the same way. Thesubgames will be in C or single-player games, respectively, so theycan be solved in polynomial time.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 19 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Adding a Single Vertex
Let
AddVertex(C) := P | P is a parity game and there existsa vertex v such that P \ v ∈ C.
Theorem 9
If C is a hereditary class of parity games which can be solved inpolynomial time, then AddVertex(C) can be solved in polynomialtime assuming that the added vertex is part of the input.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 20 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Adding a Single Vertex
Let
AddVertex(C) := P | P is a parity game and there existsa vertex v such that P \ v ∈ C.
Theorem 9
If C is a hereditary class of parity games which can be solved inpolynomial time, then AddVertex(C) can be solved in polynomialtime assuming that the added vertex is part of the input.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 20 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
An Application: Apex Graphs
Definition 10An apex graph is a graph G with a vertex v such that G \ v is aplanar graph.
Corollary 11If the class of parity games on planar graphs can be solved inpolynomial time, then the class of parity games on apex graphs canbe solved in polynomial time.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 21 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
Thank you for your attention
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 22 / 22
IntroductionRecognizing Winning Regions
JoinsAdding a Single Vertex
References
Erich Grädel, Wolfgang Thomas, and Thomas Wilke, editors.Automata, Logics, and Infinite Games: A Guide to CurrentResearch, volume 2500 of LNCS. Springer, 2002.
Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 23 / 22