### Algorithms for Parity Games [chapter]

Hartmut Klauck
2002 Lecture Notes in Computer Science
It is the aim of this chapter to review some of the algorithmic approaches to the problem of computing winning strategies (resp. of deciding if a player has a winning strategy from a given vertex) in parity games with finite arenas and other two-player games. Parity games are equivalent via linear time reductions to the problem of modal µ-calculus model checking (see Chapters 10 and 9), and this model checking problem plays a major role in computer-aided verification. Furthermore we will see
more » ... t the problem is not too hard in a complexity-theoretic sense, while no efficient algorithm for it is known so far. Also parity games are the simplest of a whole chain of two-player games for which no efficient solutions are known, further underlining the importance of looking for an efficient algorithm solving this particular problem. We will explain why the problem of solving parity games lies in UP ∩ co-UP, explore its relations to some other games, and describe the theoretically most efficient algorithm for the problem known so far. Furthermore we describe work on more practically oriented algorithms following the paradigm of strategy improvement, for which a theoretical analysis stays elusive so far. Recall that in a parity game we are given a (finite) graph with vertices labeled by natural numbers. The vertex set is partitioned into vertices in which Player 0 moves and vertices in which Player 1 moves. In an initialized game we are also given a starting vertex. In a play of the game a token is placed on the starting vertex and is then moved over the graph by Player 0 and Player 1, each making their move if the token is on one of their vertices. For simplicity we assume that the graph is bipartite, so that each move from a Player 1 vertex leads to a Player 0 vertex and vice versa. Each player follows some strategy. If the highest priority of a vertex occurring infinitely often in the play is odd, then Player 1 wins, otherwise Player 0 wins. See Chapter 2 for more details. Exercise 7.1. Show that one can convert any parity game on a nonbipartite game arena into an equivalent parity game on a bipartite arena in linear time. It is an important (and deep) result that the players may restrict themselves to memoryless strategies (i.e., define their strategy by picking once and for all a neighbor for each of their vertices thus not considering the path on which they arrive there), see Theorem 6.6 in the previous chapter. This also implies that for each vertex one of the players has a winning strategy, so there are no draws!