solving parity games - iitg.ac.in · madhavan mukund solving parity games. parity games two...

93
Solving parity games Madhavan Mukund Chennai Mathematical Institute http://www.cmi.ac.in/˜ madhavan Formal Methods Update 2006, IIT Guwahati 4 July 2006 Madhavan Mukund Solving parity games

Upload: others

Post on 24-May-2020

15 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solving parity games

Madhavan Mukund

Chennai Mathematical Institute

http://www.cmi.ac.in/˜madhavan

Formal Methods Update 2006, IIT Guwahati4 July 2006

Madhavan Mukund Solving parity games

Page 2: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Outline

Parity games

An efficient algorithm for solving parity games [Jurdzinski]

Solving parity games through strategy improvement[Jurdzinski and Voge]

Madhavan Mukund Solving parity games

Page 3: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Madhavan Mukund Solving parity games

Page 4: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Madhavan Mukund Solving parity games

Page 5: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Player 0 plays from V0, player 1 from V1

Madhavan Mukund Solving parity games

Page 6: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Player 0 plays from V0, player 1 from V1

From every position, at least one move is possible

Madhavan Mukund Solving parity games

Page 7: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Player 0 plays from V0, player 1 from V1

From every position, at least one move is possible

c : V → N assigns a colour to each position

Madhavan Mukund Solving parity games

Page 8: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Player 0 plays from V0, player 1 from V1

From every position, at least one move is possible

c : V → N assigns a colour to each position

Player 0 wins an infinite play if it satifies the parity winningcondition

Madhavan Mukund Solving parity games

Page 9: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Player 0 plays from V0, player 1 from V1

From every position, at least one move is possible

c : V → N assigns a colour to each position

Player 0 wins an infinite play if it satifies the parity winningcondition

Max-parity: largest colour that occurs infinitely often inthe play is even

Madhavan Mukund Solving parity games

Page 10: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity games

Two players, 0 and 1

Game graph G = (V, E), V = V0 ⊎ V1

Player 0 plays from V0, player 1 from V1

From every position, at least one move is possible

c : V → N assigns a colour to each position

Player 0 wins an infinite play if it satifies the parity winningcondition

Max-parity: largest colour that occurs infinitely often inthe play is even

Min-parity: smallest colour that occurs infinitely often inthe play is even

Madhavan Mukund Solving parity games

Page 11: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Memoryless determinacy for parity games

Theorem

The set of positions of a parity game can be partitioned as W0,from where player 0 wins with a memoryless strategy, and W1,from where player 1 wins with a memoryless strategy.

Can identify W0 and W1 recursively, using 0-paradises and1-paradises

Madhavan Mukund Solving parity games

Page 12: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Memoryless determinacy for parity games

Theorem

The set of positions of a parity game can be partitioned as W0,from where player 0 wins with a memoryless strategy, and W1,from where player 1 wins with a memoryless strategy.

Can identify W0 and W1 recursively, using 0-paradises and1-paradises

Complexity is O(mnd)

Madhavan Mukund Solving parity games

Page 13: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Memoryless determinacy for parity games

Theorem

The set of positions of a parity game can be partitioned as W0,from where player 0 wins with a memoryless strategy, and W1,from where player 1 wins with a memoryless strategy.

Can identify W0 and W1 recursively, using 0-paradises and1-paradises

Complexity is O(mnd)

m edges, n states, largest colour d

Madhavan Mukund Solving parity games

Page 14: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Memoryless determinacy for parity games

Theorem

The set of positions of a parity game can be partitioned as W0,from where player 0 wins with a memoryless strategy, and W1,from where player 1 wins with a memoryless strategy.

Can identify W0 and W1 recursively, using 0-paradises and1-paradises

Complexity is O(mnd)

m edges, n states, largest colour d

Can we identify W0 and W1 more efficiently?

Madhavan Mukund Solving parity games

Page 15: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solitaire games

Observation If both players play by memoryless strategy, eachinfinite play is a finite prefix followed by a simple loop

5 6 3 0 4 2

Madhavan Mukund Solving parity games

Page 16: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solitaire games

Observation If both players play by memoryless strategy, eachinfinite play is a finite prefix followed by a simple loop

5 6 3 0 4 2

Let f0 be a strategy for Player 0

Madhavan Mukund Solving parity games

Page 17: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solitaire games

Observation If both players play by memoryless strategy, eachinfinite play is a finite prefix followed by a simple loop

5 6 3 0 4 2

Let f0 be a strategy for Player 0

f0 is closed for a set of positions X if all plays that start in Xthat are consistent with f0 stay in X

Madhavan Mukund Solving parity games

Page 18: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solitaire games

Observation If both players play by memoryless strategy, eachinfinite play is a finite prefix followed by a simple loop

5 6 3 0 4 2

Let f0 be a strategy for Player 0

f0 is closed for a set of positions X if all plays that start in Xthat are consistent with f0 stay in X

Remove all moves not consistent with f0 to get a solitairegame for Player 1

Madhavan Mukund Solving parity games

Page 19: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solitaire games

Observation If both players play by memoryless strategy, eachinfinite play is a finite prefix followed by a simple loop

5 6 3 0 4 2

Let f0 be a strategy for Player 0

f0 is closed for a set of positions X if all plays that start in Xthat are consistent with f0 stay in X

Remove all moves not consistent with f0 to get a solitairegame for Player 1

Odd/even cycle—simple cycle in solitaire game with minimumcolour odd/even

Madhavan Mukund Solving parity games

Page 20: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Solitaire games

Observation If both players play by memoryless strategy, eachinfinite play is a finite prefix followed by a simple loop

5 6 3 0 4 2

Let f0 be a strategy for Player 0

f0 is closed for a set of positions X if all plays that start in Xthat are consistent with f0 stay in X

Remove all moves not consistent with f0 to get a solitairegame for Player 1

Odd/even cycle—simple cycle in solitaire game with minimumcolour odd/even

Lemma

f0 closed on X wins from all states in X iff all simple cycles in thegame restricted to X are even.

Madhavan Mukund Solving parity games

Page 21: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures

For a game with d colours, assign a d+1-tupleρ(v) = (n0, n1, . . . , nd) to each position

Madhavan Mukund Solving parity games

Page 22: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures

For a game with d colours, assign a d+1-tupleρ(v) = (n0, n1, . . . , nd) to each position

Compare d-tuples lexicographically(x0, . . . , xd) ≥i (y0, . . . , yd) : lexicographic comparison usingfirst i components

Madhavan Mukund Solving parity games

Page 23: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures

For a game with d colours, assign a d+1-tupleρ(v) = (n0, n1, . . . , nd) to each position

Compare d-tuples lexicographically(x0, . . . , xd) ≥i (y0, . . . , yd) : lexicographic comparison usingfirst i components

Parity progress measureFor each edge v → w

c(v) even ⇒ ρ(v) ≥c(v) ρ(w)c(v) odd ⇒ ρ(v) >c(v) ρ(w)

Madhavan Mukund Solving parity games

Page 24: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures

For a game with d colours, assign a d+1-tupleρ(v) = (n0, n1, . . . , nd) to each position

Compare d-tuples lexicographically(x0, . . . , xd) ≥i (y0, . . . , yd) : lexicographic comparison usingfirst i components

Parity progress measureFor each edge v → w

c(v) even ⇒ ρ(v) ≥c(v) ρ(w)c(v) odd ⇒ ρ(v) >c(v) ρ(w)

Lemma

If a solitaire game admits a parity progress measure, then everysimple cycle in the game is even.

Madhavan Mukund Solving parity games

Page 25: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Madhavan Mukund Solving parity games

Page 26: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

Madhavan Mukund Solving parity games

Page 27: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

For each even i, ni = 0

Madhavan Mukund Solving parity games

Page 28: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

For each even i, ni = 0For each odd i, define ni as follows:

Madhavan Mukund Solving parity games

Page 29: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

For each even i, ni = 0For each odd i, define ni as follows:

Consider all infinite paths from v with minimum colour i. Setni to maximum number of times i appears along all suchpaths.

Madhavan Mukund Solving parity games

Page 30: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

For each even i, ni = 0For each odd i, define ni as follows:

Consider all infinite paths from v with minimum colour i. Setni to maximum number of times i appears along all suchpaths.

ni may be set to 0 or ∞!

Madhavan Mukund Solving parity games

Page 31: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

For each even i, ni = 0For each odd i, define ni as follows:

Consider all infinite paths from v with minimum colour i. Setni to maximum number of times i appears along all suchpaths.

ni may be set to 0 or ∞!

Let Vi be set of positions coloured i

Claim 1 Let ρ(v) = (n0, n1, . . . , nd).For odd i, ni ≤ |Vi + 1|.

Madhavan Mukund Solving parity games

Page 32: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Construct ρ : v 7→ (n0, n1, . . . , nd) (assume that d is odd)

For each even i, ni = 0For each odd i, define ni as follows:

Consider all infinite paths from v with minimum colour i. Setni to maximum number of times i appears along all suchpaths.

ni may be set to 0 or ∞!

Let Vi be set of positions coloured i

Claim 1 Let ρ(v) = (n0, n1, . . . , nd).For odd i, ni ≤ |Vi + 1|.

Claim 2 ρ(v) is a parity progress measure.

Madhavan Mukund Solving parity games

Page 33: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

Madhavan Mukund Solving parity games

Page 34: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

We have ρ : v 7→ (n0, n1, . . . , nd) such thatn0 = n2 = · · · = nd−1 = 0 and, for odd i, ni ≤ |Vi|(recall that we assume d is odd)

Madhavan Mukund Solving parity games

Page 35: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Parity progress measures . . .

Lemma

If every simple cycle in a solitaire game is even, we can construct asmall parity progress measure.

We have ρ : v 7→ (n0, n1, . . . , nd) such thatn0 = n2 = · · · = nd−1 = 0 and, for odd i, ni ≤ |Vi|(recall that we assume d is odd)

Range of ρ is M whereM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}

Madhavan Mukund Solving parity games

Page 36: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

Madhavan Mukund Solving parity games

Page 37: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Madhavan Mukund Solving parity games

Page 38: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Construct ρ : v 7→ M⊤ so that

Madhavan Mukund Solving parity games

Page 39: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Construct ρ : v 7→ M⊤ so that

If v ∈ V0, for some v → w, ρ(v) ≥c(v) ρ(w)

Madhavan Mukund Solving parity games

Page 40: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Construct ρ : v 7→ M⊤ so that

If v ∈ V0, for some v → w, ρ(v) ≥c(v) ρ(w)

If v ∈ V1, for every v → w, ρ(v) >c(v) ρ(w),unless ρ(v) = ρ(w) = ⊤

Madhavan Mukund Solving parity games

Page 41: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Construct ρ : v 7→ M⊤ so that

If v ∈ V0, for some v → w, ρ(v) ≥c(v) ρ(w)

If v ∈ V1, for every v → w, ρ(v) >c(v) ρ(w),unless ρ(v) = ρ(w) = ⊤

A trivial game progress measure assigns ⊤ everywhere.

Madhavan Mukund Solving parity games

Page 42: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Construct ρ : v 7→ M⊤ so that

If v ∈ V0, for some v → w, ρ(v) ≥c(v) ρ(w)

If v ∈ V1, for every v → w, ρ(v) >c(v) ρ(w),unless ρ(v) = ρ(w) = ⊤

A trivial game progress measure assigns ⊤ everywhere.

Let ‖ρ‖ = {v | ρ(v) 6= ⊤}

Madhavan Mukund Solving parity games

Page 43: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures

From parity progress measures on solitaire games to gameprogress measures on full game graph

ExtendM = {0} × {0, . . . , |V1|} × {0} × · · · × {0, . . . , |Vd|}by adding a new element ⊤ bigger than all elements in M

Construct ρ : v 7→ M⊤ so that

If v ∈ V0, for some v → w, ρ(v) ≥c(v) ρ(w)

If v ∈ V1, for every v → w, ρ(v) >c(v) ρ(w),unless ρ(v) = ρ(w) = ⊤

A trivial game progress measure assigns ⊤ everywhere.

Let ‖ρ‖ = {v | ρ(v) 6= ⊤}

Our aim is to find ρ such that ‖ρ‖ is maximized.

Madhavan Mukund Solving parity games

Page 44: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures . . .

Given ρ, define the strategy fρ0 that chooses for each position

v the successor w with minimum ρ(w)

Madhavan Mukund Solving parity games

Page 45: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures . . .

Given ρ, define the strategy fρ0 that chooses for each position

v the successor w with minimum ρ(w)

Lemma

fρ0 wins in the subgame defined by ‖ρ‖

Madhavan Mukund Solving parity games

Page 46: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures . . .

Given ρ, define the strategy fρ0 that chooses for each position

v the successor w with minimum ρ(w)

Lemma

fρ0 wins in the subgame defined by ‖ρ‖

Lemma

There is a game progress measure ρ such that ‖ρ‖ is the winningregion for Player 0.

Madhavan Mukund Solving parity games

Page 47: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Game progress measures . . .

Given ρ, define the strategy fρ0 that chooses for each position

v the successor w with minimum ρ(w)

Lemma

fρ0 wins in the subgame defined by ‖ρ‖

Lemma

There is a game progress measure ρ such that ‖ρ‖ is the winningregion for Player 0.

Player 0 has a memoryless winning strategy f0 with winningset W0. The solitaire game over W0 defined by f0 has onlyeven cycles ⇒ we can assign a parity progress measure overW0, which lifts to a game progress measure ρ withW0 = ‖ρ‖.

Madhavan Mukund Solving parity games

Page 48: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Define an operator Lift(ρ, v) that updates ρ at v

Lift(ρ, v)(u) =

ρ(u), if u 6= vmax{ρ(v), minv→w Dom(ρ, v, w)}, if u = v ∈ V0

max{ρ(v), maxv→w Dom(ρ, v, w)}, if u = v ∈ V1

where Dom(ρ, v, w) is the smallest value m ∈ M⊤ such that

Madhavan Mukund Solving parity games

Page 49: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Define an operator Lift(ρ, v) that updates ρ at v

Lift(ρ, v)(u) =

ρ(u), if u 6= vmax{ρ(v), minv→w Dom(ρ, v, w)}, if u = v ∈ V0

max{ρ(v), maxv→w Dom(ρ, v, w)}, if u = v ∈ V1

where Dom(ρ, v, w) is the smallest value m ∈ M⊤ such that

m ≥c(v) ρ(w), if v ∈ V0

Madhavan Mukund Solving parity games

Page 50: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Define an operator Lift(ρ, v) that updates ρ at v

Lift(ρ, v)(u) =

ρ(u), if u 6= vmax{ρ(v), minv→w Dom(ρ, v, w)}, if u = v ∈ V0

max{ρ(v), maxv→w Dom(ρ, v, w)}, if u = v ∈ V1

where Dom(ρ, v, w) is the smallest value m ∈ M⊤ such that

m ≥c(v) ρ(w), if v ∈ V0

m >c(v) ρ(w) or m = ρ(w) = ⊤, if v ∈ V1

Madhavan Mukund Solving parity games

Page 51: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Define an operator Lift(ρ, v) that updates ρ at v

Lift(ρ, v)(u) =

ρ(u), if u 6= vmax{ρ(v), minv→w Dom(ρ, v, w)}, if u = v ∈ V0

max{ρ(v), maxv→w Dom(ρ, v, w)}, if u = v ∈ V1

where Dom(ρ, v, w) is the smallest value m ∈ M⊤ such that

m ≥c(v) ρ(w), if v ∈ V0

m >c(v) ρ(w) or m = ρ(w) = ⊤, if v ∈ V1

Lift tries to raise the measure of each position in V0 above atleast one neighbour and each position in V1 strictly above allneighbours

Madhavan Mukund Solving parity games

Page 52: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

Madhavan Mukund Solving parity games

Page 53: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

ρ : V → M⊤ is a game progress measure iff Lift(ρ, v) ⊑ ρ

for each v

Madhavan Mukund Solving parity games

Page 54: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

ρ : V → M⊤ is a game progress measure iff Lift(ρ, v) ⊑ ρ

for each v

Can compute simultaneous fixed point of all Lift(ρ, v)iteratively

Madhavan Mukund Solving parity games

Page 55: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

ρ : V → M⊤ is a game progress measure iff Lift(ρ, v) ⊑ ρ

for each v

Can compute simultaneous fixed point of all Lift(ρ, v)iteratively

Initialize Lift(ρ, v) = (0, . . . , 0) for all v

Madhavan Mukund Solving parity games

Page 56: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

ρ : V → M⊤ is a game progress measure iff Lift(ρ, v) ⊑ ρ

for each v

Can compute simultaneous fixed point of all Lift(ρ, v)iteratively

Initialize Lift(ρ, v) = (0, . . . , 0) for all vSo long as ρ < Lift(ρ, v) for some v, set ρ = Lift(ρ, v)

Madhavan Mukund Solving parity games

Page 57: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

ρ : V → M⊤ is a game progress measure iff Lift(ρ, v) ⊑ ρ

for each v

Can compute simultaneous fixed point of all Lift(ρ, v)iteratively

Initialize Lift(ρ, v) = (0, . . . , 0) for all vSo long as ρ < Lift(ρ, v) for some v, set ρ = Lift(ρ, v)

Computation takes space O(dn log n)

To describe ρ, for each of n positions, store an element ofM⊤—d numbers in the range {0, . . . , n}, hence n · d · log n

Madhavan Mukund Solving parity games

Page 58: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Computing game progress measures

Lift(ρ, v) is monotone for each v

ρ : V → M⊤ is a game progress measure iff Lift(ρ, v) ⊑ ρ

for each v

Can compute simultaneous fixed point of all Lift(ρ, v)iteratively

Initialize Lift(ρ, v) = (0, . . . , 0) for all vSo long as ρ < Lift(ρ, v) for some v, set ρ = Lift(ρ, v)

Computation takes space O(dn log n)

To describe ρ, for each of n positions, store an element ofM⊤—d numbers in the range {0, . . . , n}, hence n · d · log n

Computation takes time O(d · m ·(

n⌊d/2⌋

)⌊d/2⌋)

Analysis is a bit complicated

Madhavan Mukund Solving parity games

Page 59: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Madhavan Mukund Solving parity games

Page 60: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Madhavan Mukund Solving parity games

Page 61: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Optimal valuations correspond to winning strategies

Madhavan Mukund Solving parity games

Page 62: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Optimal valuations correspond to winning strategies

If a valuation is not optimal for either player, improve it to geta better strategy

Madhavan Mukund Solving parity games

Page 63: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Optimal valuations correspond to winning strategies

If a valuation is not optimal for either player, improve it to geta better strategy

Iteratively converge to an optimal (winning) strategy

Madhavan Mukund Solving parity games

Page 64: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Optimal valuations correspond to winning strategies

If a valuation is not optimal for either player, improve it to geta better strategy

Iteratively converge to an optimal (winning) strategy

Assumptions

Madhavan Mukund Solving parity games

Page 65: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Optimal valuations correspond to winning strategies

If a valuation is not optimal for either player, improve it to geta better strategy

Iteratively converge to an optimal (winning) strategy

Assumptions

Max-parity game—player 0 wins if largest infinitely occurringcolour is even

Madhavan Mukund Solving parity games

Page 66: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Part 2

Strategy Improvement

Given a pair of memoryless strategies (f0, f1) for players 0 and1, associate a valuation to each position in the game

Define an ordering on valuations and a notion of optimality

Optimal valuations correspond to winning strategies

If a valuation is not optimal for either player, improve it to geta better strategy

Iteratively converge to an optimal (winning) strategy

Assumptions

Max-parity game—player 0 wins if largest infinitely occurringcolour is evenAll positions have distinct colours—assume positions andcolours are both numbered {0, 1, . . . , d} so that position ihas colour i

Madhavan Mukund Solving parity games

Page 67: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations

A typical play P consistent with memoryless (f0, f1)

5 6 3 0 4 2

Madhavan Mukund Solving parity games

Page 68: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations

A typical play P consistent with memoryless (f0, f1)

5 6 3 0 4 2

λ(P)

λ(P) = 4 — max colour in the loop

Madhavan Mukund Solving parity games

Page 69: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations

A typical play P consistent with memoryless (f0, f1)

5 6 3 0 4 2

λ(P)Prefix(P)

λ(P) = 4 — max colour in the loop

π(P) = {5, 6} — values higher than λ(P) in Prefix(P)

Madhavan Mukund Solving parity games

Page 70: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations

A typical play P consistent with memoryless (f0, f1)

5 6 3 0 4 2

λ(P)Prefix(P)

λ(P) = 4 — max colour in the loop

π(P) = {5, 6} — values higher than λ(P) in Prefix(P)

ℓ(P) = 4 — length of Prefix(P)

Madhavan Mukund Solving parity games

Page 71: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations

A typical play P consistent with memoryless (f0, f1)

5 6 3 0 4 2

λ(P)Prefix(P)

λ(P) = 4 — max colour in the loop

π(P) = {5, 6} — values higher than λ(P) in Prefix(P)

ℓ(P) = 4 — length of Prefix(P)

Valuation

Θ : v 7→ (λ(P), π(P), ℓ(P)) for some play P starting at v

Madhavan Mukund Solving parity games

Page 72: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Madhavan Mukund Solving parity games

Page 73: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1

Madhavan Mukund Solving parity games

Page 74: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Madhavan Mukund Solving parity games

Page 75: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Locally progressive valuation

Madhavan Mukund Solving parity games

Page 76: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Locally progressive valuation

For each position u, there is a successor u → v such thatΘ(u) and Θ(v) refer to same path P

Madhavan Mukund Solving parity games

Page 77: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Locally progressive valuation

For each position u, there is a successor u → v such thatΘ(u) and Θ(v) refer to same path PWrite this as u ; v

Madhavan Mukund Solving parity games

Page 78: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Locally progressive valuation

For each position u, there is a successor u → v such thatΘ(u) and Θ(v) refer to same path PWrite this as u ; v

Claim For any locally progressive valuation Θ, there arestrategies (f0, f1) that induce Θ

Madhavan Mukund Solving parity games

Page 79: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Locally progressive valuation

For each position u, there is a successor u → v such thatΘ(u) and Θ(v) refer to same path PWrite this as u ; v

Claim For any locally progressive valuation Θ, there arestrategies (f0, f1) that induce Θ

From any locally progressive valuation Θ, we can extract apair of strategies (f0, f1) that induce Θ

Madhavan Mukund Solving parity games

Page 80: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Valuations . . .

Strategy induced valuation

Let (f0, f1) be memoryless strategies for players 0 and 1Assign Θ(v) according to path from v picked out by (f0, f1)

Locally progressive valuation

For each position u, there is a successor u → v such thatΘ(u) and Θ(v) refer to same path PWrite this as u ; v

Claim For any locally progressive valuation Θ, there arestrategies (f0, f1) that induce Θ

From any locally progressive valuation Θ, we can extract apair of strategies (f0, f1) that induce ΘFrom any pair of strategies (f0, f1) we can derive a locallyprogressive valuation Θ

Madhavan Mukund Solving parity games

Page 81: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Ordering valuations

Order Θ(u) = (w, P, ℓ) and Θ(v) = (x, Q, m)lexicographically

Madhavan Mukund Solving parity games

Page 82: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Ordering valuations

Order Θ(u) = (w, P, ℓ) and Θ(v) = (x, Q, m)lexicographically

Linear order on colours (positions) {0, 1, . . . , 2k}

(2k−1) ≺ (2k−3) ≺ · · · ≺ 3 ≺ 1 ≺ 0 ≺ 2 ≺ · · · < 2k

Madhavan Mukund Solving parity games

Page 83: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Ordering valuations

Order Θ(u) = (w, P, ℓ) and Θ(v) = (x, Q, m)lexicographically

Linear order on colours (positions) {0, 1, . . . , 2k}

(2k−1) ≺ (2k−3) ≺ · · · ≺ 3 ≺ 1 ≺ 0 ≺ 2 ≺ · · · < 2k

Linear order on sets of colours P and Q

P ≺ Q iff max(P \ Q) ≺ max(Q \ P)

Madhavan Mukund Solving parity games

Page 84: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Ordering valuations

Order Θ(u) = (w, P, ℓ) and Θ(v) = (x, Q, m)lexicographically

Linear order on colours (positions) {0, 1, . . . , 2k}

(2k−1) ≺ (2k−3) ≺ · · · ≺ 3 ≺ 1 ≺ 0 ≺ 2 ≺ · · · < 2k

Linear order on sets of colours P and Q

P ≺ Q iff max(P \ Q) ≺ max(Q \ P)

Order on l and m is normal ≤

Madhavan Mukund Solving parity games

Page 85: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Optimal valuations

A valuation Θ is optimal if we have:

Whenever u ; v, among successors of u, Θ(v) is largestvalue with respect to ≺

Madhavan Mukund Solving parity games

Page 86: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Optimal valuations

A valuation Θ is optimal if we have:

Whenever u ; v, among successors of u, Θ(v) is largestvalue with respect to ≺

Lemma

If Θ is an optimal valuation for player 0 (player 1), thecorresponding strategy is winning for player 0 (player 1).

Madhavan Mukund Solving parity games

Page 87: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Strategy improvement

Begin with arbitrary memoryless strategies (f0, f1)

Madhavan Mukund Solving parity games

Page 88: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Strategy improvement

Begin with arbitrary memoryless strategies (f0, f1)

Construct induced valuations

Madhavan Mukund Solving parity games

Page 89: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Strategy improvement

Begin with arbitrary memoryless strategies (f0, f1)

Construct induced valuations

If the strategy is not optimal for player 0 (player 1), pick anonoptimal position and improve it

Madhavan Mukund Solving parity games

Page 90: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Strategy improvement

Begin with arbitrary memoryless strategies (f0, f1)

Construct induced valuations

If the strategy is not optimal for player 0 (player 1), pick anonoptimal position and improve it

Repeat until both players have an optimal strategy

Madhavan Mukund Solving parity games

Page 91: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Strategy improvement

Begin with arbitrary memoryless strategies (f0, f1)

Construct induced valuations

If the strategy is not optimal for player 0 (player 1), pick anonoptimal position and improve it

Repeat until both players have an optimal strategy

Claim This procedure converges.

Madhavan Mukund Solving parity games

Page 92: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

Strategy improvement

Begin with arbitrary memoryless strategies (f0, f1)

Construct induced valuations

If the strategy is not optimal for player 0 (player 1), pick anonoptimal position and improve it

Repeat until both players have an optimal strategy

Claim This procedure converges.

No theoretical bound is known on the complexity ofconvergence.

Madhavan Mukund Solving parity games

Page 93: Solving parity games - iitg.ac.in · Madhavan Mukund Solving parity games. Parity games Two players, 0 and 1 Game graph G = (V,E), V = V0 ⊎ V1 Player 0 plays from V0, player 1 from

References

Marcin JurdinskiSmall Progress Measures for Solving Parity GamesProc STACS 2000Springer LNCS 1770 (2000) 290–301

Marcin Jurdinski and Jens VogeA Discrete Strategy Improvement Algorithm for Solving ParityGamesProc CAV 2000Springer LNCS 1855 (2000) 202–215

Hartmut KlauckAlgorithms for Parity Gamesin Erich Gradel, Wolfgang Thomas, Thomas Wilke (Eds.):Automata, Logics, and Infinite Games: A Guide to CurrentResearch,Springer LNCS 2500 (2002) 107–129

Madhavan Mukund Solving parity games