Abstract 1 Introduction 2 The notion of full win and characterization of winning regions 3 Recursive algorithms for deciding regular games 4 Dynamic programming algorithms for deciding regular games 5 Conclusion References

Deciding Regular Games:
a Playground for Exponential Time Algorithms

Zihui Liang111Corresponding authors. ORCID University of Electronic Science and Technology of China, Chengdu, China Bakh Khoussainov111Corresponding authors. University of Electronic Science and Technology of China, Chengdu, China Mingyu Xiao ORCID University of Electronic Science and Technology of China, Chengdu, China
Abstract

Regular games form a well-established class of games for analysis and synthesis of reactive systems. They include colored Muller games, McNaughton games, Muller games, Rabin games, and Streett games. These games are played on directed graphs 𝒢 where Player 0 and Player 1 play by generating an infinite path ρ through the graph. The winner is determined by specifications put on the set X of vertices in ρ that occur infinitely often. These games are determined, enabling the partitioning of 𝒢 into two sets Win0 and Win1 of winning positions for Player 0 and Player 1, respectively. Numerous algorithms exist that decide instances of regular games, e.g., Muller games, by computing Win0 and Win1. In this paper we aim to find general principles for designing uniform algorithms that decide all regular games. For this we utilize various recursive and dynamic programming algorithms that leverage standard notions such as subgames and traps. Importantly, we show that our techniques improve or match the performances of existing algorithms for many instances of regular games.

Keywords and phrases:
Regular games, colored Muller games, Rabin games, McNaughton games, Muller games, deciding games
Copyright and License:
[Uncaptioned image] © Zihui Liang, Bakh Khoussainov, and Mingyu Xiao; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Algorithmic game theory
; Theory of computation Logic and verification
Funding:
This work was supported by the National Science Foundation of China under grant No.62172077, No.62350710215, and No.62372095, and the Natural Science Foundation of Sichuan Province of China under grant No.2025HJPJ0006.
Editors:
Paweł Gawrychowski, Filip Mazowiecki, and Michał Skrzypczak

1 Introduction

In verification of reactive systems, model checking, and logic, studying games played on finite graphs is a key research topic [18, 26]. Colored Muller games, Rabin games, Streett games, Muller games, and McNaughton games constitute such classes of games. The recent work [16] serves as an excellent reference for the state-of-the-art in this area. Interest in these games arises from their role in modeling and verifying reactive systems as games on graphs.

1.1 Arenas, regular games, subarenas, and traps

All games that we listed above are played in arenas:

Definition 1.

An arena 𝒜 is a bipartite directed graph (V0,V1,E), where

  1. 1.

    V0V1=, and V=V0V1 is the set of nodes, also called positions.

  2. 2.

    EV0×V1V1×V0 is the edge set where each node has an outgoing edge.

  3. 3.

    V0 and V1 are sets of positions for Player 0 and Player 1, respectively.

For each vV, let E(v)={u(v,u)E} be the set of successors of v.

Players play the game in a given arena 𝒜 by taking turns and moving a token along the edges of the arena. Initially, the token is placed on a node v0V. If v0V0, then Player 0 moves first. If v0V1, then Player 1 moves first. In each round of play, if the token is positioned on a Player σ’s position v, then Player σ chooses uE(v), moves the token to u along the edge (v,u), and the play continues on to the next round. Note that condition 2 on the arena guarantees that the players can always make a move at any round of the play.

Definition 2.

A play, in a given arena 𝒜, starting at v0, is an infinite sequence ρ=v0,v1,v2, such that vi+1E(vi) for all i.

Given a play ρ=v0,v1,, the set 𝖨𝗇𝖿(ρ)={vVωi(vi=v)} is called the infinity set of ρ. The winner of this play is determined by a condition put on 𝖨𝗇𝖿(ρ). We list several of these conditions that are well-established in the area.

Definition 3.

The following games played on a given arena 𝒜=(V0,V1,E) are known as regular games:

  1. 1.

    A colored Muller game is 𝒢=(𝒜,c,(0,1)), where c:VC is a mapping from V into the set C of colors, 01=2C and 01=. Player σ wins the play ρ if c(𝖨𝗇𝖿(ρ))σ, where σ=0,1.

  2. 2.

    A McNaughton game is the tuple 𝒢=(𝒜,W,(0,1)), where WV, 01=2W and 01=. Player σ wins the play ρ if 𝖨𝗇𝖿(ρ)Wσ.

  3. 3.

    A Muller game is the tuple 𝒢=(𝒜,(0,1)), where 01=2V and 01=. Player σ wins the play ρ if 𝖨𝗇𝖿(ρ)σ.

  4. 4.

    A Rabin game is the tuple 𝒢=(𝒜,(U1,V1),,(Uk,Vk)), where Ui,ViV, (Ui,Vi) is a winning pair, and k is the index. Player 0 wins ρ if there is a pair (Ui,Vi) with 𝖨𝗇𝖿(ρ)Ui and 𝖨𝗇𝖿(ρ)Vi=. Else, Player 1 wins.

  5. 5.

    A Streett game is the tuple 𝒢=(𝒜,(U1,V1),,(Uk,Vk)), where Ui, Vi are as in Rabin game. Player 0 wins the play ρ if for all i{1,,k} if 𝖨𝗇𝖿(ρ)Ui then 𝖨𝗇𝖿(ρ)Vi. Otherwise, Player 1 wins.

  6. 6.

    A KL game is the tuple 𝒢=(𝒜,(u1,S1),,(ut,St)), where uiV, SiV,  (ui,Si) is a winning pair, and t is the index. Player 0 wins ρ if there is a pair (ui,Si) such that ui𝖨𝗇𝖿(ρ) and 𝖨𝗇𝖿(ρ)Si. Else, Player 1 wins.

The first three games are symmetric. Rabin games can be considered as dual to Streett games. The first five winning conditions are well-established conditions. The last condition is new. The motivation behind this new winning condition lies in the transformation of Rabin and Streett games into Muller games via the KL winning condition. In a precise sense, as will be seen in Section 4.5 via Lemma 26, the KL condition is a compressed Rabin condition.

Definition 4.

Let 𝒜 be an arena. A pseudo-arena of 𝒜 determined by X is the tuple 𝒜(X)=(X0,X1,EX) where X0=V0X, X1=V1X, EX=E(X×X). If this pseudo-arena is an arena, then we call it the subarena determined by X.

The opponent of Player σ, where σ{0,1}, is denoted by Player σ¯. Traps are subarenas in games where one of the players has no choice but stay:

Definition 5 (σ-trap).

A subarena 𝒜(X) is a 𝛔-trap for Player σ if each of the following two conditions are satisfied: (1) For all xXσ¯ there is a yXσ such that (x,y)E. (2) For all xXσ it is the case that E(x)X.

If 𝒜(X) is a σ-trap, then Player σ¯ can stay in 𝒜(X) forever if the player wishes so.

Let T be a subset of the arena 𝒜=(V0,V1,E). The attractor of Player σ to the set TV, denoted Attrσ(T,𝒜), is the set of positions from where Player σ can force the plays into T. The attractor Attrσ(T,𝒜) is computed as follows:

W0=T,   Wi+1=Wi{uVσE(u)Wi}{uVσ¯E(u)Wi},

and then set  Attrσ(T,𝒜)=i0Wi.

The set Attrσ(T,𝒜) can be computed in O(|E|). We call Attrσ the attractor operator. Note that the set VAttrσ(T,𝒜), the complement of the σ-attractor of T, is a σ-trap for all T. This set is the emptyset if and only if V=Attrσ(T,𝒜).

A strategy for Player σ is a function that receives as input initial segments of plays v0,v1,,vk where vkVσ and outputs some vk+1 such that vk+1E(vk). An important class of strategies are finite-state strategies. R. McNaughton in [33] proved that the winner in McNaughton games has a finite state winning strategy. W. Zielonka proves that the winners of regular games have finite state winning strategies [39]. S. Dziembowski, M. Jurdzinski, and I. Walukiewicz in [11] investigate the memory needed for the winners of colored Muller games. They show that the memory |V|! is a sharp bound for finite state winning strategies.

In the study of games, solving a given game entails two key objectives. First, one aims to devise an algorithm that, when provided with a game 𝒢, partitions the set V into two sets Win0(𝒢) and Win1(𝒢) such that vWinσ(𝒢) if and only if Player σ wins the game starting at v, where σ{0,1}. This is called the decision problem where one wants to find out the winner of the game. Second, one would like to design an algorithm that, given a game, extracts a winning strategy for the winner. This is known as the synthesis problem.

Traditionally, research on regular games specifically selects an instance of regular games, e.g., Muller games, Rabin games or Streett games, and studies the decision and synthesis problems for these instances. This paper however, instead of focusing on instances of regular games, aims at finding uniform algorithms and general principles for deciding all regular games. Importantly, we show that our techniques based on general principles improve or match the performances of existing decision algorithms for many instances of regular games.

1.2 Our contributions in light of known algorithms

We provide two types of algorithms for deciding regular games. The first is recursion based, and the second is dynamic programming based. Recursive algorithms have been exploited in the area significantly. To the best of our knowledge, dynamic programming techniques have not been much used in the area. We utilize these techniques and improve known algorithms for deciding all regular games defined above.

The performances of algorithms for games 𝒢 can be measured in two ways. One is when the input sizes are |V|+|E|. The other is when 𝒢 is presented explicitly by listing V, E, and the corresponding winning conditions. In these explicit representations the sizes of Muller, McNaughton, and colored Muller games are bounded by |V|+|E|+2|V||V|. For these games, explicit representations list the collection 0 instead of listing both 0 and 1. The sizes of Rabin and Streett games are bounded by |V|+|E|+4|V||V|. The sizes of the KL games are bounded by |V|+|E|+2|V||V|2. We use the notation |𝒢| for these representations of games 𝒢. These two ways of representing inputs, together with the parameters |C|, |W|, k, and t, should be taken into account in our discussion below.

Definition 6.

Call |C| and |W| small parameters, k and t (potentially) large parameters.

A: Colored Muller games.

The folklore algorithms deciding colored Muller games use recursion on |C| with running time O(|C||E|(|C||V|)|C|1) and space O(|𝒢|+|C||V|) [16]. Using the breakthrough quasi-polynomial time algorithm for parity games, C. Calude, S. Jain, B. Khoussainov, W. Li, and F. Stephan were able to decide colored Muller games with the running time O(|C|5|C||V|5) and space O((|C|!|V|)O(1)) [4].  Björklund et al. showed that under the ETH it is impossible to decide colored Muller games in time O(2o(|C|)|V|a), where a>0 [1]. C. Calude, S. Jain, B. Khoussainov, W. Li, and F. Stephan in [4] improved this by showing that under the ETH it is impossible to decide colored Muller games in time 2o(|C|log(|C|))Poly(|V|). Their proof implies that this impossibility result holds when |C||V|. The table below now compares these results with our algorithms.

Best known (running time, space) Our algorithm (s)
(O(|C|5|C||V|5), O((|C|!|V|)O(1))) (O(2|V||C||E|), O(|𝒢|+2|V||V|))
[4] Theorem 15 (DP)
(O(|C||E|(|C||V|)|C|1), O(|𝒢|+|C||V|)) (O(2|V||V||E|), O(|𝒢|+2|V|))
folklore, e.g., see[16] Theorem 19 (DP)
(O(|C|!(|V||C|)|V||E|), O(|𝒢|+|C||V|))
Theorem 12 (recursion)

The algorithms from Theorems 15 and 19 are dynamic programming (DP) algorithms. One can verify that if |V|/loglog(|V|)|C|, e.g., |V|/a<C where a>1 is fixed, then:

  1. 1.

    Running times of both of these algorithms are better than O(|C|5|C||V|5),

  2. 2.

    Moreover, these two algorithms run in 2o(|C|log(|C|))Poly(|V|). This obviously refines and strengthens the impossibility result that under the ETH no algorithm decides colored Muller games in 2o(|C|log(|C|))Poly(|V|) [4].

  3. 3.

    The spaces of both of these algorithms are also better than O((|C|!|V|)O(1)).

  4. 4.

    All of the previously known algorithms have superexponential running times. Our algorithms run in exponential time.

When the parameter C satisfies |C|log(|V|), the algorithms from [4] and [16] outperform our algorithms. When |V|/loglog(|V|)|C|, as we stated above, our algorithms are better for any value of |C| with C|V|/a. Furthermore, our algorithms run in exponential time thus matching the bound of the impossibility result of Björklund et al. [1].

Our algorithm in Theorem 12 is a recast of standard recursive algorithms. However, as shown in the table, a careful running time analysis implies that our recursive algorithm has a better running time and it matches the space bounds of the previous recursive algorithms.

B: Rabin and Streett games.

Historically, M. Rabin was the first who built the parameter independent exponential time algorithm that solves the emptiness problem for ω-tree automata with Rabin acceptance condition (which is equivalent to solving Rabin games). Namely, given an ω-tree automata A=(S,M,s0,Ω) with Rabin acceptance condition, Rabin’s algorithm runs in time O(|Σ|44|Σ||S|) and space O(22|Σ||S||Σ||S|), where Σ is the size of the alphabet [38]. Note that |Σ| appears in the exponent111The authors thank M. Vardi for informing us of this Rabin’s algorithm..

E. A. Emerson and C. S. Jutla show that deciding Rabin games is NP complete [12, 14]. Hence, deciding Streett games is co-NP complete. Horn’s algorithm for deciding Rabin games has the running time O(k!|V|2k) [19]. N. Piterman and A. Pnueli show that Rabin and Streett games can be decided in time O(|E||V|k+1kk!) and space O(nk) [37]. C. Calude, S. Jain, B. Khoussainov, W. Li, and F. Stephan gave a FPT algorithm for Rabin games on k colors by converting it to a parity game and using the quasi-polynomial algorithm [4]. A Rabin game with n vertices, m edges and k colors, can be reduced to a parity game with N=nk2k! vertices, M=nk2k!m edges and K=2k+1 colors [13]. By reducing Rabin games to parity games and using the state-of-the-art algorithms for parity games [7, 8, 15, 23] in a “space-efficient” manner, one solves Rabin games in time O(max{MN2.38,2O(KlogK)}) with exponential space, see Jurdziński and Lazić [23]. Using the values of M and N, the algorithm of Jurdziński and Lazić takes time at least proportional to m(nk2k!)3.38. The parity games obtained from Rabin games are such that the number of vertices N is much larger than the number of colors K, namely Ko(log(N)). For cases where the number of vertices of the resulting parity game is much larger than the number of priorities, say the number of colors (2k+1) is o(log(N)), Jurdziński and Lazić also give an analysis of their algorithm that would solve Rabin games in time O(nmk!2+o(1)) . Closely matching this are the run times in the work of Fearnley et al. [15] who provide, among other bounds, a quasi-bi-linear bound of O(MN𝔞(N)loglogN), where 𝔞 is the inverse-Ackermann function. In either case above, this best-known algorithm has at least a (k!)2+o(1) dependence in its run time, and takes the space proportional to (nk2k!)log(nk2k!); so we still have a k! dependence. R. Majumdar et al. in [32] recently provided an algorithm that decides Rabin games in O~(|E||V|(k!)1+o(1)) time and O(|V|klogklog|V|) space. This breaks through the 2+o(1) barrier. Importantly, A. Casares et al. prove that under the ETH it is impossible to decide Rabin games in 2o(klogk)Poly(|V|) [6]. Just like for colored Muller games, this impossibility result holds true when k|V|. The next table compares these results with our findings.

Best known (running time, space) Our algorithm (s)
(O(|E||V|k+1kk!), O(|𝒢|+k|V|)) (O((k|V|+2|V||E|)|V|), O(|𝒢|+2|V||V|))
[37] Theorem 28 (DP)
(O~(|E||V|(k!)1+o(1)), O(|𝒢|+k|V|logklog|V|)) (O(|V|!|V|(|E|+k|V|)), O(|𝒢|+|V|2))
[32] Theorem 14 (recursion)
(O(|Σ|44|Σ||S|), O(22|Σ||S||Σ||S|))
Rabin’s algorithm [38]

We single out four key parts of both of our algorithms:

  1. 1.

    In terms of time, both our dynamic and recursive algorithms outperform the known algorithms when the parameter k ranges in [|V|,4|V|]. In particular, when k is polynomial on |V| (which is a practical consideration), then our algorithms have better running times.

  2. 2.

    Just as for colored Muller games we refine the impossibility result of A. Casares et al. under the assumption of the ETH [6]. Namely, when the parameter k|V|log|V|, both of our algorithms run in 2o(klogk)Poly(|V|). The condition k|V|log|V| is clearly reasonable and practically feasible.

  3. 3.

    Our DP algorithm from Theorem 28 is the first exponential time algorithm that decides Rabin games. The previously known algorithms run in superexponential times.

  4. 4.

    When k falls into the range [|V|,4|V|], then the recursive algorithm from Theorem 14 performs the best in terms of space against other algorithms.

If Player 0 wins Rabin games, then the player wins with a memoryless strategy [14]. Hence, one might suggest the following way of finding the winner. Enumerate all memoryless strategies and select the winning one. Even when the arena is sparse, e.g., positions have a fixed bounded out-degree, this process does not lead to exponential running time as the opponent might have a winning strategy with a large memory.

C: Muller games.

Nerode, Remmel, and Yakhnis were the first who designed a competitive algorithm that decides Muller games [35]. The running time of their algorithm is O(|V|!|V||E|). W. Zielonka [39] examines Muller games through Zielonka trees. The size of Zielonka tree is O(2|V|) in the worst case.  S. Dziembowski, M. Jurdzinski, and I. Walukiewicz in [11] show that deciding Muller games with Zielonka trees as part of the input is in NPco-NP. D. Neider, R. Rabinovich, and M. Zimmermann reduce Muller games to safety games with O((|V|!)3) vertices; safety games can be solved in linear time [34]. F. Horn in [20] provides the first polynomial time decision algorithm for explicitly given Muller games, which operates by solving update network games [2, 9, 10, 22] iteratively on transformed subgames. The running time of Horn’s algorithm is O(|V||0|(|V|+|0|)2). F. Horn’s correctness proof has a non-trivial flaw. B. Khoussainov, Z. Liang, and M. Xiao in [28] provide a correct proof of Horn’s algorithm through new methods; their methods improve the running time to O(|0|(|V|+|0|)|V0|log|V0|). All the known algorithms that decide Muller games are either recursive algorithms or reductions to other known classes of games. Our algorithm is a dynamic programming algorithm, and to the best of our knowledge, the first such algorithm that decides Muller games. The table below compares the best of these results for Muller games, in terms of time and space, with our algorithm from this paper:

Best known (running time, space) Our algorithm
(O(|0|(|V|+|0|)|V0|log|V0|), O(|𝒢|+|0|(|V|+|0|))) (O(2|V||V||E|), O(|𝒢|+2|V|))
[28] Theorem 20 (DP)

One can see that the algorithm from [28], in terms of running time and space, is better than our algorithm when |0|2|V|. However, our algorithm becomes competitive (or better) than the algorithm in [28] when |0|>2|V|. Also, note that by running our algorithm and the algorithm in [28] in parallel, we get the best performing polynomial time algorithm that solves explicitly given Muller games.

D: McNaughton games.

R. McNaughton [33] provided the first algorithm that decides McNaughton games in time O(a|W||W|!|V|3), for a constant a>1. Nerode, Remmel, and Yakhnis in [35] improved the bound to O(|W|!|W||E|). A. Dawar and P. Hunter proved that deciding McNaughton games is a PSPACE-complete problem [21], while the one-player version can be decided in linear time [24]. The table below compares our algorithms with currently the best algorithm that runs in time O(|W|!|W||E|):

Best known (running time, space) Our algorithm (s)
(O(|W||E||W|!), O(|𝒢|+Poly(|V|))) (O(2|V||W||E|), O(|𝒢|+2|V||V|))
[35] Theorem 21 (DP)
(O(2|V||V||E|), O(|𝒢|+2|V|))
Theorem 21 (DP)

It is not too hard to see that when |W| exceeds |V|/loglog(|V|), e.g., |W||V|/a where a>1 is fixed, then our algorithm has better running time than previous algorithms.

Important comments.

All the previously known algorithms, apart from the exponential time algorithm of Rabin, involve the parameters |C|, k, and |W|. When these parameters move from very small to reasonable sizes, such as from log(|V|) to over |V|/loglog(|V|) (and above) for |C| and |W|, and from log(|V|) to |V| (and above) for k, the running times become unreasonable as they involve the multiplicative factors |V|k, k!, |C|!, |C||C|, and |W|!. In all of these cases, our algorithms perform better in order of magnitude. Also, our algorithms are based on a new approach where we trade the parameters for |V|. One can argue that in some situations, the parameters are small with respect to |V|. For instance, one can invoke the reduction of non-deterministic Buchi automata to deterministic automata. In this reduction the index k of Rabin accepting condition is bounded by log(|S|), where S is the states of the deterministic automata. The following examples address these types of arguments:

  • The article [5] provides a natural transformation of Muller games (𝒜,0) on arena 𝒜 to Rabin games (𝒜,(U1,V1),,(Uk,Vk)). This natural transformation can produce examples of Rabin games where k is exponential on the number of positions in 𝒜.

  • Boker in [3] shows examples of deterministic Muller automata M1 and M2 that have n states with index n, that is |0|=n, such that every non-deterministic Muller automata accepting L(M1)L(M2) has index 2n. This is an example where a natural algebraic and set-theoretic operation produces a large Muller acceptance condition.

  • Although parity games can be solved in quasipolynomial time [4, 15, 36, 27], it is worth to mention when one translates parity games to Rabin games the parameter k equals the number of priorities, e.g., k can equal |V|.

  • Random Muller games are obtained as follows. In an arena of size n, select a subset X at random. Declare 0=2X. The expected size of 0 is 2n/2.

Our algorithms and their correctness look deceivingly simple. This is achieved due to Definition 7, Lemmas 810, Lemmas 1718, The Enumeration Lemma 22, and The Transformation Lemma 26 each of which is non-trivial on its own. Furthermore, our algorithms remove existing superexponential bounds from the running times of the known algorithms, an important issue in regular games and ω-automata.

2 The notion of full win and characterization of winning regions

In this section we develop a few concepts and techniques used throughout the paper. We first define the notion of full win. This will be used in designing dynamic programming algorithms for deciding regular games. Then we provide Lemma 8 that characterizes winning regions. This lemma is used for designing recursive algorithms for solving regular games. The last result of this section is Lemma 10. We call the lemma trichotomy lemma as it characterizes three cases: (1) Player 0 fully wins the game, (2) Player 1 fully wins the game, and (3) none of the players fully wins the game. This lemma will be the basis of our dynamic algorithms.

Definition 7.

If Winσ(𝒢)=V, then player σ fully wins 𝒢. Else, the player does not fully win 𝒢. If Winσ(𝒢)V and Winσ¯(𝒢)V, then no player fully wins 𝒢.

We now provide two lemmas that characterize winning regions in colored Muller games. Later we algorithmically implement the lemmas and analyze them. We start with the first lemma. The statement of the lemma and its equivalent forms have been known and used in various forms [33] [16]. Later we will utilize the lemma in our recursive algorithms through their detailed exposition and analysis.

Lemma 8.

Let σ{0,1} such that c(V)σ. Then we have the following:

  1. 1.

    If for all cc(V), Attrσ(c1(c),𝒜)=V or Player σ fully wins 𝒢(VAttrσ(c1(c),𝒜)), then Player σ fully wins 𝒢.

  2. 2.

    Otherwise, let c be a color in C such that Attrσ(c1(c),𝒜)V and Player σ doesn’t fully win 𝒢(VAttrσ(c1(c),𝒜)). Then we have Winσ(𝒢)=Winσ(𝒢(VX)), where X=Attrσ¯(Winσ¯(𝒢(VAttrσ(c1(c),𝒜))),𝒜).

Proof.

Part 1: Assume that for all cc(V), Player σ fully wins 𝒢(VAttrσ(c1(c),𝒜)) or V=Attrσ(c1(c),𝒜). Construct the following winning strategy for Player σ in 𝒢. Let c(V)={c0,,ck1} and let i initially be 0.

  • If the token is in Attrσ(c1(ci),𝒜), then Player σ forces the token to a vertex in c1(ci) and once the token arrives at the vertex, sets i=i+1modk.

  • Otherwise, Player σ uses a winning strategy in 𝒢(VAttrσ(c1(ci),𝒜)).

Consider a play consistent with the strategy. If there is an i such that the token finally stays in 𝒢(VAttrσ(c1(ci),𝒜)), then Player σ wins the game. Otherwise, c(𝖨𝗇𝖿(ρ))=c(V). So Player σ wins as c(V)σ. Thus, Player σ fully wins 𝒢.

Part 2: Let cC such that Attrσ(c1(c),𝒜)V and Player σ doesn’t fully win 𝒢(VAttrσ(c1(c),𝒜)). Let V=Winσ¯(𝒢(VAttrσ(c1(c),𝒜))). Consider the set X=Attrσ¯(V,𝒜) as defined in the statement of the lemma. Note that 𝒜(V) is a σ-trap in 𝒜(VAttrσ(c1(c),𝒜)); furthermore, 𝒜(VAttrσ(c1(c),𝒜)) is a σ-trap in 𝒜. This implies that 𝒜(V) is a σ-trap in 𝒜. Now we want to construct a winning strategy for Player σ¯ in the arena 𝒜 when the token is placed on vXWinσ¯(𝒢(VX)). The winning strategy for Player σ¯ in this case is the following:

  • If vX, Player σ¯ wins by forcing the token into V and following the winning strategy in σ-trap 𝒜(V).

  • If vWinσ¯(𝒢(VX)), Player σ¯ in game 𝒢(Winσ¯(𝒢(VX))) follows a winning strategy until the opponent moves the token into X.

Note that 𝒜(Winσ(𝒢(VX))) is a σ¯-trap in 𝒜(VX) and 𝒜(VX) is a σ¯-trap in 𝒜. Hence, the set 𝒜(Winσ(𝒢(VX))) is a σ¯-trap in the arena 𝒜. Therefore, we have the equality Winσ(𝒢)=Winσ(𝒢(VX)). As an immediate corollary we get the following lemma for Player σ.

Lemma 9.

Let 𝒢 be a colored Muller game and let σ{0,1} be such that c(V)σ. Player σ fully wins 𝒢 if and only if for all cc(V), Attrσ(c1(c),𝒜)=V or Player σ fully wins 𝒢(VAttrσ(c1(c),𝒜)).  

Now we provide the next lemma that we call Trichotomy lemma. We will use this lemma in our dynamic programming based algorithms.

Lemma 10 (Trichotomy Lemma).

Let 𝒢 be a colored Muller game and let σ{0,1} be such that c(V)σ. Then we have the following three cases:

  1. 1.

    If for all cc(V), Attrσ(c1(c),𝒜)=V or Player σ fully wins 𝒢(VAttrσ(c1(c),𝒜)), then Player σ fully wins 𝒢.

  2. 2.

    Otherwise, if for all vV, Attrσ¯({v},𝒜)=V or Player σ¯ fully wins 𝒢(VAttrσ¯({v},𝒜)), then Player σ¯ fully wins 𝒢.

  3. 3.

    Otherwise, none of the players fully wins.

Proof.

By Lemma 9, Part 1 is proved. For the remaining parts of the lemma, we are under the assumption that Player σ doesn’t fully win 𝒢. For the second part, if Player σ¯ fully wins 𝒢, then for any vV, Attrσ¯({v},𝒜)=V or Player σ¯ fully wins the game in σ¯-trap 𝒜(VAttrσ¯({v},𝒜)). Otherwise, for all vWinσ¯(𝒢), Attrσ¯({v},𝒜)V and Player σ¯ doesn’t fully win 𝒢(VAttrσ¯({v},𝒜)).

Part 2 of the lemma assumes that Player σ for which c(V)σ does not fully win the game. With this assumption, the second part characterizes the condition when Player σ¯ fully wins the game; without this assumption, Part 2 does not hold true.

3 Recursive algorithms for deciding regular games

In this short section, our goal is to provide recursive algorithms that solve regular games. To do so we utilize Lemma 8. Naturally, we first start with a generic recursive algorithm that decides colored Muller games, see Figure 1. Lemma 8 guarantees correctness of the algorithm. Initially, the algorithm memorizes 𝒢 globally. Then the function SolveCMG(V) is called. The algorithm returns (Win0(𝒢(V)),Win1(𝒢(V))).

Global Storage: A colored Muller game 𝒢=(𝒜,c,(0,1))
Function: SolveCMG(V)
Input: A vertex set V with 𝒜(V) is an arena
Output: (Win0(𝒢(V)), Win1(𝒢(V)))
Let σ{0,1} such that c(V)σ;
for cc(V) do
     (W0,W1)SolveCMG(VAttrσ(c1(c),𝒜(V)))
     if WσVAttrσ(c1(c),𝒜(V)) then
      XAttrσ¯(Wσ¯,𝒜(V));
      (W0′′,W1′′)SolveCMG(VX);
      WσWσ′′, Wσ¯VWσ;
      return (W0, W1)
     end
end
WσV, Wσ¯;
return (W0, W1)
Figure 1: The recursive algorithm for colored Muller games.

A standard analysis of this algorithm produces running time O(|C||C||V||V|), see [16]. Our analysis below improves this by showing that the multiplicative factors |C||C| and |V||V| in this estimate can be replaced with |C|! and (|V||C|), respectively.

Lemma 11.

During the call of SolveCMG(V), the function SolveCMG is recursively called at most |C|!(|V||C|)|V| times.

Proof.

If |c(V)|=0, then no SolveCMG function is recursively called. Because 𝒜(V) is an arena, if SolveCMG(V) is called then |V|1. If |V|=2 then for all non-empty sets V′′V and σ{0,1}, Attrσ(V′′,𝒜(V))=V; hence, SolveCMG is recursively called |c(V)| times. If |c(V)|=1 then SolveCMG is recursively called for |c(V)| times.

Assume that |V|>2, |c(V)|>1, and for all V′′ with |V′′|<|V|, during the call of SolveCMG(V′′), the function SolveCMG is recursively called at most |c(V′′)|!(|V′′||c(V′′)|)|V′′| times. For each cc(V), the set VAttrσ(c1(c),𝒜(V)) has at most |V|1 vertices and |c(V)|1 colours. For cc(V) with Winσ(𝒢(VAttrσ(c1(c),𝒜(V))))VAttrσ(c1(c),𝒜(V)), we have Wσ¯=Winσ¯(𝒢(VAttrσ(c1(c),𝒜(V)))). Let X=Attrσ¯(Wσ¯,𝒜(V)). Since |Wσ¯|2, the set VX contains at most |V|2 vertices and |c(V)| colours. By hypothesis, during the call of SolveCMG(V), the function SolveCMG is recursively called at most

|c(V)|+1+|c(V)|(|c(V)|1)!(|V|1|c(V)|1)(|V|1)+|c(V)|!(|V|2|c(V)|)(|V|2)

times. This value is bounded from above by

|c(V)|+1+|c(V)|!(|V||c(V)|)(|V|1).

Now there are 2 cases:

  1. 1.

    |c(V)|=2: Then

    |c(V)|!(|V||c(V)|)|V|(|c(V)|+1+|c(V)|!(|V||c(V)|)(|V|1))
    = |c(V)|!(|V||c(V)|)|c(V)|12!(32)3=3
  2. 2.

    |c(V)|>2: Then

    |c(V)|!(|V||c(V)|)|V|(|c(V)|+1+|c(V)|!(|V||c(V)|)(|V|1))
    = |c(V)|!(|V||c(V)|)|c(V)|1|c(V)|!|c(V)|1>0

Therefore, during the call of SolveCMG(V), the function SolveCMG is recursively called at most |c(V)|!(|V||c(V)|)|V| times. By hypothesis, the proof is done.

Theorem 12.

There is an algorithm that, given colored Muller game 𝒢 computes Win0(𝒢) and Win1(𝒢) in time O(|C|!(|V||C|)|V||E|) and space O(|𝒢|+|C||V|).

Proof.

Consider the algorithm in Figure 1. Apply SolveCMG(V) to compute Win0(𝒢) and Win1(𝒢). The recursive depth of the algorithm is at most |C| and 𝒢 is memorized globally. In each iteration, only O(|V|) space is applied to memorize the vertex set. Therefore, the algorithm takes O(|𝒢|+|C||V|) space. By Lemma 11, the function SolveCMG is recursively called for at most |C|!(|V||C|)|V| times. We need to estimate the running time in two parts of the algorithm:

  • Part 1: The running time within the loop “for cc(V) do”. In each enumeration of the color c, there is a corresponding recursive call on SolveCMG. Every time when we have WσVAttrσ(c1(c),𝒜(V)), there is also a corresponding recursive call on SolveCMG. Since the function SolveCMG is recursively called for at most |C|!(|V||C|)|V| times, this part takes O(|C|!(|V||C|)|V||E|) time.

  • Part 2: The running time outside the loop “for cc(V) do”. As SolveCMG is recursively called for at most |C|!(|V||C|)|V| times, the running time bound for this part of the algorithm is also O((|C|!(|V||C|)|V|+1)|V|).

Therefore, the algorithm takes O(|C|!(|V||C|)|V||E|) time. Note that the correctness of the algorithm is provided by Lemma 8.

3.1 Application to Muller, Rabin and Streett games

Since Muller games are colored Muller games in which each vertex has its own color, there is also a recursive algorithm for computing winning regions of Muller games. In this case, Lemma 11 shows that the function SolveCMG is recursively called at most |V|!|V| times. Hence, Theorem 12 implies the next corollary:

Corollary 13.

There is a recurisve algorithm that, given Muller game 𝒢 computes Win0(𝒢) and Win1(𝒢) in time O(|V|!|V||E|) and space O(|𝒢|+|V|2).

Through this corollary, by transforming Rabin conditions into Muller conditions, we can also provide a recursive algorithm for deciding Rabin games. The algorithm is presented in Figure 2.

Theorem 14.

We have the following:

  1. 1.

    There exists an algorithm that, given Rabin or Streett game 𝒢, computes Win0(𝒢) and Win1(𝒢) in time O(|V|!|V|(|E|+k|V|)) and space O(|𝒢|+|V|2).

  2. 2.

    There exists an algorithm that, given KL game 𝒢 computes Win0(𝒢) and Win1(𝒢) in time O(|V|!|V|(|E|+t|V|)) and space O(|𝒢|+|V|2).

Proof.

Consider the algorithm above for Rabin games. We apply SolveRG(V) to compute Win0(𝒢) and Win1(𝒢). Compared with the recursive algorithm of Muller games, the algorithm only changes the computing of σ. Therefore, the function SolveRG is recursively called at most |V|!|V| times. Also each computation of σ takes O(|k||V|) time. By Corollary 13, the algorithm takes time O(|V|!|V|(|E|+k|V|)) and space O(|𝒢|+|V|2). For Streett games and KL games, similar arguments are applied.

Global Storage: A Rabin game 𝒢=(𝒜,(U1,V1),,(Uk,Vk))
Function: SolveRG(V)
Input: A vertex set V with 𝒜(V) is an arena
Output: (Win0(𝒢(V)), Win1(𝒢(V)))
If for all i{1,,k} we have VUiVVi then σ=1, otherwise σ=0.
for vV do
     (W0,W1)SolveRG(VAttrσ({v},𝒜(V)))
     if WσVAttrσ({v},𝒜(V)) then
      XAttrσ¯(Wσ¯,𝒜(V)), (W0′′,W1′′)SolveRG(VX);
      WσWσ′′, Wσ¯VWσ;
      return (W0, W1)
     end
end
WσV, Wσ¯;
return (W0, W1)
Figure 2: The recursive algorithm for Rabin games.

4 Dynamic programming algorithms for deciding regular games

In this section, we provide dynamic programming algorithms for all regular games. First, in Section 4.1 we provide a dynamic version of the recursive algorithm in Figure 3. Then in Sections 4.24.5, the next set of all dynamic algorithms for solving the regular games will utilize both Lemma 8 and Lemma 10.

Let 𝒢=(𝒜,c,(0,1)) be a colored Muller game where V={v1,v2,,vn}. We need to code subsets of V as binary strings. Therefore, we assign a n-bit binary number i to each non-empty pseudo-arena 𝒜(Si) in 𝒢 so that Si={vjthe jth bit of i is 1}. We will use this notation for all our algorithms in this section.

4.1 Algorithm 1 for Colored Muller Games

Consider the algorithm in Figure 3. This is a dynamic programming version of the recursive algorithm in Figure 1. The algorithm, given a colored Muller game 𝒢 as input, returns the collections Win0(𝒢) and Win1(𝒢). The correctness of the algorithm is guaranteed by both Lemma 8 and Lemma 10. Thus, we have the following theorem:

Theorem 15.

There is an algorithm that solves colored Muller games in time O(2|V||C||E|) and space O(|𝒢|+2|V||V|).

Proof.

We use the Algorithm 1 in Figure 3. Note that we apply the binary trees to maintain σs, W0 and W1. For each Si, the algorithm takes O(|C||E|) time to compute W0(Si) and W1(Si). Therefore, this algorithm runs in O(2|V||C||E|) time. Since σs, W0 and W1 are encoded by binary trees, the algorithm takes O(|𝒢|+2|V||V|) space.

Input: A colored Muller game 𝒢=(𝒜,c,(0,1))
Output: Win0(𝒢), Win1(𝒢)
W0, W1, W0(), W1();
for i=1 to 2n1 do
     Si{vjthe jth bit of i is 1};
     if 𝒜(Si) is not an arena then
      break;
     Let σ{0,1} such that c(Si)σ;
     is_win=true;
     for cc(Si) do
      YAttrσ(c1(c),𝒜(Si))
      if YSi and Wσ(SiY)SiY then
        is_win=false, XAttrσ¯(Wσ¯(SiY),𝒜(Si));
        Wσ(Si)Wσ(SiX), Wσ¯(Si)SiWσ(Si);
        break;
      end
     end
     if is_win=true then
      Wσ(Si)Si, Wσ¯(Si);
end
return W0(V) and W1(V)
Figure 3: Algorithm 1 for colored Muller games.

4.2 Algorithm 2 for Colored Muller Games

In this section, we utilize the concept of full win for the players, see Definition 7. The new dynamic algorithm, Algorithm 2, is presented in Figure 4. The algorithm takes colored Muller game 𝒢=(𝒜,c,(0,1)) as input. Lemma 10 guarantees correctness of the algorithm. During the running process, this dynamic algorithm partitions all subgames 𝒢(Si) into the following three collections of subsets of V:

  • P0={Sii[1,2n1] and Player 0 fully wins 𝒢(Si)},

  • P1={Sii[1,2n1] and Player 1 fully wins 𝒢(Si)}, and

  • Q={Sii[1,2n1] and no player fully wins 𝒢(Si)}.

Now we provide analysis of Algorithm 2 presented in Figure 4.

Lemma 16.

Algorithm 2 computes P0, P1 and Q for a colored Muller game in O(2|V||V||E|) time and O(|𝒢|+2|V|) space.

Proof.

We use the Algorithm 2 in Figure 4. Note that we apply the binary trees to maintain σs, P0, P1 and Q. For each Si, the algorithm takes O(|V||E|) time to determine the set to add Si. Therefore, this algorithm runs in O(2|V||V||E|) time. Since P0, P1 and Q are encoded by binary trees, the algorithm takes O(|𝒢|+2|V|) space.

Lemma 17.

Let 𝒜(X) and 𝒜(Y) be 1-traps. If Player 0 fully wins 𝒢(X) and 𝒢(Y) then Player 0 fully wins 𝒢(XY).

Proof.

We construct a winning strategy for Player 0 in 𝒢(XY) as follows.   If the token is in Attr0(X,𝒜(XY)), Player 0 forces the token into X and once the token arrives at X, Player 0 follows the winning strategy in 𝒢(X).  Otherwise, Player 0 follows the winning strategy in 𝒢(Y).

Lemma 18.

If for all SiP0, the arena 𝒜(Si) is not a 1-trap in 𝒢, then Win0(𝒢)= and Win1(𝒢)=V. Otherwise, let 𝒜(Smax) be the maximal 1-trap in 𝒢 so that SmaxP0. Then Win0(𝒢)=Smax and Win1(𝒢)=VSmax.

Proof.

For the first part of the lemma, assume that Win0(𝒢). Now note that 𝒜(Win0(𝒢)) is 1-trap such that Player 0 fully wins 𝒢(Win0(𝒢)). This contradicts with the assumption of the first part. For the second part, consider all 1-traps 𝒜(X) with XP0.   Player 0 fully wins the games 𝒢(X) in each of these 1-traps by definition of P0. By Lemma 17, Player 0 fully wins the union of these 1-traps. Clearly, this union is SmaxP0. Consider VSmax. This set determines a 0-trap. Suppose Player 1 does not win 𝒢(VSmax) fully. Then there exists a 1-trap 𝒜(Y) in game 𝒢(VSmax) such that Player 0 fully wins 𝒢(Y). For every Player 1 position in yY and outgoing edge (y,x) we have either xY or xSmax. This implies 𝒜(SmaxY) is 1-trap such that Player 0 fully wins 𝒢(SmaxY). So, SmaxY must be in P0. This contradicts with the choice of Smax. By Lemmas 16 and 18, we have proved the following theorem.

Theorem 19.

There exists an algorithm that decides the colored Muller games 𝒢 in time O(2|V||V||E|) and space O(|𝒢|+2|V|).  

Input: A colored Muller game 𝒢=(𝒜,c,(0,1))
Output: The partitioned sets P0, P1 and Q.
P0, P1, Q;
for i=1 to 2n1 do
     Si{vjthe jth bit of i is 1};
     if 𝒜(Si) is not an arena then
      break;
     Let σ{0,1} such that c(Si)σ;
     AllAttr0=true, AllAttr1=true;
     for cc(Si) do
      if Attrσ(c1(c),𝒜(Si))Si and SiAttrσ(c1(c),𝒜(Si))Pσ then
        AllAttrσ=false;
        break
      end
     if AllAttrσ=true then
      PσPσ{Si};
     else
      for vSi do
        if Attrσ¯({v},𝒜(Si))Si and SiAttrσ¯({v},𝒜(Si))Pσ¯ then
         AllAttrσ¯=false;
         break
        end
      if AllAttrσ¯=true then
        Pσ¯Pσ¯{Si};
      else
        QQ{Si};
      end
     end
end
return P0, P1 and Q
Figure 4: Algorithm 2 for partitioning subgames of a colored Muller game.

4.3 Applications to Muller and McNaughton games

It is not too hard to see that for Muller games and McNaughton games, we can easily recast the algorithms presented in Sections 4.1 and 4.2. Indeed, the transformation of Muller games to colored Muller games is obvious. Hence, by applying Theorem 19 to Muller games we get the following result:

Theorem 20.

There exists an algorithm that decides Muller game 𝒢 in time O(2|V||V||E|) and space O(|𝒢|+2|V|).  

The transformation of McNaughton games into colored Muller games is also easy. Each position v in W gets its own color, and all positions outside of W get the same new colour. Hence, we can apply both Theorems 15 and 19 to McNaughton games:

Theorem 21.

Each of the following is true:

  1. 1.

    There exists an algorithm that decides McNaughton games 𝒢 in O(2|V||W||E|) time and O(|𝒢|+2|V||V|) space.

  2. 2.

    There exists an algorithm that decides McNaughton games 𝒢 in O(2|V||V||E|) time and O(|𝒢|+2|V|) space.

4.4 Enumeration Lemma

This is an auxiliary section that will provide us with an enumeration technique. This technique will then be used in designing an algorithm to decide Rabin and Streett games by transforming these games into Muller games in a more efficient manner.

Let n be a natural number and 𝒮={b1,,bt} be a set of n-bit binary integers, where n is the size of the vertex set V={v1,,vn} of the arena. Each bi represents the characteristic function of the set ViV: bi(v)=1 iff vVi. We want to efficiently enumerate the collection 2V12Vt. Note that

2V12Vt={x[0,2n)b𝒮(x&b=x)},

where x is the binary integer of length at most n, and the operation & is the bitwise and operation. Later we will use our enumeration of the collection

𝒳={x[0,2n)b𝒮(x&b=x)}

to transform the KL condition into Muller condition.

Function: Enumerate(𝒮,n).
Input: 𝒮 and n where 𝒮 is a set of n-bit binary integers.
Output: 𝒳={x[0,2n)b𝒮(x&b=x)}.
if 𝒮= then
     return
if n=0 then
     return {0}
𝒮0, 𝒮1
for b𝒮 do
     if bmod2=0 then
      𝒮0𝒮0{b2}
     else
      𝒮0𝒮0{b12}, 𝒮1𝒮1{b12}
     end
end
𝒳0Enumerate(𝒮0,n1), 𝒳1Enumerate(𝒮1,n1), 𝒳
for x𝒳0 do
     𝒳𝒳{2x}
for x𝒳1 do
     𝒳𝒳{2x+1}
return 𝒳
Figure 5: Algorithm for Enumerate(𝒮,n).

Note that the brute-force algorithm that enumerates the collection 𝒳=2V12Vt runs in time O(2nt). In our enumeration we want to remove the dependence on t as t can be exponential on n. We apply the function Enumerate(𝒮,n) shown in Figure 5 and obtain the next lemma.

Lemma 22 (Enumeration Lemma).

Given the set 𝒮={b1,,bt} of n-bit binary integers, we can enumerate the collection 𝒳={x[0,2n)b𝒮(x&b=x)} in time O(2nn) and space O(2n).  

4.5 Applications to Rabin and Streett games

We can naturally transform Rabin games, Streett games, and KL games into Muller games, and then apply our dynamic algorithms from Section 4.3 to thus obtained Muller games. These transformations are the following:

  • For Rabin games and XV, if for i{1,,k} we have XUiXVi then X1, otherwise X0.

  • For Streett games and XV, if there is an i{1,,k} such that XUi and XVi=, then X1, otherwise X0.

  • For KL games and XV, if for i{1,,t} we have uiXXSi then X1, otherwise X0.

In these transformations one needs to be careful with the parameters k and t for Rabin and Streett games and KL games, respectively. They add additional running time costs, especially k and t can have exponential values in |V|. For instance, the direct translation of Rabin games to Muller games requires, for each pair (Ui,Vi) in the Rabin winning condition, to build the collection of sets X such that XUi and XVi=. The collection of all these sets X form the Muller condition set (0,1). As the index k is O(22|V|), the direct transformation above is expensive. Our goal is to analyze the transformations of Rabin games to Muller games.

We start with transforming KL games 𝒢=(𝒜,(u1,S1), ,(ut,St)) to Muller games. So, for the given 𝒢, we define the Muller game 𝒢 with (0,1) as follows:

X0 if for some pair (ui,Si) we have uiX and XSi, otherwise X1
Lemma 23.

The transformation from KL games 𝒢 to Muller games 𝒢 takes O(2|V||V|2) time and O(|𝒢|+2|V|) space.

Proof.

We apply the binary encoding so that for i[1,t], we have ui[0,n) and Si[0,2n). In the following, we apply binary trees to maintain sets of binary integers. We transform 𝒢 into the Muller game 𝒢=(𝒜,(0,1)) where we also apply the binary encoding so that 0={X[0,2n)there exists an i[1,t] so that the ui-th bit of X is 1 and X&Si=X} and 1={0,1,,2n1}0. Then let 𝒮i={Sjj[1,t] and uj=i} for i[0,n). By Lemma 22, for each i[0,n), we compute {X[0,2n)S𝒮iX&S=X} in time O(2nn) and space O(2n), and then compute {X[0,2n)the i-th bit of X is 1 and S𝒮iX&S=X} in time O(2n) by traversing the binary trees, checking and deleting subtrees at depth i. Since i[0,n){X[0,2n)the i-th bit of X is 1 and S𝒮iX&S=X}=0, we reuse O(2n) space for each i[0,n) and use another O(2n) space to record the prefix union results. Since 1 is computed from 0 in time O(2|V|) by computing the complement of the tree, this is a transformation from KL games to Muller games and the transformation takes O(2|V||V|2) time and O(|𝒢|+2|V|) space.

As an immediate corollary we get the following complexity-theoretic result for KL games.

Theorem 24.

There exists an algorithm that, given a KL game 𝒢, decides 𝒢 in O(2|V||V||E|) time and O(|𝒢|+2|V|) space.  

Now we transform Rabin games 𝒢 to Muller games. As we mentioned above, the direct translation to Muller games is costly. Our goal is to avoid this cost through KL games. The following lemma is easy:

Lemma 25.

Let XV and let (Ui,Vi) be a winning pair in Rabin game 𝒢. Set Yi=UiVi and Zi=VVi. Then XUi and XVi= if and only if XYi and XZi.

Thus, we can replace the winning condition (U1,V1),(Uk,Vk) in Rabin games with the equivalent winning condition (Y1,Z1),,(Yk,Zk). We still have Rabin winning condition but we use this new winning condition (Y1,Z1),,(Yk,Zk) to build the desired KL game:

Lemma 26.

The transformation from Rabin games 𝒢 to KL games takes time O(k|V|2) and space O(|𝒢|+2|V||V|).

Proof.

Enumerate all pairs (Ui,Vi), compute Yi=UiVi, Zi=VVi and add all pairs (uj,Sj) with ujYi and Sj=Zi into KL conditions. By applying binary trees, the transformation takes O(k|V|2) time and O(|𝒢|+2|V||V|) space. This preserves the winning sets W0 and W1.

Thus, the transformed KL games can be viewed as a compressed version of Rabin games.

Corollary 27.

The transformation from Rabin games 𝒢 to Muller games 𝒢 takes O((k+2|V|)|V|2) time and O(|𝒢|+2|V||V|) space.  

Note that deciding Rabin games is equivalent to deciding Streett games. Thus, combining the arguments above, we get the following complexity-theoretic result:

Theorem 28.

Rabin and Streett games 𝒢 can be decided in O((k|V|+2|V||E|)|V|) time and O(|𝒢|+2|V||V|) space.  

5 Conclusion

The algorithms presented in this work give rise to numerous questions that warrant further exploration. For instance, we know that explicitly given Muller games can be decided in polynomial time. Yet, we do not know if there are polynomial time algorithms that decide explicitly given McNaughton games. Another intriguing line of research is to investigate if there are exponential time algorithms that decide colored Muller games when the parameter |C| ranges in the interval [|V|,|V|/a], where a>1. It could also be very interesting to replace the factor 2|V| with 2|W| in the running time that decides McNaughton games. If this can be done, then one implies that the ETH is not applicable to McNaughton games as opposed to colored Muller games and Rabin games. In addition, this work could be extended to dynamic settings or experimental studies, as in [17, 25]. Its dynamic programming-style approach may also inspire new advances, akin to DP-assisted methods in games on graphs [29, 30, 31]. These all may uncover new insights and lead to even more efficient algorithms.

References

  • [1] Henrik Björklund, Sven Sandberg, and Sergei Vorobyov. On fixed-parameter complexity of infinite games. In The Nordic Workshop on Programming Theory (NWPT 2003), volume 34, pages 29–31. Citeseer, 2003.
  • [2] Hans L Bodlaender, Michael J Dinneen, and Bakhadyr Khoussainov. On game-theoretic models of networks. In International Symposium on Algorithms and Computation, pages 550–561. Springer, 2001. doi:10.1007/3-540-45678-3_47.
  • [3] Udi Boker. Why these automata types? In LPAR, volume 18, pages 143–163, 2018. doi:10.29007/C3BJ.
  • [4] Cristian S Calude, Sanjay Jain, Bakhadyr Khoussainov, Wei Li, and Frank Stephan. Deciding parity games in quasipolynomial time. In Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing, pages 252–263, 2017. STOC 2017 Best Paper Award. doi:10.1145/3055399.3055409.
  • [5] Antonio Casares, Thomas Colcombet, Nathanaël Fijalkow, and Karoliina Lehtinen. From muller to parity and rabin automata: Optimal transformations preserving (history) determinism. TheoretiCS, 3, 2024. doi:10.46298/THEORETICS.24.12.
  • [6] Antonio Casares, Marcin Pilipczuk, Michał Pilipczuk, Uéverton S Souza, and KS Thejaswini. Simple and tight complexity lower bounds for solving rabin games. In 2024 Symposium on Simplicity in Algorithms (SOSA), pages 160–167. SIAM, 2024.
  • [7] Laure Daviaud, Marcin Jurdziński, and KS Thejaswini. The strahler number of a parity game. In 47th International Colloquium on Automata, Languages, and Programming, ICALP 2020, page 123. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, 2020.
  • [8] Daniele Dell’Erba and Sven Schewe. Smaller progress measures and separating automata for parity games. Frontiers in Computer Science, 4:936903, 2022. doi:10.3389/FCOMP.2022.936903.
  • [9] Michael J Dinneen and Bakhadyr Khoussainov. Update networks and their routing strategies. In International Workshop on Graph-Theoretic Concepts in Computer Science, pages 127–136. Springer, 2000. doi:10.1007/3-540-40064-8_13.
  • [10] Michael J Dinneen and Bakhadyr Khoussainov. Update games and update networks. Journal of discrete Algorithms, 1(1):53–65, 2003. doi:10.1016/S1570-8667(03)00006-6.
  • [11] Stefan Dziembowski, Marcin Jurdzinski, and Igor Walukiewicz. How much memory is needed to win infinite games? In Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science, pages 99–110. IEEE, 1997. doi:10.1109/LICS.1997.614939.
  • [12] E Allen Emerson and Charanjit S Jutla. The complexity of tree automata and logics of programs. In FoCS, volume 88, pages 328–337, 1988.
  • [13] E Allen Emerson and Charanjit S Jutla. Tree automata, mu-calculus and determinacy. In FoCS, volume 91, pages 368–377. Citeseer, 1991.
  • [14] E Allen Emerson and Charanjit S Jutla. The complexity of tree automata and logics of programs. SIAM Journal on Computing, 29(1):132–158, 1999. doi:10.1137/S0097539793304741.
  • [15] John Fearnley, Sanjay Jain, Sven Schewe, Frank Stephan, and Dominik Wojtczak. An ordered approach to solving parity games in quasi polynomial time and quasi linear space. In Proceedings of the 24th ACM SIGSOFT International SPIN Symposium on Model Checking of Software, pages 112–121, 2017. doi:10.1145/3092282.3092286.
  • [16] Nathanaël Fijalkow, Nathalie Bertrand, Patricia Bouyer-Decitre, Romain Brenguier, Arnaud Carayol, John Fearnley, Hugo Gimbert, Florian Horn, Rasmus Ibsen-Jensen, Nicolas Markey, Benjamin Monmege, Petr Novotný, Mickael Randour, Ocan Sankur, Sylvain Schmitz, Olivier Serre, and Mateusz Skomra. Games on graphs, 2023. To be published by Cambridge University Press. Editor: Nathanaël Fijalkow. doi:10.48550/arXiv.2305.10546.
  • [17] Aniruddh Gandhi, Bakhadyr Khoussainov, and Jiamou Liu. Efficient algorithms for games played on trees with back-edges. Fundamenta Informaticae, 111(4):391–412, 2011. doi:10.3233/FI-2011-569.
  • [18] Erich Grädel, Wolfgang Thomas, and Thomas Wilke. Automata, logics, and infinite games. lncs, vol. 2500, 2002.
  • [19] Florian Horn. Streett games on finite graphs. In Proc. 2nd Workshop Games in Design Verification (GDV). Citeseer, 2005.
  • [20] Florian Horn. Explicit muller games are ptime. In IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2008.
  • [21] Paul Hunter and Anuj Dawar. Complexity bounds for muller games. Theoretical Computer Science (TCS), 2008.
  • [22] Hajime Ishihara and Bakhadyr Khoussainov. Complexity of some infinite games played on finite graphs. In International Workshop on Graph-Theoretic Concepts in Computer Science, pages 270–281. Springer, 2002. doi:10.1007/3-540-36379-3_24.
  • [23] Marcin Jurdziński and Ranko Lazić. Succinct progress measures for solving parity games. In 2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), pages 1–9. IEEE, 2017.
  • [24] Bakhadyr Khoussainov. Finite state strategies in one player mcnaughton games. In International Conference on Discrete Mathematics and Theoretical Computer Science, pages 203–214. Springer, 2003. doi:10.1007/3-540-45066-1_16.
  • [25] Bakhadyr Khoussainov, Jiamou Liu, and Imran Khaliq. A dynamic algorithm for reachability games played on trees. In Mathematical Foundations of Computer Science 2009: 34th International Symposium, MFCS 2009, Novy Smokovec, High Tatras, Slovakia, August 24-28, 2009. Proceedings 34, pages 477–488. Springer, 2009. doi:10.1007/978-3-642-03816-7_41.
  • [26] Bakhadyr Khoussainov and Anil Nerode. Automata theory and its applications, volume 21. Springer Science & Business Media, 2012.
  • [27] Karoliina Lehtinen. A modal μ perspective on solving parity games in quasi-polynomial time. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, pages 639–648, 2018. doi:10.1145/3209108.3209115.
  • [28] Zihui Liang, Bakh Khoussainov, Toru Takisaka, and Mingyu Xiao. Connectivity in the presence of an opponent. In 31st Annual European Symposium on Algorithms (ESA 2023). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023.
  • [29] Zihui Liang, Bakh Khoussainov, and Mingyu Xiao. Network control games played on graphs. Theoretical Computer Science, page 115123, 2025. doi:10.1016/J.TCS.2025.115123.
  • [30] Zihui Liang, Bakh Khoussainov, and Haidong Yang. Topological network-control games. In International Computing and Combinatorics Conference, pages 144–156. Springer, 2023. doi:10.1007/978-3-031-49193-1_11.
  • [31] Zihui Liang, Bakh Khoussainov, and Haidong Yang. Topological network-control games played on graphs. In International Computing and Combinatorics Conference, pages 15–26. Springer, 2024. doi:10.1007/978-981-96-1093-8_2.
  • [32] Rupak Majumdar, Irmak Sağlam, and KS Thejaswini. Rabin games and colourful universal trees. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 213–231. Springer, 2024.
  • [33] Robert McNaughton. Infinite games played on finite graphs. Annals of Pure and Applied Logic, 65(2):149–184, 1993. doi:10.1016/0168-0072(93)90036-D.
  • [34] Daniel Neider, Roman Rabinovich, and Martin Zimmermann. Down the borel hierarchy: Solving muller games via safety games. Theoretical Computer Science, 560:219–234, 2014. doi:10.1016/J.TCS.2014.01.017.
  • [35] Anil Nerode, Jeffrey B Remmel, and Alexander Yakhnis. Mcnaughton games and extracting strategies for concurrent programs. Annals of Pure and Applied Logic, 78(1-3):203–242, 1996. doi:10.1016/0168-0072(95)00032-1.
  • [36] Paweł Parys. Parity games: Zielonka’s algorithm in quasi-polynomial time. In 44th International Symposium on Mathematical Foundations of Computer Science (MFCS 2019). Schloss-Dagstuhl-Leibniz Zentrum für Informatik, 2019. MFCS 2019 Best Paper Award.
  • [37] Nir Piterman and Amir Pnueli. Faster solutions of rabin and streett games. In 21st Annual IEEE Symposium on Logic in Computer Science (LICS’06), pages 275–284. IEEE, 2006. doi:10.1109/LICS.2006.23.
  • [38] Michael Oser Rabin. Automata on infinite objects and Church’s problem, volume 13. American Mathematical Soc., 1972.
  • [39] Wieslaw Zielonka. Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theoretical Computer Science, 200(1-2):135–183, 1998. doi:10.1016/S0304-3975(98)00009-7.