Solving Parity Games in Scala

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.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

[2]  E. Allen Emerson,et al.  Tree automata, mu-calculus and determinacy , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[3]  Jerzy Tiuryn,et al.  Logics of Programs , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[4]  David Gay,et al.  Memory management with explicit regions , 1998, PLDI.

[5]  Martin Odersky,et al.  An Overview of the Scala Programming Language Second Edition , 2006 .

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Ugo Montanari,et al.  International Symposium on Programming , 1982, Lecture Notes in Computer Science.

[8]  Wieslaw Zielonka,et al.  Infinite Games on Finitely Coloured Graphs with Applications to Automata on Infinite Trees , 1998, Theor. Comput. Sci..

[9]  M. Paterson,et al.  A deterministic subexponential algorithm for solving parity games , 2006, SODA 2006.

[10]  Marcin Jurdziński,et al.  Deciding the Winner in Parity Games is in UP \cap co-Up , 1998, Inf. Process. Lett..

[11]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[12]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[13]  M. Lange,et al.  The PGSolver Collection of Parity Game Solvers Version 3 , 2010 .

[14]  Kathryn S. McKinley,et al.  Composing high-performance memory allocators , 2001, PLDI '01.

[15]  Sven Schewe Solving Parity Games in Big Steps , 2007, FSTTCS.

[16]  Martin Odersky,et al.  An Overview of the Scala Programming Language , 2004 .

[17]  Robert McNaughton,et al.  Infinite Games Played on Finite Graphs , 1993, Ann. Pure Appl. Logic.

[18]  Krishnendu Chatterjee,et al.  Quantitative stochastic parity games , 2004, SODA '04.

[19]  Martin Odersky,et al.  Programming in Scala , 2008 .

[20]  Krishnendu Chatterjee,et al.  Generalized Mean-payoff and Energy Games , 2010, FSTTCS.

[21]  Oliver Friedmann,et al.  Recursive algorithm for parity games requires exponential time , 2011, RAIRO Theor. Informatics Appl..

[22]  Nathaniel Charlton,et al.  Polynomial-Time Under-Approximation of Winning Regions in Parity Games , 2009, Electron. Notes Theor. Comput. Sci..

[23]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[24]  Sanjiva Prasad,et al.  FSTTCS 2007: Foundations of Software Technology and Theoretical Computer Science, 27th International Conference, New Delhi, India, December 12-14, 2007, Proceedings , 2007, FSTTCS.

[25]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[26]  Aniello Murano,et al.  Improved model checking of hierarchical systems , 2010, Inf. Comput..

[27]  Michael Luttenberger,et al.  Solving Parity Games on the GPU , 2013, ATVA.

[28]  Aniello Murano,et al.  On Promptness in Parity Games , 2015, Fundam. Informaticae.

[29]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[30]  Oliver Friedmann,et al.  Solving Parity Games in Practice , 2009, ATVA.

[31]  H. Keisler,et al.  ADMISSIBILITY IN GAMES , 2008 .

[32]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[33]  Aniello Murano,et al.  The Complexity of Enriched Mu-Calculi , 2008, Log. Methods Comput. Sci..

[34]  Krishnendu Chatterjee,et al.  Mean-payoff parity games , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[35]  Marcin Jurdzinski,et al.  A Discrete Strategy Improvement Algorithm for Solving Parity Games , 2000, CAV.

[36]  Howard Barringer,et al.  TraceContract: A Scala DSL for Trace Analysis , 2011, FM.

[37]  Jørgen Staunstrup Specification and Verification of Concurrent Programs , 1979 .

[38]  Wolfram Schulte,et al.  FM 2011: Formal Methods - 17th International Symposium on Formal Methods, Limerick, Ireland, June 20-24, 2011. Proceedings , 2011, FM.

[39]  Peter Lammich,et al.  Tree Automata , 2009, Arch. Formal Proofs.

[40]  Robert Hundt,et al.  Loop Recognition in C++/Java/Go/Scala , 2011 .

[41]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[42]  Kathryn S. McKinley,et al.  Reconsidering custom memory allocation , 2002, OOPSLA '02.

[43]  Aniello Murano,et al.  Synthesis of hierarchical systems , 2011, Sci. Comput. Program..

[44]  Marcin Jurdzinski,et al.  Small Progress Measures for Solving Parity Games , 2000, STACS.

[45]  Mohamed Nassim Seghir,et al.  A Lightweight Approach for Loop Summarization , 2011, ATVA.

[46]  Dietmar Berwanger,et al.  Admissibility in Infinite Games , 2007, STACS.