137
Playing Infinite Games in Finite Time Joint work with John Fearnley, Daniel Neider, and Roman Rabinovich Martin Zimmermann RWTH Aachen University November 17th, 2011 Algosyn Workshop 2011, Rolduc Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 1/16

Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Playing Infinite Games in Finite TimeJoint work with John Fearnley,

Daniel Neider, and Roman Rabinovich

Martin Zimmermann

RWTH Aachen University

November 17th, 2011

Algosyn Workshop 2011, Rolduc

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 1/16

Page 2: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Introduction

How can you play infinite games in finite time? Aren’t they infinitefor a reason?

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 2/16

Page 3: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Introduction

How can you play infinite games in finite time? Aren’t they infinitefor a reason?

Introductory example

Player 0 wins play iff no red vertex is visited ⇒ safety game.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 2/16

Page 4: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Introduction

How can you play infinite games in finite time? Aren’t they infinitefor a reason?

Introductory example

Player 0 wins play iff no red vertex is visited ⇒ safety game.

Observations:

If a red vertex is reached, there is no point in continuing.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 2/16

Page 5: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Introduction

How can you play infinite games in finite time? Aren’t they infinitefor a reason?

Introductory example

Player 0 wins play iff no red vertex is visited ⇒ safety game.

Observations:

If a red vertex is reached, there is no point in continuing.

Positional determinacy: stop a play when some vertex isvisited for the second time.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 2/16

Page 6: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Introduction

How can you play infinite games in finite time? Aren’t they infinitefor a reason?

Introductory example

Player 0 wins play iff no red vertex is visited ⇒ safety game.

Observations:

If a red vertex is reached, there is no point in continuing.

Positional determinacy: stop a play when some vertex isvisited for the second time.

Generalizes to finite-state determinacy: stop a play whensome memory state is repeated.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 2/16

Page 7: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Introduction

How can you play infinite games in finite time? Aren’t they infinitefor a reason?

Introductory example

Player 0 wins play iff no red vertex is visited ⇒ safety game.

Observations:

If a red vertex is reached, there is no point in continuing.

Positional determinacy: stop a play when some vertex isvisited for the second time.

Generalizes to finite-state determinacy: stop a play whensome memory state is repeated.

Can we play in finite time without relying on a memory structure?

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 2/16

Page 8: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Muller Games

Inspired by previous work of McNaughton on playing infinite gamesin finite time, we consider Muller games (A,F0,F1):

arena A and partition (F0,F1) containing the loops of A.

Player i wins ρ iff Inf(ρ) = {v | ∃ωn s.t. ρn = v} ∈ Fi .

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 3/16

Page 9: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Muller Games

Inspired by previous work of McNaughton on playing infinite gamesin finite time, we consider Muller games (A,F0,F1):

arena A and partition (F0,F1) containing the loops of A.

Player i wins ρ iff Inf(ρ) = {v | ∃ωn s.t. ρn = v} ∈ Fi .

Running example

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Player 0 has a winning strategy from every vertex: alternatebetween 0 and 2.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 3/16

Page 10: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Muller Games

Inspired by previous work of McNaughton on playing infinite gamesin finite time, we consider Muller games (A,F0,F1):

arena A and partition (F0,F1) containing the loops of A.

Player i wins ρ iff Inf(ρ) = {v | ∃ωn s.t. ρn = v} ∈ Fi .

Running example

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Player 0 has a winning strategy from every vertex: alternatebetween 0 and 2.

RemarkMuller games are not reducible to safety games.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 3/16

Page 11: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Outline

1. Playing Muller Games in Finite Time

2. Solving Muller Games by Solving Safety Games

3. Conclusion

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 4/16

Page 12: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions

Let F ⊆ V , F 6= ∅.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 5/16

Page 13: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions

Let F ⊆ V , F 6= ∅. For v ∈ V define

ScF (v) =

{

1 if F = {v},

0 otherwise,

and

AccF (v) =

{

∅ if F = {v},

F ∩ {v} otherwise.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 5/16

Page 14: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions

Let F ⊆ V , F 6= ∅. For v ∈ V and w ∈ V+ define

ScF (wv) =

0 if v /∈ F ,

ScF (w) if v ∈ F ∧AccF (w) 6= (F \ {v}),

ScF (w) + 1 if v ∈ F ∧AccF (w) = (F \ {v}),

and

AccF (wv) =

∅ if v /∈ F ,

AccF (w) ∪ {v} if v ∈ F ∧AccF (w) 6= (F \ {v}),

∅ if v ∈ F ∧AccF (w) = (F \ {v}).

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 5/16

Page 15: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 16: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 17: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 18: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 19: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 20: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 21: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 22: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 23: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 24: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 25: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 26: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 27: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 28: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 29: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 30: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 31: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 32: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 33: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 34: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 35: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 36: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 37: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 38: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 39: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 40: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 41: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 42: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 43: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 44: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 45: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 46: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 47: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 48: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1} {0, 1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 49: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1} {0, 1} {0, 1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 50: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1} {0, 1} {0, 1} {0, 1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 51: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1} {0, 1} {0, 1} {0, 1} {0, 1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 52: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1} {0, 1} {0, 1} {0, 1} {0, 1} ∅

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 53: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Scoring Functions cont’d

ScF (w): maximal k ∈ N such that F is visited k times sincelast vertex in V \ F (reset).

AccF (w): set A ⊂ F of vertices seen since last increase orreset of ScF .

Example:

w 0 0 1 1 0 0 1 2

Sc{0,1} 0 0 1 1 2 2 3 0

Acc{0,1} {0} {0} ∅ {1} ∅ {0} ∅ ∅

Sc{0,1,2} 0 0 0 0 0 0 0 1

Acc{0,1,2} {0} {0} {0, 1} {0, 1} {0, 1} {0, 1} {0, 1} ∅

RemarkF = Inf(ρ) ⇔ lim infn→∞ ScF (ρ0 · · · ρn) = ∞

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 6/16

Page 54: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Finite-time Muller Games

Two properties of scoring functions (informal versions):

1. If you play long enough (i.e., k |V | steps), some score value willbe high (i.e., k).

2. At most one score value can increase at a time.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 7/16

Page 55: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Finite-time Muller Games

Two properties of scoring functions (informal versions):

1. If you play long enough (i.e., k |V | steps), some score value willbe high (i.e., k).

2. At most one score value can increase at a time.

DefinitionFinite-time Muller game: (A,F0,F1, k) with threshold k ≥ 3.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 7/16

Page 56: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Finite-time Muller Games

Two properties of scoring functions (informal versions):

1. If you play long enough (i.e., k |V | steps), some score value willbe high (i.e., k).

2. At most one score value can increase at a time.

DefinitionFinite-time Muller game: (A,F0,F1, k) with threshold k ≥ 3.

Rules:

Players move a token through the arena.

Stop play w as soon as score of k is reached for the first time.

There is a unique F such that ScF (w) = k (see above).

Player i wins w iff F ∈ Fi .

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 7/16

Page 57: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 58: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 59: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 60: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 (w.l.o.g.)

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 61: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 62: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 63: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 64: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 65: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 66: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 67: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 68: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 69: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 70: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 71: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 72: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 73: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1 2 Sc{0,1,2} = 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 74: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1 2 Sc{0,1,2} = 2

3

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 75: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1 2 Sc{0,1,2} = 2

3 0

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 76: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1 2 Sc{0,1,2} = 2

3 0 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 77: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Two Examples

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Losing player (Player 1) can enforce score of two:

1 2 2 1 Sc{1,2} = 2

0 1 2

3

F0 = {{0, 1}, {1, 2},{0, 1, 2, 3}}

F1 = {{0, 1, 2}, {0, 2, 3}}

Losing player (Player 1) is the first to reach a score of two:

3 0 2

1 0 1 2 Sc{0,1,2} = 2

3 0 2 Sc{0,2,3} = 2

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 8/16

Page 78: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (FZ10)

The winning regions in a Muller game (A,F0,F1) and in the

finite-time Muller game (A,F0,F1, 3) coincide.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 9/16

Page 79: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (FZ10)

The winning regions in a Muller game (A,F0,F1) and in the

finite-time Muller game (A,F0,F1, 3) coincide.

Stronger statement, which implies the theorem:

Lemma (FZ10)

On her winning region, Player i can prevent her opponent from

ever reaching a score of 3 for every set F ∈ F1−i .

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 9/16

Page 80: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (FZ10)

The winning regions in a Muller game (A,F0,F1) and in the

finite-time Muller game (A,F0,F1, 3) coincide.

Stronger statement, which implies the theorem:

Lemma (FZ10)

On her winning region, Player i can prevent her opponent from

ever reaching a score of 3 for every set F ∈ F1−i .

Corollary

Two “reductions”: Muller game to ..

1. .. reachability game on unravelling up to score 3.

2. .. safety game: see next slides.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 9/16

Page 81: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Outline

1. Playing Muller Games in Finite Time

2. Solving Muller Games by Solving Safety Games

3. Conclusion

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 10/16

Page 82: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 83: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Idea: track of Player 1’s scores and avoid ScF = 3 for F ∈ F1.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 84: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

Idea: track of Player 1’s scores and avoid ScF = 3 for F ∈ F1.

Ignore scores of Player 0.Identify plays having the same scores and accumulators forPlayer 1: w =F1 w

′ iff last(w) = last(w ′) and for all F ∈ F1:

ScF (w) = ScF (w′) and AccF (w) = Acc(w ′)

Build =F1-quotient of unravelling up to score 3 for Player 1.Winning condition for Player 0: avoid ScF = 3 for all F ∈ F1.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 85: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

Sc{0,1} = 0, Acc{0,1} = {0}Sc{1,2} = 0, Acc{1,2} = ∅

Sc{0,1} = 0, Acc{0,1} = {1}Sc{1,2} = 0, Acc{1,2} = {1}

Sc{0,1} = 0, Acc{0,1} = ∅Sc{1,2} = 0, Acc{1,2} = {2}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 86: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

Sc{0,1} = 1, Acc{0,1} = ∅Sc{1,2} = 0, Acc{1,2} = ∅

Sc{0,1} = 0, Acc{0,1} = ∅Sc{1,2} = 1, Acc{1,2} = ∅

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 87: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

Sc{0,1} = 1, Acc{0,1} = ∅Sc{1,2} = 0, Acc{1,2} = ∅

Sc{0,1} = 1, Acc{0,1} = ∅Sc{1,2} = 0, Acc{1,2} = {1}

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 88: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 89: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 90: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

“Reducing“ Muller games to Safety Games

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 11/16

Page 91: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (NRZ11)

1. Player i wins the Muller game from v iff she wins the safety

game from [v ]=F1.

2. Player 0’s winning region in the safety game can be turned

into finite-state winning strategy for her in the Muller game.

3. Size of the safety game (n!)3.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 12/16

Page 92: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (NRZ11)

1. Player i wins the Muller game from v iff she wins the safety

game from [v ]=F1.

2. Player 0’s winning region in the safety game can be turned

into finite-state winning strategy for her in the Muller game.

3. Size of the safety game (n!)3.

Remarks:

Size of parity game in LAR-reduction n!. But: safety gamesallow much simpler algorithms.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 12/16

Page 93: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (NRZ11)

1. Player i wins the Muller game from v iff she wins the safety

game from [v ]=F1.

2. Player 0’s winning region in the safety game can be turned

into finite-state winning strategy for her in the Muller game.

3. Size of the safety game (n!)3.

Remarks:

Size of parity game in LAR-reduction n!. But: safety gamesallow much simpler algorithms.

2. does not hold for Player 1.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 12/16

Page 94: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Results

Theorem (NRZ11)

1. Player i wins the Muller game from v iff she wins the safety

game from [v ]=F1.

2. Player 0’s winning region in the safety game can be turned

into finite-state winning strategy for her in the Muller game.

3. Size of the safety game (n!)3.

Remarks:

Size of parity game in LAR-reduction n!. But: safety gamesallow much simpler algorithms.

2. does not hold for Player 1.

Not a reduction in the classical sense: not every play of theMuller game can be mapped to a play in the safety game.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 12/16

Page 95: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 96: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game..

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 97: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 98: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 99: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 100: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 101: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 102: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 103: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 104: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 105: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 106: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 107: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 108: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 109: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 110: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 111: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 112: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 113: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 114: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 115: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the safety game.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 116: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Safety to Muller

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

ScF for F ∈ F1 in Muller game bounded by 2 ⇒ winning strategy

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 13/16

Page 117: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 118: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two..

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 119: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 120: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 121: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 122: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 123: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 124: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 125: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 126: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 127: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 128: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 129: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 130: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 131: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 132: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 133: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Pick a winning strategy for the Muller game that bounds Player 1’sscores by two.. and let’s play.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 134: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Proof Idea: Muller to Safety

10 2F0 = {{0, 1, 2}, {0}, {2}}

F1 = {{0, 1}, {1, 2}}

[0]

[1]

[2]

[10]

[12]

[01]

[21]

[101]

[100]

[122]

[121]

[1010]

[1001]

[1221]

[1212]

[10101]

[10010]

[12212]

[12121]

[101010]

[100101]

[122121]

[121212]

Score of three is avoidable from every prefix ⇒ red vertices neverreached ⇒ winning strategy.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 14/16

Page 135: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Outline

1. Playing Muller Games in Finite Time

2. Solving Muller Games by Solving Safety Games

3. Conclusion

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 15/16

Page 136: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Conclusion

You can play Muller games in finite time!

New algorithm for Muller games: just solve the safety game.

New memory structure for Muller games: maximal elementsof winning region suffice (antichain).

New concept: permissive strategies for Muller games.

Same constructions applicable for many other types of games.

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 16/16

Page 137: Playing Infinite Games in Finite Timezimmermann/slides/AlgoSyn_2011.pdf · Playing Infinite Games in Finite Time JointworkwithJohnFearnley, DanielNeider,andRomanRabinovich Martin

Conclusion

You can play Muller games in finite time!

New algorithm for Muller games: just solve the safety game.

New memory structure for Muller games: maximal elementsof winning region suffice (antichain).

New concept: permissive strategies for Muller games.

Same constructions applicable for many other types of games.

Ongoing and future work:

Progress measure algorithm for Muller games?

Is there a tradeoff between size and quality of a strategy?

Can you play infinite games in infinite arenas in finite time?

Martin Zimmermann RWTH Aachen University Playing Infinite Games in Finite Time 16/16