1. Improving parity games in practice
- Author
-
Loredana Sorrentino, Aniello Murano, Vincenzo Prignano, Antonio Di Stasio, Di Stasio, A., Murano, A., Prignano, V., and Sorrentino, L.
- Subjects
Theoretical computer science ,Java ,Computer science ,Scala ,Parity games ,Applied Mathematics ,Complex system ,PGSolver ,0102 computer and information sciences ,02 engineering and technology ,Directed graph ,Data structure ,01 natural sciences ,Running time ,Orders of magnitude (bit rate) ,Zielonka Recursive algorithm ,010201 computation theory & mathematics ,Artificial Intelligence ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,Formal Verification ,Parity (mathematics) ,computer ,computer.programming_language - Abstract
Parity gamesare infinite-round two-player games played on directed graphs whose nodes are labeled with priorities. The winner of a play is determined by the smallest priority (even or odd) that is encountered infinitely often along the play. In the last two decades, several algorithms for solving parity games have been proposed and implemented in , a platform written in OCaml. includes theZielonka’s recursive algorithm(, for short) which is known to be the best performing one over random games. Notably, several attempts have been carried out with the aim of improving the performance of in , but with small advances in practice. In this work, we deeply revisit the implementation of by dealing with the use of specific data structures and programming languages such asScala,Java,C++, andGo. Our empirical evaluation shows that these choices are successful, gaining up to three orders of magnitude in running time over the classic version of the algorithm implemented in .
- Published
- 2021