### Solving parity games via priority promotion

Massimo Benerecetti, Daniele Dell'Erba, Fabio Mogavero
2018 Formal methods in system design
We consider parity games, a special form of two-player infiniteduration games on numerically labelled graphs, whose winning condition requires that the maximal value of a label occurring infinitely often during a play be of some specific parity. The problem has a rather intriguing status from a complexity theoretic viewpoint, since it belongs to the class UPTime ∩ CoUPTime, and still open is the question whether it can be solved in polynomial time. Parity games also have great practical
more » ... , as they arise in many fields of theoretical computer science, most notably logic, automata theory, and formal verification. In this paper, we propose a new algorithm for the solution of the problem, based on the idea of promoting vertices to higher priorities during the search for winning regions. The proposed approach has nice computational properties, exhibiting the best space complexity among the currently known solutions. Experimental results on both random games and benchmark families show that the technique is also very effective in practice. Introduction Parity games  are perfect-information two-player turn-based games of infinite duration, usually played on finite directed graphs. Their vertices, labelled by natural numbers called priorities, are assigned to one of two players, named Even and Odd or, simply, 0 and 1, respectively. The game starts at an arbitrary vertex and, during its evolution, each player can take a move only at its own positions, which consists in choosing one of the edges outgoing from the current vertex. The moves selected by the players induce an infinite sequence of vertices, called play. If the maximal priority of the vertices occurring infinitely often in the play is even, then the play is winning for player 0, otherwise, player 1 takes it all. Parity games have been extensively studied in the attempt to find efficient solutions to the problem of determining the winner. From a complexity theoretic perspective, this decision problem lies in NPTime ∩ CoNPTime [18, 19], since it is memoryless determined [17, 37, 38, 45]. It has been even proved to belong to UPTime ∩ CoUPTime , a status shared with the factorisation problem [1, 24, 25]. They are the simplest class of games in a wider family with similar complexities and containing, e.g., mean payoff games [16, 30], discounted payoff games , and simple stochastic games . In fact, polynomial time reductions * Sponsored by the Engineering and Physical Sciences Research Council of the United Kingdom, grant EP/M005852/1. exist from parity games to the latter ones. However, despite being the most likely class among those games to admit a polynomial-time solution, the answer to the question whether such a solution exists still eludes the research community. The effort devoted to provide efficient solutions stems primarily form the fact that many problems in formal verification and synthesis can be reformulated in terms of solving parity games. Emerson, Jutla, and Sistla [18, 19] have shown that computing winning strategies for these games is linear-time equivalent to solving the modal µCalculus model checking problem  . Parity games also play a crucial role in automata theory [17, 36, 44] , where, for instance, they can be applied to solve the complementation problem for alternating automata  and the emptiness of the corresponding nondeterministic tree automata  . These automata, in turn, can be used to solve the satisfiability and model checking problems for expressive logics, such as the modal  and alternating [2, 51] µCalculus, ATL [2, 50], Strategy Logic [14, 40, 41, 43] , Substructure Temporal Logic [4, 5] , and fixed-point extensions of guarded first-order logics [7, 8] . Previous solutions mainly divide into two families: those based on decomposing the game into subsets of winning regions, called dominions, and those trying to directly build winning strategies for the two players on the entire game. To the first family belongs the divide et impera solution originally proposed by McNaughton  for Muller games and adapted to parity games by Zielonka  . More recent improvements to that recursive algorithm have been proposed by Jurdziński, Paterson, and Zwick [33, 34] and by Schewe  . Both approaches rely on finding suitably closed dominions, which can then be removed from a game to reduce the size of the subgames to be recursively solved. To the second family belongs the procedure proposed by Jurdziński  , which exploits the connection between the notions of progress measures  and winning strategies. An alternative approach was proposed by Jurdziński and Vöge  , based on the idea of iteratively improving an initial non-winning strategy. This technique was later optimised by Schewe  . From a purely theoretical viewpoint, the best asymptotic behaviour obtained to date is the one exhibited by the solution proposed in  , which runs in time O e · n 1 3 k , where n and e are the number of vertices and edges of the underlying graph and k is the number of priorities. As far as space consumption is concerned, we have two incomparable best behaviours: O(k · n · log n), for the small progress measure procedure of  , and O n 2 , for the optimised strategy improvement method of  . Due to their inherent recursive nature, the algorithms of the first family require O(e · n) memory, which could be reduced to O n 2 , by representing subgames implicitly through their sets of vertices. All these bounds do not seem to be amenable to further improvements, as they appear to be intrinsic to the corresponding solution techniques. Polynomial time solutions are only known for restricted versions of the problem, where one among the tree-width [22, 23, 46] , the dag-width , the clique-width  and the entanglement  of the underlying graph is bounded. The main contribution of the paper is a new algorithm for solving parity games, based on the notions of quasi dominion and priority promotion. A quasi dominion Q for player α ∈ {0, 1}, called a quasi α-dominion, is a set of vertices from each