Parity games are 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 PGSolver, a platform written in OCaml. PGSolver includes the Zielonka’s recursive algorithm (RE, 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 RE in PGSolver, but with small advances in practice. In this work, we deeply revisit the implementation of RE by dealing with the use of specific data structures and programming languages such as Scala, Java, C++, and Go. 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 PGSolver.

Improving parity games in practice / DI STASIO, Antonio; Murano, Aniello; Prignano, Vincenzo; Sorrentino., Loredana. - In: ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE. - ISSN 1573-7470. - 89:5-6(2021), pp. 551-574. [10.1007/s10472-020-09721-3]

Improving parity games in practice

Antonio Di Stasio
;
2021

Abstract

Parity games are 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 PGSolver, a platform written in OCaml. PGSolver includes the Zielonka’s recursive algorithm (RE, 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 RE in PGSolver, but with small advances in practice. In this work, we deeply revisit the implementation of RE by dealing with the use of specific data structures and programming languages such as Scala, Java, C++, and Go. 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 PGSolver.
2021
Parity games; Zielonka Recursive algorithm; Formal Verification
01 Pubblicazione su rivista::01a Articolo in rivista
Improving parity games in practice / DI STASIO, Antonio; Murano, Aniello; Prignano, Vincenzo; Sorrentino., Loredana. - In: ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE. - ISSN 1573-7470. - 89:5-6(2021), pp. 551-574. [10.1007/s10472-020-09721-3]
File allegati a questo prodotto
File Dimensione Formato  
DiStasio_Improving-parity_2021.pdf

accesso aperto

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Creative commons
Dimensione 1.87 MB
Formato Adobe PDF
1.87 MB Adobe PDF

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1486189
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 1
social impact