Parity games are two-player games, played on directed graphs, whose nodes are labeled with priorities. Along a play, the maximal priority occurring infinitely often determines the winner. In the last two decades, a variety of algorithms and successive optimizations have been proposed. The majority of them have been implemented in PGSolver, written in OCaml, which has been elected by the community as the de facto platform to solve efficiently parity games as well as evaluate their performance in several specific cases. PGSolver includes the Zielonka Recursive Algorithm that has been shown to perform better than the others in randomly generated games. However, even for arenas with a few thousand of nodes (especially over dense graphs), it requires minutes to solve the corresponding game. In this paper, we deeply revisit the implementation of the recursive algorithm introducing several improvements and making use of Scala Programming Language. These choices have been proved to be very successful, gaining up to two orders of magnitude in running time.

Solving Parity Games in Scala / DI STASIO, ANTONIO; Aniello, Murano; Vincenzo, Prignano; Loredana, Sorrentino. - 8997:(2015), pp. 145-161. (Intervento presentato al convegno 11th International Symposium on Formal Aspects of Component Software, FACS 2014 tenutosi a Bertinoro; Italy) [10.1007/978-3-319-15317-9_9].

Solving Parity Games in Scala

Di Stasio Antonio
Primo
;
2015

Abstract

Parity games are two-player games, played on directed graphs, whose nodes are labeled with priorities. Along a play, the maximal priority occurring infinitely often determines the winner. In the last two decades, a variety of algorithms and successive optimizations have been proposed. The majority of them have been implemented in PGSolver, written in OCaml, which has been elected by the community as the de facto platform to solve efficiently parity games as well as evaluate their performance in several specific cases. PGSolver includes the Zielonka Recursive Algorithm that has been shown to perform better than the others in randomly generated games. However, even for arenas with a few thousand of nodes (especially over dense graphs), it requires minutes to solve the corresponding game. In this paper, we deeply revisit the implementation of the recursive algorithm introducing several improvements and making use of Scala Programming Language. These choices have been proved to be very successful, gaining up to two orders of magnitude in running time.
2015
11th International Symposium on Formal Aspects of Component Software, FACS 2014
Parity Games;
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
Solving Parity Games in Scala / DI STASIO, ANTONIO; Aniello, Murano; Vincenzo, Prignano; Loredana, Sorrentino. - 8997:(2015), pp. 145-161. (Intervento presentato al convegno 11th International Symposium on Formal Aspects of Component Software, FACS 2014 tenutosi a Bertinoro; Italy) [10.1007/978-3-319-15317-9_9].
File allegati a questo prodotto
File Dimensione Formato  
DiStasio_Postprint_Solving_2015.pdf

accesso aperto

Note: https://link.springer.com/chapter/10.1007/978-3-319-15317-9_9
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 492.25 kB
Formato Adobe PDF
492.25 kB Adobe PDF
DiStasio_Solving_2015.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 2.27 MB
Formato Adobe PDF
2.27 MB Adobe PDF   Contatta l'autore

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/1400238
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 8
  • ???jsp.display-item.citation.isi??? ND
social impact