<!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>The priority promotion approach to parity games</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Massimo Benerecetti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniele Dell'Erba</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Mogavero</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universita degli Studi di Napoli Federico II</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universita degli Studi di Verona</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>We consider parity games, a special form of two-player in niteduration games on numerically labeled graphs, whose winning condition requires that the maximal value of a label occurring in nitely often during a play be of some speci c parity. We present a new family of algorithms for the solution of the problem, based on the idea of promoting vertices to higher priorities during the search for winning regions. The proposed approach has nice computational properties, exhibiting the best space complexity among the currently known solutions. Experimental results on both random games and benchmark families show that the technique is also very e ective in practice.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Parity games are perfect-information two-player turn-based games of in nite
duration, usually played on nite directed graphs. Their vertices, called positions,
are labeled by natural numbers, called priorities, and are assigned to one of two
players, named Even and Odd or, simply, 0 and 1, respectively. The game starts
at an arbitrary position and, during its evolution, players can take a move (an
outgoing edge) only at their own positions. The moves selected by the players
induce an in nite sequence of vertices, called play. If the maximal priority of the
vertices occurring in nitely often in the play is even, then the play is winning
for player 0, otherwise, player 1 takes it all. The importance of these games is
due to the numerous applications in automata theory and in the area of system
speci cation, veri cation, and synthesis, where it is used as algorithmic back-end
of satis ability and model-checking procedures for temporal logics automata
theory. In particular, it has been proved to be linear-time interreducible with
the model-checking problem for the modal Calculus [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Besides the practical
importance, parity games are also interesting from a computational complexity
point of view, since their solution problem is one of the few inhabitants of the
UPTime \ CoUPTime class [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for which it is still open is the question about
the membership in PTime. The literature on the topic is rich of algorithms
for solving parity games, which can be mainly classi ed into two families. The
rst one contains the algorithms that recursively decompose the problem into
subproblems, whose solutions are then suitably assembled to obtain the desired
result. In this category fall, for example, Zielonka's recursive algorithm [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and
its dominion decomposition [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and big step [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] improvements. The second
family, instead, groups together those algorithms that compute a winning strategy
for the two players on the entire game, e.g., the Jurdzinski's progress measure
algorithm [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the strategy improvement approach [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Recently, [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] has shown
that the problem can be solved in quasi-polynomial time. Despite the theoretical
relevance of the result, it does not seem obvious how to turn the employed
technique into practical algorithms. The rst two implementations based on this
result (see [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) are no match for any of the exponential algorithms.
      </p>
      <p>This extended abstract presents the ideas underlying a new family of
algorithms for solving parity games described in [2{4], based on the notions of quasi
dominion and priority promotion. A quasi dominion Q for player 2 f0; 1g,
called a quasi -dominion, is a set of vertices from each of which player can
enforce a winning play that never leaves the region, unless one of the following
two conditions holds: (i) the opponent can escape from Q or (ii) the only choice
for player itself is to exit from Q. Quasi dominions of the same player can be
merged together to form larger quasi -dominions until, eventually, a dominion
for some player is found. The resulting technique, while still exhibiting
exponential behaviors, only requires O(n log k) memory (with n and k the number of
positions and priorities), which improves on the state-of-the-art. Experimental
results show that the proposed approach performs very well in practice, most
often signi cantly better than existing ones, as extensively shown in [1{4].
2</p>
    </sec>
    <sec id="sec-2">
      <title>The priority promotion approach</title>
      <p>
        For the sake of space, we refer to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for the formal de nitions of parity game,
dominion, (winning) strategy, and attractor.
      </p>
      <p>
        Priority promotion. The priority promotion approach attacks the problem of
solving a parity game a by computing one of its dominions D, for some player
, at a time. Indeed, once the -attractor D? of D is removed from a, the
smaller game a n D? is obtained, whose positions are winning for one player
i they are winning for the same player in the original game. This allows for
decomposing the problem of solving a parity game into iteratively nding its
dominions [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In order to solve the dominion problem, the idea is to start from
a much weaker notion than that of dominion, called quasi dominion. Intuitively,
a quasi -dominion is a set of positions on which player has a strategy whose
induced plays either remain inside the set forever and are winning for or can
exit from it passing through the set of escape positions.
      </p>
      <p>
        De nition 1 (Quasi Dominion [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). A non-empty set of positions Q is a
quasi -dominion in a for a player if there exists an -strategy whose induced
plays are either in nite and winning for or nite and end in an -escaping
position.
      </p>
      <p>If all induced plays remain in the set Q forever, then we have an -dominion,
i.e., a subset of the -winning region. In this case, the escape set of Q is empty
and we say that Q is -closed. Otherwise, we say that it is -open.</p>
      <p>The priority promotion algorithm explores a partial order hS; i, whose
elements, called states, record information about the open quasi dominions
computed along the way. In the initial state &gt; 2 S the quasi dominions are
initialized to the sets of positions with the same priority. At each step, a new
quasi dominion is extracted from the current state, by means of a query operator
&lt;, and used to compute a successor state, by means of a successor operator #, if
the quasi dominion is open. If, on the other hand, it is closed, the search is over.
The partial order hS; &gt;; i together with the operators &lt; and # form what is
called a dominion space. The notion of dominion space is quite general and can be
instantiated in di erent ways, by providing speci c query and successor operators
(see [2{4]). The overall procedure is sound and complete on any dominion space
and its time complexity is linear in the execution depth of the space, namely the
length of the longest chain in the underlying partial order compatible with the
successor operator. Its space complexity, instead, is only logarithmic in the size
of the dominion-space, since only one state at the time needs to be maintained.</p>
      <p>The priority promotion algorithm processes the input game in descending
order of priority and, at each step, a subgame of the entire game, obtained
by removing the quasi dominions previously computed at higher priorities, is
considered. At each priority of parity : (i) a quasi -domain Q is extracted by
the query operator from the current subgame; (ii) if Q is closed in the entire
game, the search stops and returns Q as result; otherwise, (iii) a successor state
in the underlying partial order is computed by the successor operator, depending
on whether Q is open in the current subgame or not. In the rst case, the quasi
-dominion is removed from the current subgame and the search restarts on the
new subgame that can only contain positions with lower priorities. In the second
case, Q is merged together with some previously computed quasi -dominion with
higher priority. Being a dominion space well-ordered, the search is guaranteed to
eventually terminate and return a closed quasi dominion. The procedure requires
the solution of two crucial problems: (a) extracting a quasi dominion from a
subgame and (b) merging together two quasi -dominions.</p>
      <p>
        The solution of the rst problem relies on the de nition of a speci c class of
quasi dominions, called regions. An -region R of a game a is a quasi -dominion
of a all of whose escape positions have the maximal priority p , pr(a) 2 in a.
In this case, we say that the -region R has priority p. If player escapes from
-region R, it must visit a position with the highest priority in it and parity .
De nition 2 (Region [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). A quasi -dominion R is an
pr(a) 2 and all its -escape positions have priority pr(a).
-region in a if
      </p>
      <p>It is important to observe that, in any parity game, an -region always exists,
for some 2 f0; 1g. In particular, the set of positions of maximal priority in
the game always forms an -region, with equal to the parity of that maximal
priority. A closed -region in a game is clearly an -dominion in that game. In
addition, the -attractor of an -region is always an -region. These observations
give us an easy and e cient way to extract a quasi dominion from every subgame:
collect the -attractor of the positions with maximal priority p in the subgame,
where p 2 , and assign p as priority of the resulting region R. This priority,
called measure of R, intuitively corresponds to an under-approximation of the
best priority player can force the opponent to visit along any play exiting
from R. During the search for a dominion, the computed regions, together with
their current measure, are kept track of by means of an auxiliary priority function
r : Ps ! Pr, called region function. Given a priority p, we denote by r( p) (resp.,
r(&gt;p) and r(&lt;p)) the function obtained by restricting the domain of r to the
positions with measure greater than or equal to p (resp., greater than and lower
than p). Moreover, the set of pairs (R; ), where R is an -region, is denoted by
Rg, and is partitioned into the sets Rg and Rg+ of open and closed -region
pairs, respectively.</p>
      <p>Algorithm 1 provides the
implementation for the query function com- signature &lt;a : Sa ! 2Psa f0; 1g
patible with the priority-promotion function &lt;a(s)
tmheecphaarniitsym. Lofintehe1psriimorpitlyy tcoo mprpoucteesss 21 let R(r; p)pa=tmrasosid(nr2 1(p))
in the state s , (r; p). Line 2, instead,
computes the attractor w.r.t. player 3 return (R; )</p>
      <p>
        in subgame as , a n dom r(&gt;p) of
the region contained in r at the current priority p. The resulting set R is an
-region of as containing r 1(p) (see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]).
      </p>
      <sec id="sec-2-1">
        <title>Algorithm 1: Query Function.</title>
        <p>
          A solution to the second problem, the merging operation, is obtained as
follows. Given an -region R in some game a and an -dominion D in a subgame
of a that does not contain R itself, the two sets are merged together, if the only
moves exiting from -positions of D in the entire game lead to higher priority
-regions and R has the lowest priority among them. The priority of R is called
the best escape priority of D for . The correctness of this merging operation is
established in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Algorithm 2: Successor Function.</title>
        <p>
          The merging operation is
implemented by promoting all the positions signature #a : a ! a Pra
of -dominion D to the measure of function s #a (R; )
R, thus improving the measure of D. let (r; p) = s in
iFtoyrptrhoims orteiaosno.nA,fitterisacaplrloemdoatiporniotro- 12 if (Rr?; ) r2[RR7 !gasp]then
some measure p, the regions with mea- 3 p? max(rng r?(&lt;p) )
sure lower than p might need to be else
destroyed, by resetting all the con- 4 p? bepa(R; r)
tained positions to their original pri- 5 r? pra ] r( p?)[R 7! p?]
ority (see [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]). The reset is in
general unavoidable, since the new pro- 6 return (r?; p?)
moted region may attract positions
from lower ones, thereby potentially invalidating their status as regions. In some
cases the player who wins by remaining in the region may even change from
to . The promotion operation is based on the notion of best escape priority
mentioned above, namely the priority of the lowest -region in r that has an
incoming move from the -region R, closed in the current subgame, that needs
to be promoted. Algorithm 2 reports the pseudo-code of the successor function.
Given the current state s and a region pair (R; ) open in the whole game, it
produces a successor state s? , (r?; p?). It rst checks whether R is open also in
the subgame as (Line 1). If this is the case, it assigns measure p to region R and
stores it in the new region function r? (Line 2) and the next priority p? is set to
the highest priority lower than p (Line 3). Otherwise, a promotion, merging R
with some other -region contained in r, is required. The next priority p? is set
to the best escape priority of R for player in the entire game a w.r.t. r (Line 4).
Region R is, then, promoted to priority p? and all the regions with lower measure
than p? in the region function r are reset by means of the operator f ] g, which
complete the missing values for the domain of g with the values from f.
        </p>
        <p>The result is a sound and complete solution procedure, as stated below.
Theorem 1. The Priority Promotion algorithm is correct and solves a game
with n 2 N positions and k 2 [1; n] priorities in O(n log k) space.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Benerecetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dell'Erba</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Mogavero</surname>
          </string-name>
          , \Solving Parity Games via Priority Promotion.
          <article-title>" journal under submission</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. ||, \
          <string-name>
            <given-names>A Delayed</given-names>
            <surname>Promotion</surname>
          </string-name>
          <article-title>Policy for Parity Games." in GANDALF16, ser</article-title>
          .
          <source>EPTCS 226</source>
          ,
          <year>2016</year>
          , pp.
          <volume>30</volume>
          {
          <fpage>45</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. ||, \
          <article-title>Improving Priority Promotion for Parity Games." in HVC'16, ser</article-title>
          .
          <source>LNCS 10028</source>
          . Springer,
          <year>2016</year>
          , pp.
          <volume>1</volume>
          {
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. ||, \Solving Parity Games via Priority Promotion.
          <article-title>" in CAV'16, ser</article-title>
          .
          <source>LNCS</source>
          <volume>9780</volume>
          (
          <string-name>
            <surname>Part</surname>
            <given-names>II</given-names>
          </string-name>
          ). Springer,
          <year>2016</year>
          , pp.
          <volume>270</volume>
          {
          <fpage>290</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>C.</given-names>
            <surname>Calude</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Khoussainov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Stephan</surname>
          </string-name>
          , \
          <article-title>Deciding Parity Games in Quasipolynomial Time." in STOC'17</article-title>
          .
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery,
          <year>2017</year>
          , pp.
          <volume>252</volume>
          {
          <fpage>263</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>E.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jutla</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Sistla</surname>
          </string-name>
          , \
          <article-title>On Model Checking for the muCalculus and its Fragments." in CAV'93, ser</article-title>
          .
          <source>LNCS 697</source>
          . Springer,
          <year>1993</year>
          , pp.
          <volume>385</volume>
          {
          <fpage>396</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Fearnley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schewe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Stephan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wojtczak</surname>
          </string-name>
          , \
          <article-title>An Ordered Approach to Solving Parity Games in Quasi Polynomial Time and Quasi Linear Space." in SPIN'17</article-title>
          .
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery,
          <year>2017</year>
          , pp.
          <volume>112</volume>
          {
          <fpage>121</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Jurdzinski</surname>
          </string-name>
          , \
          <article-title>Deciding the Winner in Parity Games is in UP \ co-</article-title>
          <source>UP." IPL</source>
          , vol.
          <volume>68</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>119</volume>
          {
          <issue>124</issue>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. ||, \
          <article-title>Small Progress Measures for Solving Parity Games." in STACS'00, ser</article-title>
          .
          <source>LNCS 1770</source>
          . Springer,
          <year>2000</year>
          , pp.
          <volume>290</volume>
          {
          <fpage>301</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>M.</given-names>
            <surname>Jurdzinski</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Lazic</surname>
          </string-name>
          , \
          <article-title>Succinct Progress Measures for Solving Parity Games." in LICS'17</article-title>
          .
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery,
          <year>2017</year>
          , pp.
          <volume>1</volume>
          {
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>M. Jurdzinski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Paterson</surname>
          </string-name>
          , and U. Zwick, \
          <article-title>A Deterministic Subexponential Algorithm for Solving Parity Games."</article-title>
          <source>SJM</source>
          , vol.
          <volume>38</volume>
          , no.
          <issue>4</issue>
          , pp.
          <volume>1519</volume>
          {
          <issue>1532</issue>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. S. Schewe, \
          <article-title>Solving Parity Games in Big Steps." in FSTTCS'07, ser</article-title>
          .
          <source>LNCS 4855</source>
          . Springer,
          <year>2007</year>
          , pp.
          <volume>449</volume>
          {
          <fpage>460</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. J. V
          <article-title>oge and M. Jurdzinski, \A Discrete Strategy Improvement Algorithm for Solving Parity Games." in CAV'00, ser</article-title>
          .
          <source>LNCS 1855</source>
          . Springer,
          <year>2000</year>
          , pp.
          <volume>202</volume>
          {
          <fpage>215</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. W. Zielonka, \
          <article-title>In nite Games on Finitely Coloured Graphs with Applications to Automata on In nite Trees</article-title>
          .
          <source>" TCS</source>
          , vol.
          <volume>200</volume>
          , no.
          <issue>1-2</issue>
          , pp.
          <volume>135</volume>
          {
          <issue>183</issue>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>