<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Explicit and Symbolic Approaches for Parity Games</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Antonio Di Stasio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we review a broad investigation of the symbolic approach for solving Parity Games. Specifically, we implement in a tool, called SymPGSolver, four symbolic algorithms to solve Parity Games and compare their performances to the corresponding explicit versions for diferent classes of games. By means of benchmarks, we show that for random games, even for constrained random games, explicit algorithms actually perform better than symbolic algorithms. The situation changes, however, for structured games, where symbolic algorithms seem to have the advantage. This suggests that when evaluating algorithms for parity-game solving, it would be useful to have real benchmarks and not only random benchmarks, as the common practice has been.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Parity Games</kwd>
        <kwd>Symbolic Algorithms</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        over a singleton alphabet, and the system is correct with respect to the specification if this
automaton is nonempty [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It has been proved there that the nonemptiness problems for
nondeterministic tree parity automata and alternating word parity automata over a singleton
alphabet are equivalent and that their complexities coincide. Hence, algorithms for the solution
of the  -calculus model checking problem, parity games, and the emptiness problem for parity
automata can be interchangeably used to solve any of these problems, as they are linear-time
equivalent.
      </p>
      <p>
        The problem of deciding if Player 0 has a winning strategy (i.e., can induce a winning play)
in a given parity game is known to be in UPTime ∩ CoUPTime [14]; whether a polynomial time
solution exists is a long-standing open question [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Several algorithms to solve PGs have been
proposed aiming to tighten the asymptotic complexity of the problem, as well as to work well in
practice. Well known are Recursive (RE) [15], small-progress measures (SPM) [16], and APT [
        <xref ref-type="bibr" rid="ref2">2, 17</xref>
        ],
the latter originated to deal with the emptiness of parity automata. Recently, Calude et al. [18]
have given a major breakthrough providing a quasi-polynomial time algorithm for solving
parity games that runs in time (⌈()+6⌉). Previously, the best known algorithm for parity
games was Dominion Decomposition [19] which could solve parity games in (√), so this
new result represents a significant advance in the understanding of parity games. Notably, all
these algorithms are explicit, that is, they are formulated in terms of the underlying game graphs.
Due to the exponential growth of finite-state systems, and, consequently, of the corresponding
game graphs, the state-explosion problem limits the scalability of these algorithms in practice.
Hence for the analysis of large finite-state systems symbolic algorithms are necessary.
      </p>
      <p>Symbolic algorithms are an eficient way to deal with extremely large graphs. They avoid
explicit access to graphs by using a set of predefined operations that manipulate Binary Decision
Diagrams (BDDs) [20] representing these graphs. This enables handling large graphs succinctly,
and, in general, it makes symbolic algorithms scale better than explicit ones. For example, in
hardware model checking symbolic algorithms enable going from millions of states to 1020 states
and more [21, 22]. In contrast, in the context of PG solvers, symbolic algorithms have been only
marginally explored. In this direction we just mention a symbolic implementation of RE [23, 24],
which, however, has been done for diferent purposes and no benchmark comparison with the
explicit version has been carried out. Other works close to this topic and worth mentioning
are [25, 26], where a symbolic version of SPM has been theoretically studied but not implemented.</p>
      <p>In [27, 28] a first broad investigation of the symbolic approach for solving PGs is provided.
We implement four symbolic algorithms and compare their performances to the corresponding
explicit versions for diferent classes of PGs [ 29]. Specifically, we implement in a new tool,
called SymPGSolver1, the symbolic versions of RE, APT, and two variants of SPM. The tool also
allows to generate random games, as well as compare the performance of diferent symbolic
algorithms.</p>
      <p>Our analysis started from constrained random games [30]. The results show that on these
games the explicit approach is better than the symbolic one, exhibiting a diferent behavior than
the one showed in [30]. To gain a fuller understanding of the performances of the symbolic
and the explicit algorithms, we have further tested the two approaches on structured games.
Precisely, we have considered ladder games, clique games, as well as game models coming from
1The tool is available for download from https://github.com/antoniodistasio/sympgsolver
practical model-checking problems.</p>
      <p>Ladder Games. In a ladder game, every node in P has priority . In addition, each node
 ∈ P has two successors: one in P0 and one in P1, which form a node pair. Every pair is
connected to the next pair forming a ladder of pairs. Finally, the last pair is connected to
the top. The parameter  specifies the number of node pairs. Formally, a ladder game of
index  is  = (P0, P1, Mv , p) where P0 = {0, 2, . . . , 2 − 2}, P1 = {1, 3, . . . , 2 − 1},
Mv = {(, )| ≡ 2  +  for  ∈ {1, 2}}, and p() =   2. Tables 1 and 2 reports the
benchmarks.</p>
      <p>1,000
10,000
100,000
1,000,000
10,000,000</p>
      <p>SRE</p>
      <p>SAPT</p>
      <p>SSP</p>
      <p>Benchmarks indicate that SRE and SAPT outperform their explicit versions, showing an
excellent runtime execution even on fairly large instances. Indeed, while RE needs 6.31 seconds
for games with index  = 10 , SRE takes just 0.00015 seconds. Tests also show that SSP and
SSP2 have yet the worst performance.</p>
      <p>Clique Games. Clique games are fully connected games without self-loops, where P0 (resp.,
P1) contains the nodes with an even index (resp., odd) and each node  ∈ P has as priority the
index of . An important feature of the clique games is the high number of cycles, which may
pose dificulties for certain algorithms. Formally, a clique game of index  is  = (P0, P1, Mv , p)
where P0 = {0, 2, . . . ,  − 2}, P1 = {1, 3, . . . ,  − 1}, Mv = {(, )| ̸= }, and p() = .
Benchmarks on clique games are reported in Tables 3 and 4.</p>
      <p />
      <p>The main result we obtain from our comparisons is that for random games, and even for
constrained random games, explicit algorithms actually perform better than symbolic ones,
most likely because BDDs do not ofer any compression for random sets. The situation changes,
however, for structured games, where symbolic algorithms sometimes outperform explicit
algorithms. This is similar to what has been observed in the context of model checking [31].</p>
      <p>Finally, we evaluate the symbolic and explicit approaches on some practical model checking
problems as in [32]. Specifically, we use models coming from: the Sliding Window Protocol
(SWP) with window size (WS) of 2 and 4 (WS represents the boundary of the total number of
packets to be acknowledged by the receiver), the Onebit Protocol (OP), and the Lifting Truck
(Lift). The properties we check on these models concern: absence of deadlock (ND), a message
of a certain type (d1) is received infinitely often (IORD1), if there are infinitely many read
steps then there are infinitely many write steps (IORW), liveness, and safety. Note that, in all
benchmarks, data size (DS) denotes the number of messages.</p>
      <p>As we can see, by comparing Tables 5, 6, and 7, the experiments indicate more nuanced
relationship between the symbolic and explicit approaches. Indeed, they show a diferent
behavior depending on the protocol and the property we are checking. Overall, we note that
SSP
SRE outperforms the other symbolic algorithms in all protocols, although the advantage over
RE is discontinued. Specifically, SRE is the best performing in checking absence of deadlock
in all three protocols, but for IORD1 in the SWP protocol with   = 2, or for IORW in
the OP protocol, RE exhibits a significant advantage. Diferently, SAPT and SSP2 show better
performances on a smaller number of properties. Moreover, the results highlights that SSP
exhibits the worst performances in all protocols and properties.</p>
      <p>We take this as an important development because it suggests a methodological weakness
in this field of investigation, due to the excessive reliance on random benchmarks. We believe
that, in evaluating algorithms for PG solving, it would be useful to have real benchmarks and
not only random benchmarks, as the common practice has been. This would lead to a deeper
understanding of the relative merits of PG solving algorithms, both explicit and symbolic.
Acknowledgments
We thank our co-authors on the publications mentioned in this communication: Aniello Murano
and Moshe Y. Vardi. This work is partially supported by the ERC Advanced Grant WhiteMech
(No. 834228), by the EU ICT-48 2020 project TAILOR (No. 952215), and by the PRIN project
RIPER (No. 20203FFYLK).
[9] O.Kupferman, M.Vardi, P.Wolper, Module Checking., Information and Computation. 164
(2001) 322–344.
[10] W. Thomas, Facets of Synthesis: Revisiting Church’s Problem, in: Foundations of Software
Science and Computational Structures, 12th International Conference, FOSSACS 2009,
Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS
2009, York, UK, March 22-29, 2009., LNCS 5504, 2009, pp. 1–14.
[11] B. Aminof, O. Kupferman, A. Murano, Improved Model Checking of Hierarchical Systems,</p>
      <p>Inf. Comput. 210 (2012) 68–86.
[12] F. Mogavero, A. Murano, L. Sorrentino, On Promptness in Parity Games, in: Logic
for Programming, Artificial Intelligence, and Reasoning - 19th International Conference,
LPAR-19, Stellenbosch, South Africa, December 14-19, 2013., LNCS 8312, 2013, pp. 601–618.
[13] D. Kozen, Results on the Propositional  -Calculus, Theoretical Computer Science 27 (1983)
333–354.
[14] M. Jurdzinski, Deciding the Winner in Parity Games is in UP ∩ co-Up, Inf. Process. Lett.</p>
      <p>68 (1998) 119–124.
[15] W. Zielonka, Infinite Games on Finitely Coloured Graphs with Applications to Automata
on Infinite Trees, Theor. Comput. Sci. 200 (1998) 135–183.
[16] M. Jurdzinski,Small Progress Measures for Solving Parity Games, in: STACS 2000, 17th
Annual Symposium on Theoretical Aspects of Computer Science, Lille, France, February
2000, Proceedings, LNCS 1770, 2000, pp. 290–301.
[17] A. Di Stasio, A. Murano, G. Perelli, M. Y. Vardi, Solving parity games using an
automatabased algorithm, in: Implementation and Application of Automata - 21st International
Conference, CIAA 2016, Seoul, South Korea, July 19-22, 2016., 2016, pp. 64–76.
[18] C. S. Calude, S. Jain, B. Khoussainov, W. Li, F. Stephan, Deciding parity games in
quasipolynomial time, in: STOC 2017, 2017, pp. 252–263.
[19] M. Jurdzinski, M. Paterson, U. Zwick, A deterministic subexponential algorithm for solving
parity games, in: Proceedings of the Seventeenth Annual ACM-SIAM Symposium on
Discrete Algorithms, SODA 2006, Miami, Florida, USA, January 22-26, 2006, ACM Press,
2006, pp. 117–123.
[20] R. E. Bryant, Graph-based algorithms for boolean function manipulation, IEEE Trans.</p>
      <p>Comput. (1986) 677–691.
[21] J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, L. J. Hwang, Symbolic model checking:
10ˆ20 states and beyond, in: Proceedings of the Fifth Annual Symposium on Logic in
Computer Science (LICS ’90), Philadelphia, Pennsylvania, USA, June 4-7, 1990, 1990, pp.
428–439.
[22] K. L. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, 1993.
[23] G. Kant, J. van de Pol, Generating and solving symbolic parity games, in: Proceedings 3rd
Workshop on GRAPH Inspection and Traversal Engineering, GRAPHITE 2014, Grenoble,
France, 5th April 2014, 2014, pp. 2–14.
[24] M. Bakera, S. Edelkamp, P. Kissmann, C. D. Renner, Solving  -calculus parity games
by symbolic planning, in: Model Checking and Artificial Intelligence, 5th International
Workshop, MoChArt 2008, Patras, Greece, July 21, 2008., 2008, pp. 15–33.
[25] D. Bustan, O. Kupferman, M. Y. Vardi, A measured collapse of the modal  -calculus
alternation hierarchy, in: STACS 2004, 21st Annual Symposium on Theoretical Aspects of
Computer Science, Montpellier, France, March 25-27, 2004, Proceedings, 2004, pp. 522–533.
[26] K. Chatterjee, W. Dvorák, M. Henzinger, V. Loitzenbauer, Improved set-based symbolic
algorithms for parity games, in: 26th EACSL Annual Conference on Computer Science
Logic, CSL 2017, August 20-24, 2017, Stockholm, Sweden, 2017, pp. 18:1–18:21.
[27] A. Di Stasio, A. Murano, M. Y. Vardi, Solving parity games: Explicit vs symbolic, in:
Implementation and Application of Automata - 23rd International Conference, CIAA 2018,
Charlottetown, PE, Canada, July 30 - August 2, 2018, Proceedings, 2018, pp. 159–172.
[28] A. D. Stasio, Reasoning about LTL Synthesis over finite and infinite games, Ph.D. thesis,</p>
      <p>University of Naples Federico II, Italy, 2018.
[29] T. van Dijk, Oink: An implementation and evaluation of modern parity game solvers, in:
Tools and Algorithms for the Construction and Analysis of Systems - 24th International
Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and
Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, LNCS 10805,
Springer, 2018, pp. 291–308.
[30] D. Tabakov, Evaluation of Explicit and Symbolic Automata-Theoretic Algorithm, Master’s
thesis, Rice University, 2005.
[31] C. Eisner, D. A. Peled, Comparing symbolic and explicit model checking of a software
system, in: Model Checking of Software, 9th International SPIN Workshop, Grenoble,
France, April 11-13, 2002, Proceedings, 2002, pp. 230–239.
[32] J. A. Keiren, Benchmarks for parity games, in: FSEN 2015, 2015, pp. 127–142.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jutla</surname>
          </string-name>
          , Tree Automata,  -Calculus and Determinacy,
          <source>in: 32nd Annual Symposium on Foundations of Computer Science</source>
          , San Juan, Puerto Rico,
          <fpage>1</fpage>
          -4
          <source>October</source>
          <year>1991</year>
          ,
          <year>1991</year>
          , pp.
          <fpage>368</fpage>
          -
          <lpage>377</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kupferman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <article-title>Weak Alternating Automata and Tree Automata Emptiness</article-title>
          ,
          <source>in: Proceedings of the Thirtieth Annual ACM Symposium on the Theory of Computing</source>
          , Dallas, Texas, USA, May
          <volume>23</volume>
          -26,
          <year>1998</year>
          ,
          <year>1998</year>
          , pp.
          <fpage>224</fpage>
          -
          <lpage>233</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          , E. Emerson,
          <article-title>Design and Synthesis of Synchronization Skeletons Using BranchingTime Temporal Logic</article-title>
          , in: Logics of Programs, Workshop, Yorktown Heights, New York, USA, May
          <year>1981</year>
          , LNCS 131,
          <year>1981</year>
          , pp.
          <fpage>52</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Cermák</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          ,
          <article-title>Verifying and synthesising multi-agent systems against one-goal strategy logic specifications</article-title>
          ,
          <source>in: Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, January 25-30</source>
          ,
          <year>2015</year>
          , Austin, Texas, USA,
          <year>2015</year>
          , pp.
          <fpage>2038</fpage>
          -
          <lpage>2044</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kupferman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Wolper</surname>
          </string-name>
          ,
          <article-title>An Automata Theoretic Approach to Branching-Time Model Checking</article-title>
          ,
          <source>J. ACM</source>
          <volume>47</volume>
          (
          <year>2000</year>
          )
          <fpage>312</fpage>
          -
          <lpage>360</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Wilke</surname>
          </string-name>
          , Alternating Tree Automata, Parity Games, and Modal  -Calculus,
          <source>Bulletin of the Belgian Mathematical Society Simon Stevin</source>
          <volume>8</volume>
          (
          <year>2001</year>
          )
          <fpage>359</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          , Model Checking., MIT Press,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Queille</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sifakis</surname>
          </string-name>
          ,
          <article-title>Specification and Verification of Concurrent Programs in Cesar</article-title>
          , in: International Symposium on Programming,
          <source>5th Colloquium, Torino, Italy, April 6-8</source>
          ,
          <year>1982</year>
          , Proceedings, LNCS
          <volume>137</volume>
          ,
          <year>1982</year>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>351</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>