• No se han encontrado resultados

CAPÍTULO 4. Implementación y Prueba

4.5 Conclusiones

The divide-and-conquer algorithm from Section 3.3.1 solves parity games in time O(m· (n/d)d) = O(nd+O(1)), and if d = Ω(n(1/2)+ε) then the dovetail-ing algorithm from Section 3.3.2 improves it to nO(n). In this section we present an altogether different algorithm, called the progress measure lifting algorithm, that runs in time O(dm· (n/(d/2))d/2) = O(nd/2+O(1)), which is better than either of the other two algorithms if d = O(√

n).

The design of the progress measure lifting algorithm is based on the concept of a progress measure that is a labelling of vertices in a parity game, which witnesses the existence of a positional dominion strategy in a parity game. Let p : V → { 1, 2, . . . , d } be a priority function, and without loss of generality, assume that d is even. In what follows we identify a function ξ : V → Nd/2 with a sequence of functions ξd−1, . . . , ξ3, ξ1: V → N, and hence ξ(v) = (ξd−1(v), . . . , ξ3(v), ξ1(v)) for every v∈ V . For a number q ∈ { 1, 2, . . . , d }, we write ξ[q](v) for the tuple (ξd−1(v), . . . , ξq+2(v), ξq(v)) if q is odd, and for the tuple (ξd−1(v), . . . , ξq+3(v), ξq+1(v)) if q is even. We use the lexicographic order for comparisons between tuples of numbers, e.g., (2, 3, 0) > (2, 2, 4) holds, but (4, 0, 2, 1)≤ (4, 0, 1, 6) does not.

We say that a function ξ : V → Nd/2 is a parity progress measure if for every edge (v, w)∈ E, we have that ξ[p(v)](v)≥ ξ[p(v)](w), and if p(v) is odd then the inequality is strict. Observe that an equivalent definition of a parity progress measure requires that for every vertex v ∈ V , we have that ξ[p(v)](v) ≥ max(v,w)∈Eξ[p(v)](w), and if p(v) is odd then the inequality is strict, where the maxima are taken with respect to the lexicographic order.

Exercise 3.16 Let ξ : V → Nd/2 be a parity progress measure and let q ∈ { 1, 3, . . . , d − 1 }. Argue that on every infinite path, starting from an arbitrary vertex v ∈ V , the number of vertices of the odd priority q that occur before an occurrence of a vertex of priority bigger than q is bounded from above by ξq(v). Conclude that for every infinite path, the maximum vertex priority that occurs infinitely many times is even.

We say that a function ξ : V → Nd/2is a game parity progress measure if for every vertex v∈ V , the following conditions hold:

if v∈ V0, then ξ[p(v)](v)≥ min(v,w)∈Eξ[p(v)](w), and if p(v) is odd then the inequality is strict;

and

if v ∈ V1, then ξ[p(v)](v)≥ max(v,w)∈Eξ[p(v)](w), and if p(v) is odd then the inequality is strict.

Algorithms for Solving Parity Games 89 Exercise 3.17 Let ξ : V → Nd/2 be a game parity progress measure.

Consider the positional strategy μ for player 0 that maps every vertex v∈ V0

to a successor w that minimises ξ[p(v)](w).

Use Exercise 3.16 to argue that for every infinite path in the strategy subgraph of μ, the maximum vertex priority that occurs infinitely many times is even. Conclude that the positional strategy μ is winning for player 0 from every starting vertex.

The above exercise establishes that the existence of a game parity progress measure in a parity game G implies that player 0 has a positional winning strategy from every starting vertex, and hence that win0(G) = V . The following slight refinement of the concept of a game parity progress measure gives us a more flexible tool for witnessing the existence of 0-dominion strategies on arbitrary 0-dominions.

For every positive integer i, consider an extension of the set of i-tuples of numbers by the top element that is strictly bigger than every i-tuple.

Moreover, let us adopt the notational convention that if ξ : V → Nd/2∪ {  } then ξ(v) = implies that ξ[q](v) = for every q. We say that a function ξ : V → Nd/2∪ {  } is a (partial) game parity progress measure if for every vertex v∈ V , we have:

if v∈ V0 and ξ(v)= , then ξ[p(v)](v)≥ min(v,w)∈Eξ[p(v)](w),

and if p(v) is odd then the inequality is strict; (3.4) and

if v∈ V1 and ξ(v)= , then ξ[p(v)](v)≥ max(v,w)∈Eξ[p(v)](w),

and if p(v) is odd then the inequality is strict. (3.5) For a game parity progress measure ξ : V → Nd/2∪ {  }, we write dom(ξ) for the domain of function ξ, i.e., the set ξ−1(Nd/2) of the vertices for which the value of function ξ is not.

Exercise 3.18 Let ξ : V → Nd/2∪{  } be a game parity progress measure.

Prove that the set dom(ξ) is a dominion by exhibiting a positional 0-dominion strategy on dom(ξ). Conclude that if ξ : V → Nd/2∪{  } is a game parity progress measure on a parity game G then dom(ξ)⊆ win0(G).

Exercise 3.18 implies that the existence of a game parity progress measure with a non-empty domain is a sufficient condition for the existence of a 0-dominion strategy. In the following we establish that this condition is also necessary. Moreover, we argue that the range of a game parity progress measure can be bounded by a function of the size of a 0-dominion for which

90 Marcin Jurdzi´nski

it serves as a witness. The explicit bound obtained plays a key role in the design and analysis of the (game parity) progress measure lifting algorithm.

For a set D⊆ V and for every odd q, let nDq be the number of vertices of priority q in D, and let MD be the set of tuples (xd−1, . . . , x3, x1)∈ Nd/2, such that xq∈ { 0, 1, . . . , nDq }. For simplicity, we write nqfor the number nVq of vertices of priority q in the whole game graph. Note that the set MD∪{  } is totally ordered by the lexicographic order.

Exercise 3.19 Assume that D⊆ V is a 0-dominion. Prove that there is a game parity progress measure ξ : V → MD∪ {  }, such that D ⊆ dom(ξ).

One way to approach this task is to first invoke positional determinacy of parity games, and then to formalise the insight that the bounds, considered in Exercise 3.16, for the numbers of occurrences of vertices of an odd priority q before a vertex of priority higher than q occurs, can be ‘optimised’ not to exceed nDq . Another approach is to construct a progress measure ξ : D→ MD

by induction on the size of D, similar to that employed in the design and the proof of correctness of algorithm parity-win(G).

We now use the insight from Exercise 3.19, that game parity progress measures with ‘small’ ranges exist, to devise an efficient algorithm for finding such progress measures, and hence for finding 0-dominions if any exist. In fact, we argue that the pointwise-lexicographic least game parity progress measure ξ exists, and that its domain dom(ξ) is the greatest possible, i.e., dom(ξ) = win0(G). Moreover, the algorithm com-putes this pointwise-lexicographic least progress measure, and it returns the pair (win0(G), win1(G)) of the winning sets of both players. The algorithm progress-measure-lifting(G), shown in Figure 3.4 can be viewed as a value iteration procedure that computes the least solution ξ of the system of constraints expressed by conditions (3.4) and (3.5).

algorithm progress-measure-lifting(G)

for all v∈ V do ξ(v) ← (0, 0, . . . , 0) ∈ Nd/2 while ξ < lift(ξ, v) for some v∈ V

do ξ← lift(ξ, v) endwhile

return (dom(ξ), V \ dom(ξ))

Figure 3.4 The progress measure lifting algorithm for parity games

The algorithm progress-measure-lifting(G) uses operators lift(·, v), for all

Algorithms for Solving Parity Games 91 v∈ V . In order to define this family of operators we recall the definition of the set MD, and observe that MD ⊆ MV for every D ⊆ V . In particular, the latter holds for D = win0(G) and hence, by Exercise 3.19, there is a game parity progress measure ξ : V → MV ∪ {  }, such that dom(ξ) = win0(G). For a function ξ : V → MV ∪ {  } and a vertex w ∈ V , we define lift(ξ, w) = ξ(w) if w= v, and we set lift(ξ, v) to be the least element of MV ∪{  } that makes the thus-defined function lift(ξ,·) : V → MV∪{  } satisfy the condition (3.4) or (3.5), respectively, at v.

The condition ξ < lift(ξ, v) of the while-loop in the algorithm progress-measure-lifting(G) uses the strict inequality symbol < to compare functions.

It should be interpreted as the pointwise-lexicographic order , in which for every vertex the lexicographic order on MV is used, and for the strict pointwise-lexicographic inequality to hold it suffices that the strict lexico-graphic inequality holds for at least one vertex.

Exercise 3.20 Argue that for all v∈ V , the operator lift(·, v) is monotone with respect to the pointwise-lexicographic order. Use the Knaster–Tarski theorem for complete lattices to conclude that the least game parity progress measure ξ exists in every parity game, and that the while-loop in algorithm progress-measure-lifting(G) computes it.

Conclude that win0(G) = dom(ξ), and hence that the algorithm progress-measure-lifting(G) is correct.

Finally, we analyse the worst-case running time of algorithm progress-measure-lifting(G). The key element of the analysis of the algorithm is an upper bound on the size of the set MV.

Exercise 3.21 Prove that |MV| =

q∈{ 1,3,...,d−1 }(nq+ 1)≤ (n/(d/2))d/2. Provide implementation details of the algorithm progress-measure-lifting(G) that make its worst-case running time O(dm· (n/(d/2))d/2). In order to establish this worst-case running time bound, use the property that the sum of all vertex out-degrees in a directed graph is O(m), and that lexicographic comparison of (d/2)-tuples of numbers can be carried out in time O(d).

Theorem 3.9 (Browne et al. [1997], Seidl [1996], Jurdzi´nski [2000]) The winning sets and positional winning strategies of both players in parity games can be computed in time O(dm· (n/(d/2))d/2) = O(nd/2+O(1)).

92 Marcin Jurdzi´nski

3.3.4 Divide and conquer with dominion preprocessing by

Documento similar