Graph Operations on Parity Games and Polynomial - ICTCS 2012

43
Introduction Recognizing Winning Regions Joins Adding a Single Vertex Graph Operations on Parity Games and Polynomial-Time Algorithms Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu 1 Chair for Logic and Semantics, Technical University Berlin [email protected], [email protected], [email protected] September 19, 2012 1 The third author gratefully acknowledges the support of the European Science Foundation, activity “Games for Design and Verification”. Christoph Dittmann, Stephan Kreutzer, Alexandru I. Tomescu Graph Operations on Parity Games 1 / 22

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],

[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