0% found this document useful (0 votes)
4 views

Tutorial on infinite games (slides)

The document discusses the concept of games in the context of circuit synthesis and Church's problem, focusing on two-player, zero-sum, deterministic games with perfect information. It outlines the formal structure of these games, including game graphs, winning conditions, and strategies for players. The tutorial aims to provide a foundational understanding of game theory as it applies to reactive systems and their complexities.

Uploaded by

taruntukee
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Tutorial on infinite games (slides)

The document discusses the concept of games in the context of circuit synthesis and Church's problem, focusing on two-player, zero-sum, deterministic games with perfect information. It outlines the formal structure of these games, including game graphs, winning conditions, and strategies for players. The tutorial aims to provide a foundational understanding of game theory as it applies to reactive systems and their complexities.

Uploaded by

taruntukee
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 239

Games

Christof Löding
RWTH Aachen, Germany

MOVEP 2008, June 23–27, Orleans, France

Games · MOVEP, June 2008 1 / 80


Games
What kind of games do we consider?

• two player
• zero-sum (win-lose)
• sequential or turn-based
• deterministic (no randomization/probabilities)
• perfect information
• infinite duration

Games · MOVEP, June 2008 2 / 80


Origin
Circuit synthesis and Church’s problem (1957)
Setting:

• Sequence of input signals arrives


• Circuit produces a sequence of output signals (depending
on the inputs it has seen)
• Result is a non-terminating sequence of input and output
signals
• A logical specification describes the desired properties of
these sequences

input circuit f output

Task: Automatically synthesize a circuit from the specification

Games · MOVEP, June 2008 3 / 80


More formally
input ∈ Σ1 circuit f output ∈ Σ2

• Input sequence α ∈ Σ1ω and output sequence β ∈ Σ2ω


• Specification ϕ(α, β)

Problem:
• Decide if the there is a sequential transformation
f : Σ1∗ → Σ2 realizing ϕ, and construct one if possible.

Games · MOVEP, June 2008 4 / 80


More formally
input ∈ Σ1 circuit f output ∈ Σ2

• Input sequence α ∈ Σ1ω and output sequence β ∈ Σ2ω


• Specification ϕ(α, β)

Problem:
• Decide if the there is a sequential transformation
f : Σ1∗ → Σ2 realizing ϕ, and construct one if possible.
Modeled as a game:
• One player plays input signals, the other player output
signals
• The specification is the winning condition for the output
player
• A transformation f realizing the specification is a winning
strategy for the output player
Games · MOVEP, June 2008 4 / 80
Reactive Systems
• Games can serve as general model for reactive systems,
i.e., systems with input/output behavior
• To obtain more realistic models it is often required to add
features like time, probabilities, concurrency, ...
• To study these more complex models a good
understanding of the core theory originating from
Church’s problem is fundamental
{ this tutorial

Games · MOVEP, June 2008 5 / 80


1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 6 / 80


1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 7 / 80


Notations
For a set X :

• | X | = size of X
• X ∗ = the set of finite sequences over X
• X ω = the set of infinite sequences over X
• For α ∈ X ω :

Inf(α) = { x ∈ X | x occurs infinitely often in α}.

Games · MOVEP, June 2008 8 / 80


Game Graph / Arena
G = (V∃ , V∀ , E, c)

• V∃ : vertices of Eva (player 1, circle)


• V∀ : vertices of Adam (player 2, box)
• E ⊆ V × V : edges with V = V∃ ∪ V∀
• c : V → C with a finite set of colors C

Games · MOVEP, June 2008 9 / 80


Game Graph / Arena
G = (V∃ , V∀ , E, c)

• V∃ : vertices of Eva (player 1, circle) { x1 , . . . , x7 }


• V∀ : vertices of Adam (player 2, box) {y1 , . . . , y7 }
• E ⊆ V × V : edges with V = V∃ ∪ V∀ ...
• c : V → C with a finite set of colors C {•, •, •, •}

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

Games · MOVEP, June 2008 9 / 80


Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

Games · MOVEP, June 2008 10 / 80


Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

Games · MOVEP, June 2008 10 / 80


Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

α: y7
c(α) : •
Games · MOVEP, June 2008 10 / 80
Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

α: y7 x6
c(α) : • •
Games · MOVEP, June 2008 10 / 80
Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

α: y7 x6 y3
c(α) : • • •
Games · MOVEP, June 2008 10 / 80
Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

α: y7 x6 y3 y6
c(α) : • • • •
Games · MOVEP, June 2008 10 / 80
Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

α: y7 x6 y3 y6 x3
c(α) : • • • • •
Games · MOVEP, June 2008 10 / 80
Plays
A play in G is an infinite sequence α = v0 v1 v2 · · · of vertices
such that (vi , vi+1 ) ∈ E for all i ≥ 0.
By c(α) we denote the corresponding sequence of colors
c(v0 )c(v1 )c(v2 ) · · ·

y1 x1 y2 x2

y3 x3 y4 x4 x5 y5

x6 y6 y7 x7

α: y7 x6 y3 y6 x3 y4 ···
c(α) : • • • • • • ···
Games · MOVEP, June 2008 10 / 80
Game
G = ( G, Win)

• G: game graph
• Win ⊆ C ω : winning condition

Eva wins a play α if c(α) ∈ Win. Otherwise Adam wins.


Examples for winning conditions:

• plays that contain a green vertex somewhere


• plays that infinitely often contain a blue vertex
• plays that contain infinitely often a blue vertex and finitely
often a yellow vertex, or infinitely often a green vertex
• ···

Games · MOVEP, June 2008 11 / 80


Remarks
Assumptions on the graphs:

• Game graphs can be countably infinite


• All vertices v have at least one successor: E(v) , ∅
• For simplicity we assume finite branching

Concerning the coloring, we are flexible:

• We can also use numbers, letters, etc. as colors in C


• Often we identify C and V and specify Win directly using
the names of the vertices

Games · MOVEP, June 2008 12 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1 x2

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1 x2 y1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1 x2 y1 x1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1 x2 y1 x1 y2

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1 x2 y1 x1 y2 x1

Games · MOVEP, June 2008 13 / 80


Trying to Win – Strategies

y1 x1

y2 x2

Winning condition for Eva: y2 is visited infinitely often iff x1


and x2 are both visited infinitely often.

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Eva can win by playing as follows when the play is at x1 :


• If the previous xi was x2 : move to y2
• Otherwise: move to y1

α: y1 x1 y1 x1 y1 x2 y1 x1 y2 x1 y1 ···

Games · MOVEP, June 2008 13 / 80


Strategies – Formal
• A strategy for Eva is a function

f : V ∗ V∃ → V

with f ( xv) = v0 implies (v, v0 ) ∈ E

Games · MOVEP, June 2008 14 / 80


Strategies – Formal
• A strategy for Eva is a function

f : V ∗ V∃ → V

with f ( xv) = v0 implies (v, v0 ) ∈ E


• A play v0 v1 v2 · · · is played according to f if

∀i : vi ∈ V∃ → f (v0 · · · vi ) = vi+1

• Out ( f , v0 ) = set of all plays starting in v0 that are played


according to f (the possible outcomes of f ).

Games · MOVEP, June 2008 14 / 80


Strategies – Formal
• A strategy for Eva is a function

f : V ∗ V∃ → V

with f ( xv) = v0 implies (v, v0 ) ∈ E


• A play v0 v1 v2 · · · is played according to f if

∀i : vi ∈ V∃ → f (v0 · · · vi ) = vi+1

• Out ( f , v0 ) = set of all plays starting in v0 that are played


according to f (the possible outcomes of f ).
• A strategy for Eva is a winning strategy from vertex v0 if
Out ( f , v0 ) ⊆ Win
• A strategy for Adam (defined similarly) is a winning
strategy from vertex v0 if Out ( f , v0 ) ∩ Win = ∅

Games · MOVEP, June 2008 14 / 80


Memory for Strategies

y1 x1

y2 x2

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Possible strategies for Eva (at x1 ):


1. Move to y2 iff previous xi was x2 .
2. Move to y2 iff there have been more visits to x2 than to y2 .

Games · MOVEP, June 2008 15 / 80


Memory for Strategies

y1 x1

y2 x2

y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)

Possible strategies for Eva (at x1 ):


1. Move to y2 iff previous xi was x2 .
2. Move to y2 iff there have been more visits to x2 than to y2 .

The first strategy only requires two states of memory, the


second one infinitely many.

Games · MOVEP, June 2008 15 / 80


Winning Areas
The winning area for Eva is the set W∃ of all vertices from
which Eva has a winning strategy:

W∃ = {v ∈ V | Eva has a winning strategy from v}.

The winning area for Adam is denoted W∀ and is defined in the


same way.

Games · MOVEP, June 2008 16 / 80


Determinacy
A game G = ( G, Win) is determined if from each node either
Eva or Adam has a winning strategy, i.e., if

W∃ ∪ W∀ = V

Games · MOVEP, June 2008 17 / 80


Determinacy
A game G = ( G, Win) is determined if from each node either
Eva or Adam has a winning strategy, i.e., if

W∃ ∪ W∀ = V

Determinacy is about swapping quantifiers


Eva does not have a winning strategy:

∀ f ∃ ∃ f ∀ ( f ∀ wins against f ∃ )

Games · MOVEP, June 2008 17 / 80


Determinacy
A game G = ( G, Win) is determined if from each node either
Eva or Adam has a winning strategy, i.e., if

W∃ ∪ W∀ = V

Determinacy is about swapping quantifiers


Eva does not have a winning strategy:

∀ f ∃ ∃ f ∀ ( f ∀ wins against f ∃ )

By determinacy:

∃ f ∀ ∀ f ∃ ( f ∀ wins against f ∃ )

Games · MOVEP, June 2008 17 / 80


Central Problems
• Determinacy
• Computing winning areas and strategies
• Memory required for strategies

Games · MOVEP, June 2008 18 / 80


Central Problems
• Determinacy
• Computing winning areas and strategies
• Memory required for strategies

A difficult game:

x4 y4

x3 y3

x2 y2

x1 y1

α ∈ Win iff max{i | yi ∈ Inf(α)} = |{i | xi ∈ Inf(α)}|


Games · MOVEP, June 2008 18 / 80
Summary
• Games: game graph (arena) and winning condition
• Strategies f : V ∗ V∃ → V
• Winning areas W∃ , W∀
• Determinacy W∃ ∪ W∀ = V

Games · MOVEP, June 2008 19 / 80


1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 20 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Reachability Condition
• A winning condition Win ⊆ C ω is called a reachability
condition if there is D ⊆ C such that α ∈ Win iff some
color from D occurs in α.
• The objective for Eva in a reachability game is to reach
some vertex with color D.
• Normally, we specify a reachability game as G = ( G, F )
where F is the set of vertices that Eva wants to reach.

F F

Games · MOVEP, June 2008 21 / 80


Operator Pre
On Pre∃ ( F ) Eva can force to reach F in one step:

Pre∃ ( F ) = {v ∈ V∃ | ∃v0 ∈ E(v) ∩ F }


∪{v ∈ V∀ | ¬∃v0 ∈ E(v) \ F }

Games · MOVEP, June 2008 22 / 80


Operator Pre
On Pre∃ ( F ) Eva can force to reach F in one step:

Pre∃ ( F ) = {v ∈ V∃ | ∃v0 ∈ E(v) ∩ F }


∪{v ∈ V∀ | ¬∃v0 ∈ E(v) \ F }

F F

Games · MOVEP, June 2008 22 / 80


Attractor
The attractor for Eva of a set F is the set of all nodes from
which Eva can force to reach F in finitely many moves:
Attri∃ ( F )
[
Attr ∃ ( F ) =
i ≥0

• Attr0∃ ( F ) = F
• Attri∃+1 ( F ) = Attri∃ ( F ) ∪ Pre∃ (Attri∃ ( F ))

F F

Games · MOVEP, June 2008 23 / 80


Attractor
The attractor for Eva of a set F is the set of all nodes from
which Eva can force to reach F in finitely many moves:
Attri∃ ( F )
[
Attr ∃ ( F ) =
i ≥0

• Attr0∃ ( F ) = F
• Attri∃+1 ( F ) = Attri∃ ( F ) ∪ Pre∃ (Attri∃ ( F ))

1 1

1 F F

Games · MOVEP, June 2008 23 / 80


Attractor
The attractor for Eva of a set F is the set of all nodes from
which Eva can force to reach F in finitely many moves:
Attri∃ ( F )
[
Attr ∃ ( F ) =
i ≥0

• Attr0∃ ( F ) = F
• Attri∃+1 ( F ) = Attri∃ ( F ) ∪ Pre∃ (Attri∃ ( F ))

2 1 1

1 F F 2

2 1

Games · MOVEP, June 2008 23 / 80


Attractor
The attractor for Eva of a set F is the set of all nodes from
which Eva can force to reach F in finitely many moves:
Attri∃ ( F )
[
Attr ∃ ( F ) =
i ≥0

• Attr0∃ ( F ) = F
• Attri∃+1 ( F ) = Attri∃ ( F ) ∪ Pre∃ (Attri∃ ( F ))

2 1 1

1 F 3 F 2

2 1

Games · MOVEP, June 2008 23 / 80


Attractor and Trap Strategy
• On Attri∃ ( F ) Eva can ensure that the next move leads to
j
Attr ∃ ( F ) for j < i. Call this an attractor strategy.

2 1 1

1 F 3 F 2

2 1

Games · MOVEP, June 2008 24 / 80


Attractor and Trap Strategy
• On Attri∃ ( F ) Eva can ensure that the next move leads to
j
Attr ∃ ( F ) for j < i. Call this an attractor strategy.
• The complement V \ Attr ∃ ( F ) is a trap for Eva: Adam can
ensure that the play remains in this set. Call this a trap
strategy for Adam.

2 1 1

1 F 3 F 2

2 1

Games · MOVEP, June 2008 24 / 80


Positional Strategies
• A positional strategy for Eva is a mapping

f : V∃ → V

with (v, f (v)) ∈ E for all v ∈ V∃ . Similarly for Adam.


• Positional strategies are also called memoryless.
• We call a game positionally determined if from each vertex
one of the players has a positional winning strategy.
• Positional strategies can be defined by selecting one
outgoing edge for each vertex of the player.

Games · MOVEP, June 2008 25 / 80


Determinacy of Reachability Games

Theorem
Reachability games G = ( G, F ) are positionally determined
with W∃ = Attr ∃ ( F ).

Games · MOVEP, June 2008 26 / 80


Determinacy of Reachability Games

Theorem
Reachability games G = ( G, F ) are positionally determined
with W∃ = Attr ∃ ( F ).

This theorem was already shown in 1913 by E. Zermelo:


“Über eine Anwendung der Mengenlehre auf die Theorie des
Schachspiels”
(On an application of set theory to the theory of chess)

Games · MOVEP, June 2008 26 / 80


Final Remarks
• An attractor can be computed in linear time (in the size of
the graph)

Games · MOVEP, June 2008 27 / 80


Final Remarks
• An attractor can be computed in linear time (in the size of
the graph)
• For graphs with infinite degree it is not enough to stop the
attractor computation after ω iterations.
Illustration:

F ···

Games · MOVEP, June 2008 27 / 80


Final Remarks
• An attractor can be computed in linear time (in the size of
the graph)
• For graphs with infinite degree it is not enough to stop the
attractor computation after ω iterations.
Illustration:

F ···
• A trap defines a subgame (each vertex has at least one
edge staying inside the trap). This is important when
inductively solving games.

Games · MOVEP, June 2008 27 / 80


Final Remarks
• An attractor can be computed in linear time (in the size of
the graph)
• For graphs with infinite degree it is not enough to stop the
attractor computation after ω iterations.
Illustration:

F ···
• A trap defines a subgame (each vertex has at least one
edge staying inside the trap). This is important when
inductively solving games.
• The dual condition of avoiding a set of vertices is called
safety condition. A reachability condition is a safety
condition for the opponent.
Games · MOVEP, June 2008 27 / 80
Summary
• Reachability games: goal of Eva is to reach a set F of
vertices
• Attractor Attr ∃ ( F ) (based on Pre∃ )
• Complement of an attractor is a trap for the other player
• Attractor and trap strategies are positional
• Reachability games are positionally determined

Games · MOVEP, June 2008 28 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Games · MOVEP, June 2008 29 / 80


Just for Fun...
Players play tokens in turn, pushing the frontier towards the
upper right corner. The player who has to place the token on
the upper right field loses:

Challenge: Show that one of the players (the one who starts or
the other) has a winning strategy for every size of the board.
The proof is very short and uses positional determinacy of
reachability games. But it does not provide the strategy...
Games · MOVEP, June 2008 29 / 80
1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 30 / 80


Büchi condition
• A winning condition Win ⊆ C ω is called a Büchi condition
if there is D ⊆ C such that α ∈ Win iff Inf(c(α)) ∩ D , ∅,
i.e., iff some color from D occurs infinitely often.
• The objective for Eva in a Büchi game is to reach infinitely
often some vertex with color D.
• Normally, we specify a Büchi game as G = ( G, F ) where F
is the set of vertices that Eva wants to see infinitely often.
• Origin of the name: J. Richard Büchi. On a decision
method in restricted second order arithmetic. 1962

Games · MOVEP, June 2008 31 / 80


Solving Büchi Games – Idea
Iterating the attractor:

F F

Games · MOVEP, June 2008 32 / 80


Solving Büchi Games – Idea
Iterating the attractor:

F0 F0

• F0 = F
• W∀0 = Adam can avoid F0

Games · MOVEP, June 2008 32 / 80


Solving Büchi Games – Idea
Iterating the attractor:

F0 F0

• F0 = F
• W∀0 = Adam can avoid F0
• F1 = F0 \ Pre∀ (W∀0 )

Games · MOVEP, June 2008 32 / 80


Solving Büchi Games – Idea
Iterating the attractor:

F0 F1

• F0 = F
• W∀0 = Adam can avoid F0
• F1 = F0 \ Pre∀ (W∀0 )

Games · MOVEP, June 2008 32 / 80


Solving Büchi Games – Idea
Iterating the attractor:

F0 F1

• F0 = F
• W∀0 = Adam can avoid F0
• F1 = F0 \ Pre∀ (W∀0 )
• W∀1 = Adam can avoid F1

Games · MOVEP, June 2008 32 / 80


Solving Büchi Games – Idea
Iterating the attractor:

F0 F1

• F0 = F
• W∀0 = Adam can avoid F0
• F1 = F0 \ Pre∀ (W∀0 )
• W∀1 = Adam can avoid F1
• F2 = F1 \ Pre∀ (W∀1 ) = F1
Games · MOVEP, June 2008 32 / 80
Solving Büchi Games – Finite Graphs
Start with F0 := F . In Iteration i:

• Let Gi = ( G, Fi ) be the reachability game for Fi .


• Let W∀i be the winning area of Adam in Gi .
• Let Fi+1 = Fi \ Pre∀ (W∀i ).

Games · MOVEP, June 2008 33 / 80


Solving Büchi Games – Finite Graphs
Start with F0 := F . In Iteration i:

• Let Gi = ( G, Fi ) be the reachability game for Fi .


• Let W∀i be the winning area of Adam in Gi .
• Let Fi+1 = Fi \ Pre∀ (W∀i ).

F0 ⊇ F1 ⊇ F2 ⊇ · · ·

Termination for Fi+1 = Fi .

Games · MOVEP, June 2008 33 / 80


Illustration of Winning Strategies

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Illustration of Winning Strategies

W∀0 F0

W∀1 F1
W∀
.. ..
. .
W∀i

W∃ Attr ∃ ( Fi ) Fi

Games · MOVEP, June 2008 34 / 80


Remark on Infinite Graphs
For infinite graphs it might be necessary to iterate over
T
ordinals: For a limit ordinal i we set Fi = j<i Fj .

F F F ···

···

Fj = ∅
\
Fω =
j<ω

Games · MOVEP, June 2008 35 / 80


Determinacy of Büchi Games

Theorem
Büchi games are positionally determined.

Complexity:

• In each iteration Fi gets smaller


{ termination after at most | F | steps
• Each step requires to solve a reachability game (linear)
• Total time complexity is quadratic

Games · MOVEP, June 2008 36 / 80


1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 37 / 80


Muller condition
• A winning condition Win ⊆ C ω is called a Muller condition
if there is a set F ⊆ 2C of sets of colors such that
α ∈ Win iff Inf(c(α)) ∈ F .
• The objective for Eva in a Muller game is to make the set
of colors that appear infinitely often in a play such that it
belongs to F .
• Muller conditions are Boolean combinations of Büchi
conditions: they can be seen as a kind of “disjunctive
normal form” for conditions on the infinity set.
• Origin of the name: David E. Muller. Infinite Sequences
and Finite Machines. 1963

Games · MOVEP, June 2008 38 / 80


Example

y1 x1

y2 x2

Winning condition for Eva: y2 ∈ Inf(α) ⇔ { x1 , x2 } ⊆ Inf(α)


As Muller condition: F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
Remarks:
• It suffices to consider sets in the Muller condition that can
occur as infinity set (strongly connected)
• Eva has a winning strategy (move to y2 if the previous xi
was x2 ) but no positional winning strategy:
• Always x1 → y1 : Adam can force Inf(α) = { x1 , x2 , y1 }
• Always x1 → y2 : Adam can force Inf(α) = { x1 , y2 }

Games · MOVEP, June 2008 39 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0
m0

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0
m0 m1
δ

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0 v1
m0 m1
δ

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0 v1
m0 m1 m2
δ δ

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0 v1 v2
m0 m1 m2
δ δ

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0 v1 v2
m0 m1 m2 m3
δ δ δ

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0 v1 v2 v3
···
m0 m1 m2 m3
δ δ δ

Games · MOVEP, June 2008 40 / 80


Memory Structures
Let G be a game with vertex set V . A memory structure for G
is a tuple M = ( M, m0 , δ) with
• a set M of memory states,
• an initial memory state m0 ,
• a memory update function δ : M × V → M .

M computes an abstraction of the initial segments of a play:


v0 v1 v2 v3
···
m0 m1 m2 m3
δ δ δ

Extend δ to sequences of vertices δ∗ (V ∗ ) → M :



∗ m0 if i < 0 (the sequence is empty)
δ (v0 · · · vi ) =
δ(δ∗ (v0 . . . vi−1 ), vi ) otherwise

Games · MOVEP, June 2008 40 / 80


Finite Memory Strategies
A finite memory strategy for Eva in G is a pair (M, f ) of a
finite memory structure M = ( M, m0 , δ) and a function

f : M × V∃ → V

such that f (m, v) = v0 implies (v, v0 ) ∈ E.


The strategy f M defined by (M, f ) is given by

f M (v0 · · · vi ) = f (δ∗ (v0 · · · vi−1 ), vi )

Games · MOVEP, June 2008 41 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1
m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1
m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1
m0 m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1
m0 m0 m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1
m0 m0 m0 m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1 x2
m0 m0 m0 m0 m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1 x2 y1
m0 m0 m0 m0 m0 m0 m1

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1 x2 y1 x1
m0 m0 m0 m0 m0 m0 m1 m1

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1 x2 y1 x1 y2
m0 m0 m0 m0 m0 m0 m1 m1 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1 x2 y1 x1 y2 x1
m0 m0 m0 m0 m0 m0 m1 m1 m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Example

y1 x1
F = {{ x1 , y1 }, { x2 , y1 }, { x1 , x2 , y1 , y2 }}
y2 x2

y1 x1 y1 x1 y1 x2 y1 x1 y2 x1 y1
m0 m0 m0 m0 m0 m0 m1 m1 m0 m0 m0

x1 , y1 , y2 x2 , y1 , y2
x2
f (m0 , x1 ) = y1
m0 m1
x1 f (m1 , x1 ) = y2

“Move to y2 if the previous xi was x2 ”

Games · MOVEP, June 2008 42 / 80


Computing Strategies with Memory
Schema of game reduction:

1. Find a suitable memory structure M.


2. Take the product of the game graph with the memory:
m, v δ(m, v), v0

3. On the new graph define a new winning condition that is


equivalent to the original winning condition. This new
winning condition should be positionally determined.
4. Compute positional winning strategies on this new game.
5. Positional strategies on the extended graph correspond to
strategies with memory M on the original graph.

Games · MOVEP, June 2008 43 / 80


Example
y1 y2
Eva has to visit y1 and y2 infinitely often
x

Games · MOVEP, June 2008 44 / 80


Example
y1 y2
Eva has to visit y1 and y2 infinitely often
x

Memory: recall whether y1 or y2 was visited last:


x, y1 x, y2
y2
m0 m1
y1

Games · MOVEP, June 2008 44 / 80


Example
y1 y2
Eva has to visit y1 and y2 infinitely often
x

Memory: recall whether y1 or y2 was visited last:


x, y1 x, y2
y2
m0 m1
y1

Product of game and memory:


m0 , y1 m0 , y2 m1 , y1 m1 , y2

m0 , x m1 , x

Games · MOVEP, June 2008 44 / 80


Example
y1 y2
Eva has to visit y1 and y2 infinitely often
x

Memory: recall whether y1 or y2 was visited last:


x, y1 x, y2
y2
m0 m1
y1

Product of game and memory:


m0 , y1 m0 , y2 m1 , y1 m1 , y2

m0 , x m1 , x

Eva has to see (m1 , y1 ) infinitely often: Büchi condition!


Games · MOVEP, June 2008 44 / 80
Example
y1 y2
Eva has to visit y1 and y2 infinitely often
x

Memory: recall whether y1 or y2 was visited last:


x, y1 x, y2
y2
m0 m1
y1

Product of game and memory:


m0 , y1 m0 , y2 m1 , y1 m1 , y2
positional
m0 , x m1 , x
strategy

Eva has to see (m1 , y1 ) infinitely often: Büchi condition!


Games · MOVEP, June 2008 44 / 80
Example
y1 y2
Eva has to visit y1 and y2 infinitely often
x

Memory: recall whether y1 or y2 was visited last:


x, y1 x, y2
y2
f (m0 , x) = y2
m0 m1
y1 f (m1 , x) = y1

Product of game and memory:


m0 , y1 m0 , y2 m1 , y1 m1 , y2
positional
m0 , x m1 , x
strategy

Eva has to see (m1 , y1 ) infinitely often: Büchi condition!


Games · MOVEP, June 2008 44 / 80
Summary
• Muller conditions (boolean combinations of Büchi
conditions)
• Positional strategies are not enough
• Memory structures and strategies with memory
• Schema of game reduction

Games · MOVEP, June 2008 45 / 80


1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 46 / 80


Parity Condition
• Let C be a (finite) subset of the natural numbers. A play α
satisfies the (max-)parity condition if the maximal number
that occurs infinitely often in c(α) is even.
• The colors are also called priorities in this setting.
• Sometimes parity conditions are called Rabin chain
conditions.
• Büchi conditions can be expressed as parity conditions
with priorities 1 and 2: map the states in F to 2 and the
other ones to 1.

Games · MOVEP, June 2008 47 / 80


Example

3 2 2 3

2 0 4 1

Games · MOVEP, June 2008 48 / 80


Example

3 2 2 3

2 0 4 1

Games · MOVEP, June 2008 48 / 80


Example

3 2 2 3

2 0 4 1

Games · MOVEP, June 2008 48 / 80


Example

3 2 2 3

2 0 4 1

Games · MOVEP, June 2008 48 / 80


Example

3 2 2 3

2 0 4 1

Games · MOVEP, June 2008 48 / 80


Example

3 2 2 3

2 0 4 1

Games · MOVEP, June 2008 48 / 80


Example

3 2 2 3

2 0 4 1

• In this example both players have positional and uniform


winning strategies on their winning area.
• For a set X of vertices a uniform winning strategy on X is
a winning strategy that is winning from each vertex in X .

Games · MOVEP, June 2008 48 / 80


Positional Determinacy

Games · MOVEP, June 2008 49 / 80


Positional Determinacy of Parity Games

Theorem
Parity games are positionally determined with uniform
positional winning strategies for both players on their winning
areas.

Games · MOVEP, June 2008 50 / 80


Positional Determinacy of Parity Games

Theorem
Parity games are positionally determined with uniform
positional winning strategies for both players on their winning
areas.

A non-constructive proof:

• Induction on the number of priorities


• Let k be the maximal priority and assume that it is even
• Let U be the set of vertices on which Adam has a
positional winning strategy

Games · MOVEP, June 2008 50 / 80


Step 1 – Uniform Strategy
Lemma
On U Adam has a uniform positional winning strategy fU .

Games · MOVEP, June 2008 51 / 80


Step 1 – Uniform Strategy
Lemma
On U Adam has a uniform positional winning strategy fU .

Games · MOVEP, June 2008 51 / 80


Step 1 – Uniform Strategy
Lemma
On U Adam has a uniform positional winning strategy fU .

U ···

Games · MOVEP, June 2008 51 / 80


Step 1 – Uniform Strategy
Lemma
On U Adam has a uniform positional winning strategy fU .

U ···

Games · MOVEP, June 2008 51 / 80


Step 1 – Uniform Strategy
Lemma
On U Adam has a uniform positional winning strategy fU .

U ···

Games · MOVEP, June 2008 51 / 80


Step 1 – Uniform Strategy
Lemma
On U Adam has a uniform positional winning strategy fU .

U ··· ···

Games · MOVEP, June 2008 51 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

W∀0 Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

W∀0 = ∅ Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Step 2 – Strategy for Eva
Lemma
On the complement of U Eva has a uniform positional strategy.

W∃0
k

Attr ∃ (k)

U Adam wins uniformly positional

Games · MOVEP, June 2008 52 / 80


Remarks
• The proof is non-constructive because we pick the set U
of vertices from which Adam has a positional winning
strategy.
• Now we see how to algorithmically solve parity games.

Games · MOVEP, June 2008 53 / 80


Algorithms for Parity Games

Games · MOVEP, June 2008 54 / 80


An NP algorithm

Theorem
The decision problem “Given a parity game G and an initial
vertex v0 , does Eva have a winning strategy from v0 ?” is in
NP ∩ co-NP.

Games · MOVEP, June 2008 55 / 80


An NP algorithm

Theorem
The decision problem “Given a parity game G and an initial
vertex v0 , does Eva have a winning strategy from v0 ?” is in
NP ∩ co-NP.

Proof
Membership in NP:

1. Guess a positional strategy for Eva


2. Verify that this strategy is winning from v0

Membership in co-NP follows from positional determinacy.

Games · MOVEP, June 2008 55 / 80


Verifying Strategies in Polynomial Time
Idea:

• Only consider edges relevant for the strategy.


• A positional strategy is losing for Eva if there is cycle
reachable from v0 on which the maximal priority k is odd.
• This means deleting all vertices of priority higher than k
yields a graph containing a strongly connected
component with highest priority k.
• Strongly connected components can be computed in
polynomial time.
• We test the above criterion by successively deleting
priorities.

Games · MOVEP, June 2008 56 / 80


Verifying Strategies – Algorithm
Let f be a positional strategy for Eva from v0 :

1. Remove all non-strategy edges of Eva


2. Restrict the resulting graph to vertices that are reachable
from v0
3. Remove vertices from the graph according to the
following rule until the graph is empty:
3.1 Compute the strongly connected components. Remove all
the trivial components.
3.2 Let k be the remaining maximal priority.
3.3 If k is odd, then f is not winning. Stop.
3.4 Otherwise, remove all vertices with priority k.

If the loop in 2. terminates with an empty graph, then f is


winning.

Games · MOVEP, June 2008 57 / 80


Remarks on the Complexity
• A deterministic algorithm based on the previous idea can
test all positional strategies for Eva. The complexity is
exponential in the size of the graph.
• By an inductive construction we can show that parity
games can be solved in time that is only exponential in the
number of priorities.

Games · MOVEP, June 2008 58 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

Fk0

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

solve subgame with


less priorities
Fk0

Attr ∃ ( Fk0 )

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

W∀0

solve subgame with


less priorities
Fk0

W∃0

Attr ∃ ( Fk0 )

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

W∀0 Pre∀ (W∀0 )

Fk1

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

W∀0 Pre∀ (W∀0 )

solve subgame with


less priorities

Fk1

Attr ∃ ( Fk1 )

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

W∀0 Pre∀ (W∀0 )

W1 ∀
solve subgame with
less priorities

Fk1

W∃1

Attr ∃ ( Fk1 )

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

W∀0 Pre∀ (W∀0 )

W∀1 Pre∀ (W∀1 )

Games · MOVEP, June 2008 59 / 80


Inductive Construction – Idea
Highest priority k (assumed to be even)

W∀0 Pre∀ (W∀0 )

W∀1 Pre∀ (W∀1 )

..
.

Fki

Attr ∃ ( Fki )

Games · MOVEP, June 2008 59 / 80


Complexity
Inductive construction for Graph of size n with k priorities:

• Compute attractor: linear in n


• Solve subgame with k − 1 priorities
• Number of iterations bounded by n

{ O(nk )

Games · MOVEP, June 2008 60 / 80


Other Algorithms
• Small progress measures (Jurdziński 2000)
k
• O(n 2 )
• easy to implement
• Strategy improvement (Vöge, Jurdziński 2000)
• Runs fast in practice
• No exponential lower bound known

Games · MOVEP, June 2008 61 / 80


Other Algorithms
• Small progress measures (Jurdziński 2000)
k
• O(n 2 )
• easy to implement
• Strategy improvement (Vöge, Jurdziński 2000)
• Runs fast in practice
• No exponential lower bound known

Open problem:
Can parity games be solved in polynomial time?

Games · MOVEP, June 2008 61 / 80


Reducing Muller Games to
Parity Games

Games · MOVEP, June 2008 62 / 80


Recall – Schema of Game Reduction
1. Find a suitable memory structure M.
2. Take the product of the game graph with the memory:
m, v δ(m, v), v0

3. On the new graph define a new winning condition that is


equivalent to the original winning condition. This new
winning condition should be positionally determined.
4. Compute positional winning strategies on this new game.
5. Positional strategies on the extended graph correspond to
strategies with memory M on the original graph.

Games · MOVEP, June 2008 63 / 80


Recall – Schema of Game Reduction
1. Find a suitable memory structure M.
2. Take the product of the game graph with the memory:
m, v δ(m, v), v0

3. On the new graph define a new winning condition that is


equivalent to the original winning condition. This new
winning condition should be positionally determined.
4. Compute positional winning strategies on this new game.
5. Positional strategies on the extended graph correspond to
strategies with memory M on the original graph.

Next goal: Find a suitable memory structure that allows to


translate a Muller condition to a parity condition.

Games · MOVEP, June 2008 63 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A
B
C
D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D
B A
C B
D C

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B
B A D
C B A
D C C

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B
B A D D
C B A A
D C C C

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D
B A D D B
C B A A A
D C C C C

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C
B A D D B D
C B A A A B
D C C C C A

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B
B A D D B D C
C B A A A B D
D C C C C A A

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A
B A D D B D C B
C B A A A B D C
D C C C C A A D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B
B A D D B D C B A
C B A A A B D C C
D C C C C A A D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A
B A D D B D C B A B
C B A A A B D C C C
D C C C C A A D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C
B A D D B D C B A B A
C B A A A B D C C C B
D C C C C A A D D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C B
B A D D B D C B A B A C
C B A A A B D C C C B A
D C C C C A A D D D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C B A
B A D D B D C B A B A C B
C B A A A B D C C C B A C
D C C C C A A D D D D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C B A B
B A D D B D C B A B A C B A
C B A A A B D C C C B A C C
D C C C C A A D D D D D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C B A B A
B A D D B D C B A B A C B A B
C B A A A B D C C C B A C C C
D C C C C A A D D D D D D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C B A B A C
B A D D B D C B A B A C B A B A
C B A A A B D C C C B A C C C B
D C C C C A A D D D D D D D D D

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record – Idea
• Recall the order in which the colors (or vertices) of the
play appeared (starting with an arbitrary order)
D B B D C B A B A C B A B A C
A D B B D C B A B A C B A B A C
B A D D B D C B A B A C B A B A
C B A A A B D C C C B A C C C B
D C C C C A A D D D D D D D D D

• The colors appearing finitely often will gather at one end


• This allows to infer from the LAR which colors are visited
infinitely often

Games · MOVEP, June 2008 64 / 80


Latest Appearance Record
• A latest appearance record (LAR) over C is an ordering of
the elements of C .

LAR(C ) = {[d1 · · · dn ] | di ∈ C and di , d j for all i , j}

• Memory update:

δ([d1 · · · dn ], d) = [dd1 · · · di−1 di+1 · · · dn ]

for the unique i with d = di


• The LAR memory structure (for C ) is defined as
MLAR = (LAR(C ), δ, m0 ) for some arbitrary fixed LAR
m0 .

Games · MOVEP, June 2008 65 / 80


Assigning Priorities
• Assign priority depending on the size of the part of the
LAR that changes in the next move
• The biggest part that changes infinitely often decides
• Example for F = {{ B, D }, { A, B, C }}
D B B D C B A B A C B A B A C
A D B B D C B A B A C B A B A C
B A D D B D C B A B A C B A B A
C B A A A B D C C C B A C C C B
D C C C C A A D D D D D D D D D
7 5 1 4 7 5 7 3 3 6 6 6 3 3 6

Games · MOVEP, June 2008 66 / 80


From Muller to Parity
• Let G = ( G, F ) be a Muller game with |C | = n colors.
• Coloring function on game graph extended with LAR:

2i − 1 {d1 , . . . , di } < F
cLAR (v, [d1 · · · dn ]) =
2i { d1 , . . . , d i } ∈ F

with c(v) = di
• This defines a parity game equivalent to the Muller game
as required for a game reduction.

Games · MOVEP, June 2008 67 / 80


Determinacy of Muller Games
Because parity games are positionally determined with
uniform strategies, we obtain the following.

Theorem
Muller games are determined and both players have uniform
strategies with memory of size at most |C |! on their winning
areas, where |C | is the number of colors of the Muller game.

Games · MOVEP, June 2008 68 / 80


Initial Example

α ∈ Win iff max{i | yi ∈ Inf(α)} = |{i | xi ∈ Inf(α)}|


x4 y4
x3 y3
x2 y2
x1 y1

Simple strategy based on LAR idea:


• Eva maintains an LAR of the xi together with the size j of
the portion that changed in the last update
• She chooses the yj corresponding to this size

Games · MOVEP, June 2008 69 / 80


Summary
• Parity conditions
• Uniform positional determinacy
• Membership in NP ∩ co-NP
• Inductive construction (time O(nk ))
• Reduction from Muller to parity using LAR

Games · MOVEP, June 2008 70 / 80


Summary
• Parity conditions
• Uniform positional determinacy
• Membership in NP ∩ co-NP
• Inductive construction (time O(nk ))
• Reduction from Muller to parity using LAR

parity LAR Muller


positional, time O(nk ) memory |C |!

Büchi
positional, time O(n2 )

reachability
positional, time O(n)

Games · MOVEP, June 2008 70 / 80


1 Basics

2 Positional Strategies: Reachability and Attractors

3 Büchi Games

4 Muller Games and Finite Memory Strategies

5 Parity Games
Positional Determinacy
Algorithms for Parity Games
Reducing Muller Games to Parity Games

6 Applications

Games · MOVEP, June 2008 71 / 80


Synthesis
input ∈ Σ1 circuit f output ∈ Σ2

ϕ(α, β)

Games · MOVEP, June 2008 72 / 80


Synthesis
input ∈ Σ1 circuit f output ∈ Σ2

ϕ(α, β)

• Model the problem by a game graph in which Adam


chooses input symbols from Σ1 and Eva chooses output
symbols from Σ2
• Transform specification into an equivalent deterministic
Muller or parity automaton (not treated in this tutorial)
• Take the product of game graph and automaton (as in the
schema of game reduction)
• Solve the game with the presented methods
• The resulting strategy with memory is a realization for ϕ

Games · MOVEP, June 2008 72 / 80


Automata on Infinite Trees
a
b a
c b b a
b a b a a b a b
..
.

Games · MOVEP, June 2008 73 / 80


Automata on Infinite Trees
a transitions of the form:
b a q, a
c b b a
q1 q2
b a b a a b a b
with states q, q1 , q2
..
.

Games · MOVEP, June 2008 73 / 80


Automata on Infinite Trees
a transitions of the form:
b a q, a
c b b a
q1 q2
b a b a a b a b
with states q, q1 , q2
..
.

• Run: labelling of tree with states, build from transitions


• Acceptance condition: Muller / parity on each infinite
branch of the tree
• Automaton accepts if there is an accepting run

Games · MOVEP, June 2008 73 / 80


Automata on Infinite Trees
a transitions of the form:
b a q, a
c b b a
q1 q2
b a b a a b a b
with states q, q1 , q2
..
.

• Run: labelling of tree with states, build from transitions


• Acceptance condition: Muller / parity on each infinite
branch of the tree
• Automaton accepts if there is an accepting run

These automata are a powerful tool when dealing with logics


on branching structures (they are as expressive as monadic
second-order logic over the infinite binary tree).
Games · MOVEP, June 2008 73 / 80
Automata and Games
• Acceptance of a tree t can be characterized by a game.
The arena is infinite because t is infinite:
• The game starts at the root in the initial state of the
automaton. Then the following is repeated to infinity:
• Eva plays a transition of the automaton
• Adam chooses a direction in the tree and the
corresponding state of the transition

Games · MOVEP, June 2008 74 / 80


Automata and Games
• Acceptance of a tree t can be characterized by a game.
The arena is infinite because t is infinite:
• The game starts at the root in the initial state of the
automaton. Then the following is repeated to infinity:
• Eva plays a transition of the automaton
• Adam chooses a direction in the tree and the
corresponding state of the transition
• Eva wins if the resulting infinite sequence of states
satisfies the acceptance condition of the automaton.
• Eva has winning strategy iff there is an accepting run on t
• This is used for complementing these automata: the
automaton for the complement checks if Adam has a
winning strategy.

Games · MOVEP, June 2008 74 / 80


Model Checking
Checking whether a formula of a temporal or modal logic (like
the modal µ-calculus) holds on a finite transition system can
be reduced to games.

Games · MOVEP, June 2008 75 / 80


Model Checking
Checking whether a formula of a temporal or modal logic (like
the modal µ-calculus) holds on a finite transition system can
be reduced to games.

µX (• ∨ X ∨ (• ∧ ^X ))

Construct model checking game as a product of formula and


transition system.

Games · MOVEP, June 2008 75 / 80


Parity Games and µ-Calculus

Theorem
Model checking for modal µ-calculus is polynomial time
equivalent to the problem of solving parity games.

Games · MOVEP, June 2008 76 / 80


Finish

Games · MOVEP, June 2008 77 / 80


Conclusion
• Basic theory of two player games of infinite duration
parity LAR Muller
positional, time O(nk ) memory |C |!

Büchi
positional, time O(n2 )

reachability
positional, time O(n)

• Applications in synthesis, tree automata, model checking


• Many possible extensions: Probabilities, concurrency,
time, algorithms for classes of infinite graphs,...

Games · MOVEP, June 2008 78 / 80


References
There are good collections/surveys:

• Automata, Logics, and Infinite Games. LNCS 2500, 2002


• W. Zielonka. Infinite games on finitely coloured graphs
with applications to automata on infinite trees. TCS 200,
1998.
• W. Thomas. Languages, Automata, and Logic. Handbook
of Formal Language Theory. 1997

Games · MOVEP, June 2008 79 / 80


Reminder
Don’t forget to think about this:

Challenge: Show that one of the players (the one who starts or
the other) has a winning strategy for every size of the board.
The proof is very short and uses positional determinacy of
reachability games. But it does not provide the strategy...

Games · MOVEP, June 2008 80 / 80

You might also like