Solving Parity Games Using an Automata-Based Algorithm

  • Antonio Di Stasio
  • Aniello Murano
  • Giuseppe PerelliEmail author
  • Moshe Y. Vardi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9705)


Parity games are abstract infinite-round games that take an important role in formal verification. In the basic setting, these games are two-player, turn-based, and played under perfect information on directed graphs, whose nodes are labeled with priorities. The winner of a play is determined according to the parities (even or odd) of the minimal priority occurring infinitely often in that play. The problem of finding a winning strategy in parity games is known to be in UPTime \(\cap \) CoUPTime and deciding whether a polynomial time solution exists is a long-standing open question. In the last two decades, a variety of algorithms have been proposed. Many of them have been also implemented in a platform named PGSolver. This has enabled an empirical evaluation of these algorithms and a better understanding of their relative merits.

In this paper, we further contribute to this subject by implementing, for the first time, an algorithm based on alternating automata. More precisely, we consider an algorithm introduced by Kupferman and Vardi that solves a parity game by solving the emptiness problem of a corresponding alternating parity automaton. Our empirical evaluation demonstrates that this algorithm outperforms other algorithms when the game has a small number of priorities relative to the size of the game. In many concrete applications, we do indeed end up with parity games where the number of priorities is relatively small. This makes the new algorithm quite useful in practice.


  1. 1.
    Aminof, B., Kupferman, O., Murano, A.: Improved model checking of hierarchical systems. Inf. Comput. 210, 68–86 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Antonik, A., Charlton, N., Huth, M.: Polynomial-time under-approximation of winning regions in parity games. ENTCS 225, 115–139 (2009)zbMATHGoogle Scholar
  3. 3.
    Berwanger, D.: Admissibility in infinite games. In: Thomas, W., Weil, P. (eds.) STACS 2007. LNCS, vol. 4393, pp. 188–199. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Chatterjee, K., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Generalized mean-payoff and energy games. In: FSTTCS 2010. LIPIcs, vol. 8, pp. 505–516 (2010)Google Scholar
  5. 5.
    Chatterjee, K., Henzinger, M.: An \(O(n^2)\) time algorithm for alternating Büchi games. In: SODA 2012, pp. 1386–1399 (2012)Google Scholar
  6. 6.
    Chatterjee, K., Henzinger, T.A., Jurdzinski, M.: Mean-payoff parity games. In: LICS 2005, pp. 178–187 (2005)Google Scholar
  7. 7.
    Chatterjee, K., Jurdzinski, M., Henzinger, T.A.: Quantitative stochastic parity games. In: SODA 2004, pp. 121–130 (2004)Google Scholar
  8. 8.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) LP 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  9. 9.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking (2002)Google Scholar
  10. 10.
    de Alfaro, L., Faella, M.: An accelerated algorithm for 3-color parity games with an application to timed games. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 108–120. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Emerson, E.A., Jutla, C.: Tree automata, \(\mu \)-calculus and determinacy. In: FOCS 1991, pp. 368–377 (1991)Google Scholar
  12. 12.
    Friedmann, O., Lange, M.: The PGSolver collection of parity game solvers. University of Munich (2009)Google Scholar
  13. 13.
    Friedmann, O., Lange, M.: Solving parity games in practice. In: Liu, Z., Ravn, A.P. (eds.) ATVA 2009. LNCS, vol. 5799, pp. 182–196. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Heljanko, K., Keinänen, M., Lange, M., Niemelä, I.: Solving parity games by a reduction to SAT. J. Comput. Syst. Sci. 78(2), 430–440 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Jurdzinski, M.: Deciding the winner in parity games is in UP \(\cap \) co-Up. Inf. Process. Lett. 68(3), 119–124 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Jurdziński, M.: Small progress measures for solving parity games. In: Reichel, H., Tison, S. (eds.) STACS 2000. LNCS, vol. 1770, p. 290. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. 17.
    Jurdzinski, M., Paterson, M., Zwick, U.: A deterministic subexponential algorithm for solving parity games. SIAM J. Comput. 38(4), 1519–1532 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Kozen, D.: Results on the propositional \(\mu \)-calculus. TCS 27(3), 333–354 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Kupferman, O., Vardi, M., Wolper, P.: Module checking. Inf. Comput. 164(2), 322–344 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Kupferman, O., Vardi, M.Y.: Weak alternating automata and tree automata emptiness. In: STOC, pp. 224–233 (1998)Google Scholar
  21. 21.
    Kupferman, O., Vardi, M.Y., Wolper, P.: An automata theoretic approach to branching-time model checking. J. ACM 47(2), 312–360 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Mogavero, F., Murano, A., Sorrentino, L.: On promptness in parity games. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR-19 2013. LNCS, vol. 8312, pp. 601–618. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  23. 23.
    Muller, D.E., Saoudi, A., Schupp, P.E.: Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time. In: LICS 1988, pp. 422–427 (1988)Google Scholar
  24. 24.
    Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 337–351. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  25. 25.
    Schewe, S.: Solving parity games in big steps. In: Arvind, V., Prasad, S. (eds.) FSTTCS 2007. LNCS, vol. 4855, pp. 449–460. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  26. 26.
    Schewe, S.: An optimal strategy improvement algorithm for solving parity and payoff games. In: Kaminski, M., Martini, S. (eds.) CSL 2008. LNCS, vol. 5213, pp. 369–384. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  27. 27.
    Thomas, W.: Facets of synthesis: revisiting church’s problem. In: de Alfaro, L. (ed.) FOSSACS 2009. LNCS, vol. 5504, pp. 1–14. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  28. 28.
    Vöge, J., Jurdziński, M.: A discrete strategy improvement algorithm for solving parity games. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 202–215. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  29. 29.
    Walukiewicz, I.: Pushdown processes: games and model checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 62–74. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  30. 30.
    Wilke, T.: Alternating tree automata, parity games, and modal \(\mu \)-calculus. Bull. Belg. Math. Soc. Simon Stevin 8(2), 359 (2001)MathSciNetzbMATHGoogle Scholar
  31. 31.
    Zielonka, W.: Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theor. Comput. Sci. 200(1–2), 135–183 (1998)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Antonio Di Stasio
    • 1
  • Aniello Murano
    • 1
  • Giuseppe Perelli
    • 2
    Email author
  • Moshe Y. Vardi
    • 3
  1. 1.Università di Napoli Federico IINaplesItaly
  2. 2.University of OxfordOxfordUK
  3. 3.Rice UniversityHoustonUSA

Personalised recommendations