Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that...

187
Infinite games on finite graphs Madhavan Mukund Chennai Mathematical Institute http://www.cmi.ac.in/˜ madhavan Formal Methods Update 2006, IIT Guwahati 3 July 2006 Madhavan Mukund Infinite games on finite graphs

Transcript of Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that...

Page 1: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Madhavan Mukund

Chennai Mathematical Institute

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

Formal Methods Update 2006, IIT Guwahati3 July 2006

Madhavan Mukund Infinite games on finite graphs

Page 2: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Reactive systems

Traditionally, computer programs are transformational

Madhavan Mukund Infinite games on finite graphs

Page 3: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Reactive systems

Traditionally, computer programs are transformationalCompute output as a function of inputs

- -

x f(x)

Madhavan Mukund Infinite games on finite graphs

Page 4: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Reactive systems

Traditionally, computer programs are transformationalCompute output as a function of inputs

- -

x f(x)

Inadequate to describe schedulers, operating systems . . .

Madhavan Mukund Infinite games on finite graphs

Page 5: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Reactive systems

Traditionally, computer programs are transformationalCompute output as a function of inputs

- -

x f(x)

Inadequate to describe schedulers, operating systems . . .Reactive systems

Madhavan Mukund Infinite games on finite graphs

Page 6: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Reactive systems

Traditionally, computer programs are transformationalCompute output as a function of inputs

- -

x f(x)

Inadequate to describe schedulers, operating systems . . .Reactive systems

system environment-

Madhavan Mukund Infinite games on finite graphs

Page 7: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Reactive systems

Traditionally, computer programs are transformationalCompute output as a function of inputs

- -

x f(x)

Inadequate to describe schedulers, operating systems . . .Reactive systems

system environment-

Describe continuous interaction between system andenvironment as an infinite game

Madhavan Mukund Infinite games on finite graphs

Page 8: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

Madhavan Mukund Infinite games on finite graphs

Page 9: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

Computation is a sequence of actions

Madhavan Mukund Infinite games on finite graphs

Page 10: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

req1

Computation is a sequence of actionsreq1

Madhavan Mukund Infinite games on finite graphs

Page 11: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

print1

Computation is a sequence of actionsreq1 print1

Madhavan Mukund Infinite games on finite graphs

Page 12: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

done

Computation is a sequence of actionsreq1 print1 done

Madhavan Mukund Infinite games on finite graphs

Page 13: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

req1or2

Computation is a sequence of actionsreq1 print1 done req1or2

Madhavan Mukund Infinite games on finite graphs

Page 14: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

print1

Computation is a sequence of actionsreq1 print1 done req1or2 print1

Madhavan Mukund Infinite games on finite graphs

Page 15: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

done

Computation is a sequence of actionsreq1 print1 done req1or2 print1 done

Madhavan Mukund Infinite games on finite graphs

Page 16: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

req1or2

Computation is a sequence of actionsreq1 print1 done req1or2 print1 done req1or2

Madhavan Mukund Infinite games on finite graphs

Page 17: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

print2

Computation is a sequence of actionsreq1 print1 done req1or2 print1 done req1or2 print2

Madhavan Mukund Infinite games on finite graphs

Page 18: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

donedone

Computation is a sequence of actionsreq1 print1 done req1or2 print1 done req1or2 print2 done

Madhavan Mukund Infinite games on finite graphs

Page 19: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Modelling reactive systems

A scheduler that allocates requests to two printers

req1

req1or2

req2

print1

print1

print2

print2

done

done

Computation is a sequence of actions , typically infinitereq1 print1 done req1or2 print1 done req1or2 print2 done . . .

Madhavan Mukund Infinite games on finite graphs

Page 20: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Desirable and undesirable computations

req1

req1or2

req2

print1

print1

print2

print2

done

done

Printer 1 is colour printer, Printer 2 is black and white

Madhavan Mukund Infinite games on finite graphs

Page 21: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Desirable and undesirable computations

req1

req1or2

req2

print1

print1

print2

print2

done

done

Printer 1 is colour printer, Printer 2 is black and whiteSchedule jobs to minimize cost

Madhavan Mukund Infinite games on finite graphs

Page 22: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Desirable and undesirable computations

req1

req1or2

req2

print1

print1

print2

print2

done

done

Printer 1 is colour printer, Printer 2 is black and whiteSchedule jobs to minimize cost — respond to req1or2 with print2

Madhavan Mukund Infinite games on finite graphs

Page 23: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Desirable and undesirable computations

req1

req1or2

req2

print1

print1

print2

print2

done

done

Printer 1 is colour printer, Printer 2 is black and whiteSchedule jobs to minimize cost — respond to req1or2 with print2req1 print1 done req1or2 print1 done req1or2 print2 done . . . is bad

Madhavan Mukund Infinite games on finite graphs

Page 24: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Desirable and undesirable computations

req1

req1or2

req2

print1

print1

print2

print2

done

done

Printer 1 is colour printer, Printer 2 is black and whiteSchedule jobs to minimize cost — respond to req1or2 with print2req1 print1 done req1or2 print1 done req1or2 print2 done . . . is badreq1 print1 done req1or2 print2 done req1or2 print2 done . . . is OK

Madhavan Mukund Infinite games on finite graphs

Page 25: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllable and uncontrollable actions

req1

req1or2

req2

print1

print1

print2

print2

done

done

Madhavan Mukund Infinite games on finite graphs

Page 26: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllable and uncontrollable actions

req1

req1or2

req2

print1

print1

print2

print2

done

done

req1

req1or2

req2

done

done

print1

print1

print2

print2

Requests are uncontrollable, choice of printer is controllable

Madhavan Mukund Infinite games on finite graphs

Page 27: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllable and uncontrollable actions

req1

req1or2

req2

print1

print1

print2

print2

done

done

req1

req1or2

req2

done

done

print1

print1

print2

print2

Requests are uncontrollable, choice of printer is controllableSelect controllable actions to achieve objective

Madhavan Mukund Infinite games on finite graphs

Page 28: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllable and uncontrollable actions

req1

req1or2

req2

print1

print1

print2

print2

done

done

req1or2

print1

Requests are uncontrollable, choice of printer is controllableSelect controllable actions to achieve objective— Respond to req1or2 with print2

Madhavan Mukund Infinite games on finite graphs

Page 29: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Madhavan Mukund Infinite games on finite graphs

Page 30: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Madhavan Mukund Infinite games on finite graphs

Page 31: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability . . . as a game

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Madhavan Mukund Infinite games on finite graphs

Page 32: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability . . . as a game

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Formulate the problem as a game

Madhavan Mukund Infinite games on finite graphs

Page 33: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability . . . as a game

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Formulate the problem as a game

Two players, system and environment

Madhavan Mukund Infinite games on finite graphs

Page 34: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability . . . as a game

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Formulate the problem as a game

Two players, system and environmentCan select moves for system

Madhavan Mukund Infinite games on finite graphs

Page 35: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability . . . as a game

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Formulate the problem as a game

Two players, system and environmentCan select moves for systemControl objective is represented as the winning criterion for thegame

Madhavan Mukund Infinite games on finite graphs

Page 36: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Controllability . . . as a game

Given a system and an objective, is there a strategy to selectcontrollable actions such that the objective is realized?

Can this strategy be effectively computed?

Formulate the problem as a game

Two players, system and environmentCan select moves for systemControl objective is represented as the winning criterion for thegameControllability is a winning strategy for system

Madhavan Mukund Infinite games on finite graphs

Page 37: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Madhavan Mukund Infinite games on finite graphs

Page 38: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Madhavan Mukund Infinite games on finite graphs

Page 39: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuck

Madhavan Mukund Infinite games on finite graphs

Page 40: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuckMoves need not be strictly alternating

Madhavan Mukund Infinite games on finite graphs

Page 41: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuckMoves need not be strictly alternating

A play of the game is an infinite path through the graph

Madhavan Mukund Infinite games on finite graphs

Page 42: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuckMoves need not be strictly alternating

A play of the game is an infinite path through the graph

Winning condition

Madhavan Mukund Infinite games on finite graphs

Page 43: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuckMoves need not be strictly alternating

A play of the game is an infinite path through the graph

Winning condition

Some infinite sequences of states are good

Madhavan Mukund Infinite games on finite graphs

Page 44: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuckMoves need not be strictly alternating

A play of the game is an infinite path through the graph

Winning condition

Some infinite sequences of states are goodPlayer 0 wins if the path chosen is describes a good sequence

Madhavan Mukund Infinite games on finite graphs

Page 45: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs

Two players, Player 0 and Player 1

Moves are determined by a finite game graph with positionslabelled 0 or 1.

Assume neither player ever gets stuckMoves need not be strictly alternating

A play of the game is an infinite path through the graph

Winning condition

Some infinite sequences of states are goodPlayer 0 wins if the path chosen is describes a good sequenceOtherwise Player 1 wins

Madhavan Mukund Infinite games on finite graphs

Page 46: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs . . .

s1

s2

s3

s0

s4

s5

req1

req1or2

req2

print1

print1

print2

print2

done

done

Player 0 plays at green positions, Player 1 at orange positions

Madhavan Mukund Infinite games on finite graphs

Page 47: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Infinite games on finite graphs . . .

s1

s2

s3

s0

s4

s5

req1

req1or2

req2

print1

print1

print2

print2

done

done

Player 0 plays at green positions, Player 1 at orange positions

Winning condition: every s2 is immediately followed by s5

Madhavan Mukund Infinite games on finite graphs

Page 48: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Madhavan Mukund Infinite games on finite graphs

Page 49: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

Madhavan Mukund Infinite games on finite graphs

Page 50: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good states

Madhavan Mukund Infinite games on finite graphs

Page 51: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Madhavan Mukund Infinite games on finite graphs

Page 52: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Madhavan Mukund Infinite games on finite graphs

Page 53: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

Madhavan Mukund Infinite games on finite graphs

Page 54: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

R0 = G — if already in G, we have visited G

Madhavan Mukund Infinite games on finite graphs

Page 55: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

R0 = G — if already in G, we have visited G

Ri+1 : states from which Player 0 can force game into Ri

Madhavan Mukund Infinite games on finite graphs

Page 56: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

R0 = G — if already in G, we have visited G

Ri+1 : states from which Player 0 can force game into Ri

0 plays at s, some move from s to s′ ∈ Ri ⇒ add s to Ri+1

Madhavan Mukund Infinite games on finite graphs

Page 57: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

R0 = G — if already in G, we have visited G

Ri+1 : states from which Player 0 can force game into Ri

0 plays at s, some move from s to s′ ∈ Ri ⇒ add s to Ri+1

1 plays at s, every move from s leads to s′ ∈ Ri ⇒ add s toRi+1

Madhavan Mukund Infinite games on finite graphs

Page 58: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

R0 = G — if already in G, we have visited G

Ri+1 : states from which Player 0 can force game into Ri

0 plays at s, some move from s to s′ ∈ Ri ⇒ add s to Ri+1

1 plays at s, every move from s leads to s′ ∈ Ri ⇒ add s toRi+1

Eventually Ri+1 = Ri because set of states is finite

Madhavan Mukund Infinite games on finite graphs

Page 59: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions

How are the winning conditions specified?

Simplest winning condition is reachability

A set G of good statesWant to visit some state in G at least once

Working backwards, compute Reach(G), the set of statesfrom which Player 0 can force the game to visit G

Compute Reach(G) iteratively

R0 = G — if already in G, we have visited G

Ri+1 : states from which Player 0 can force game into Ri

0 plays at s, some move from s to s′ ∈ Ri ⇒ add s to Ri+1

1 plays at s, every move from s leads to s′ ∈ Ri ⇒ add s toRi+1

Eventually Ri+1 = Ri because set of states is finite

This is Reach(G)

Madhavan Mukund Infinite games on finite graphs

Page 60: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Madhavan Mukund Infinite games on finite graphs

Page 61: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Madhavan Mukund Infinite games on finite graphs

Page 62: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Madhavan Mukund Infinite games on finite graphs

Page 63: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Madhavan Mukund Infinite games on finite graphs

Page 64: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Reach(G) : states from which G is reachable in zero or movemoves

Madhavan Mukund Infinite games on finite graphs

Page 65: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Reach(G) : states from which G is reachable in zero or movemoves

Calculate Reach+(G) iteratively, like Reach(G)

Madhavan Mukund Infinite games on finite graphs

Page 66: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Reach(G) : states from which G is reachable in zero or movemoves

Calculate Reach+(G) iteratively, like Reach(G)

R+0 is set of states from we can reach G in one move

Madhavan Mukund Infinite games on finite graphs

Page 67: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Reach(G) : states from which G is reachable in zero or movemoves

Calculate Reach+(G) iteratively, like Reach(G)

R+0 is set of states from we can reach G in one move

When computing Reach(G), R0 = G

Madhavan Mukund Infinite games on finite graphs

Page 68: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Reach(G) : states from which G is reachable in zero or movemoves

Calculate Reach+(G) iteratively, like Reach(G)

R+0 is set of states from we can reach G in one move

When computing Reach(G), R0 = G

R+i+1 : states where Player 0 can force game into R+

i , asbefore

Madhavan Mukund Infinite games on finite graphs

Page 69: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi condition)

Want to visit a set G of good states infinitely often

Reach some g ∈ G, such that from g we can return to g asmany times as we want

Must leave g and then get back

Reach+(G) : states from which we can reach G in one ormove moves

Reach(G) : states from which G is reachable in zero or movemoves

Calculate Reach+(G) iteratively, like Reach(G)

R+0 is set of states from we can reach G in one move

When computing Reach(G), R0 = G

R+i+1 : states where Player 0 can force game into R+

i , asbefore

Eventually R+i+1 = R+

i = Reach+(G)

Madhavan Mukund Infinite games on finite graphs

Page 70: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi) . . .

Want to visit a set G of good states infinitely often

Madhavan Mukund Infinite games on finite graphs

Page 71: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi) . . .

Want to visit a set G of good states infinitely often

Reach+(G) ∩ G — states in G from which we can return toG once

Madhavan Mukund Infinite games on finite graphs

Page 72: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi) . . .

Want to visit a set G of good states infinitely often

Reach+(G) ∩ G — states in G from which we can return toG once

Reach+(Reach+(G) ∩ G) ∩ G — states in G from which wecan return to G twice

Madhavan Mukund Infinite games on finite graphs

Page 73: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi) . . .

Want to visit a set G of good states infinitely often

Reach+(G) ∩ G — states in G from which we can return toG once

Reach+(Reach+(G) ∩ G) ∩ G — states in G from which wecan return to G twice

. . .

Madhavan Mukund Infinite games on finite graphs

Page 74: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi) . . .

Want to visit a set G of good states infinitely often

Reach+(G) ∩ G — states in G from which we can return toG once

Reach+(Reach+(G) ∩ G) ∩ G — states in G from which wecan return to G twice

. . .

Converges to Recur(G) — states in G from which we canreturn to G infinitely often

Madhavan Mukund Infinite games on finite graphs

Page 75: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Winning conditions — recurrence (Buchi) . . .

Want to visit a set G of good states infinitely often

Reach+(G) ∩ G — states in G from which we can return toG once

Reach+(Reach+(G) ∩ G) ∩ G — states in G from which wecan return to G twice

. . .

Converges to Recur(G) — states in G from which we canreturn to G infinitely often

Reach(Recur(G)) is the set of states from which Player 0can start and win the game

Madhavan Mukund Infinite games on finite graphs

Page 76: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

Madhavan Mukund Infinite games on finite graphs

Page 77: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)

Madhavan Mukund Infinite games on finite graphs

Page 78: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)Call this the rank of s

Madhavan Mukund Infinite games on finite graphs

Page 79: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)Call this the rank of ss has at least one successor of lower rank :uniformly fix one and choose it every time we are at s

Madhavan Mukund Infinite games on finite graphs

Page 80: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)Call this the rank of ss has at least one successor of lower rank :uniformly fix one and choose it every time we are at s

Strategy “decrease rank” depends only on s — no memory isrequired

Madhavan Mukund Infinite games on finite graphs

Page 81: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)Call this the rank of ss has at least one successor of lower rank :uniformly fix one and choose it every time we are at s

Strategy “decrease rank” depends only on s — no memory isrequired

Recurrence game also has memoryless strategy

Madhavan Mukund Infinite games on finite graphs

Page 82: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)Call this the rank of ss has at least one successor of lower rank :uniformly fix one and choose it every time we are at s

Strategy “decrease rank” depends only on s — no memory isrequired

Recurrence game also has memoryless strategy

Initially play decrease rank till we reach Recur(G)

Madhavan Mukund Infinite games on finite graphs

Page 83: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

For reachability game, Player 0 wins from state s ifs ∈ Reach(G)

s ∈ Ri for some Ri when computing Reach(G)Call this the rank of ss has at least one successor of lower rank :uniformly fix one and choose it every time we are at s

Strategy “decrease rank” depends only on s — no memory isrequired

Recurrence game also has memoryless strategy

Initially play decrease rank till we reach Recur(G)Every Player 0 state s ∈ Recur(G) is in Reach+(Recur(G)) :again play decrease rank to revisit Recur(G)

Madhavan Mukund Infinite games on finite graphs

Page 84: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy

What happens outside Reach(Recur(G))?

Madhavan Mukund Infinite games on finite graphs

Page 85: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy

What happens outside Reach(Recur(G))?

Trap for Player 0 : set of states X such that

Madhavan Mukund Infinite games on finite graphs

Page 86: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy

What happens outside Reach(Recur(G))?

Trap for Player 0 : set of states X such that

For Player 0, all moves from X lead back to X

Madhavan Mukund Infinite games on finite graphs

Page 87: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy

What happens outside Reach(Recur(G))?

Trap for Player 0 : set of states X such that

For Player 0, all moves from X lead back to XFor Player 1, at least one move from X leads back to X

Madhavan Mukund Infinite games on finite graphs

Page 88: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy

What happens outside Reach(Recur(G))?

Trap for Player 0 : set of states X such that

For Player 0, all moves from X lead back to XFor Player 1, at least one move from X leads back to X

Madhavan Mukund Infinite games on finite graphs

Page 89: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy

What happens outside Reach(Recur(G))?

Trap for Player 0 : set of states X such that

For Player 0, all moves from X lead back to XFor Player 1, at least one move from X leads back to X

Player 0 cannot leave the trap and Player 1 can force Player 0to stay in the trap

Madhavan Mukund Infinite games on finite graphs

Page 90: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy . . .

Complement of Reach(Recur(G)) is a 0 trap

Madhavan Mukund Infinite games on finite graphs

Page 91: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy . . .

Complement of Reach(Recur(G)) is a 0 trap

In general, for any set X, the complement of Reach(X) is a 0trap

Madhavan Mukund Infinite games on finite graphs

Page 92: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy . . .

Complement of Reach(Recur(G)) is a 0 trap

In general, for any set X, the complement of Reach(X) is a 0trap

If the game starts outside Reach(Recur(G), Player 1 cankeep the game outside Reach(Recur(G) and win

Madhavan Mukund Infinite games on finite graphs

Page 93: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy . . .

Complement of Reach(Recur(G)) is a 0 trap

In general, for any set X, the complement of Reach(X) is a 0trap

If the game starts outside Reach(Recur(G), Player 1 cankeep the game outside Reach(Recur(G) and win

Buchi games are determinedFrom every position, either Player 0 wins or Player 1 wins

Madhavan Mukund Infinite games on finite graphs

Page 94: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Determinacy . . .

Complement of Reach(Recur(G)) is a 0 trap

In general, for any set X, the complement of Reach(X) is a 0trap

If the game starts outside Reach(Recur(G), Player 1 cankeep the game outside Reach(Recur(G) and win

Buchi games are determinedFrom every position, either Player 0 wins or Player 1 wins

This is a special case of a very general result for infinite games[Martin, 1975]

Madhavan Mukund Infinite games on finite graphs

Page 95: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions

A

B

1

2

Madhavan Mukund Infinite games on finite graphs

Page 96: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions

A

B

1

2

A play in this game is a sequence in which states {1, 2}alternate with {A, B}

Madhavan Mukund Infinite games on finite graphs

Page 97: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions

A

B

1

2

A play in this game is a sequence in which states {1, 2}alternate with {A, B}

Player 0 wins if the highest number that appears infinitelyoften is equal to the number of letters that appear infinitelyoften

Madhavan Mukund Infinite games on finite graphs

Page 98: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions

A

B

1

2

A play in this game is a sequence in which states {1, 2}alternate with {A, B}

Player 0 wins if the highest number that appears infinitelyoften is equal to the number of letters that appear infinitelyoften

If only A or B appear infinitely often, 2 should not appearinfinitely often

Madhavan Mukund Infinite games on finite graphs

Page 99: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions

A

B

1

2

A play in this game is a sequence in which states {1, 2}alternate with {A, B}

Player 0 wins if the highest number that appears infinitelyoften is equal to the number of letters that appear infinitelyoften

If only A or B appear infinitely often, 2 should not appearinfinitely oftenIf both A and B appear infinitely often, 2 should appearinfinitely often

Madhavan Mukund Infinite games on finite graphs

Page 100: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

Madhavan Mukund Infinite games on finite graphs

Page 101: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

A memoryless strategy will force Player 0 to uniformly respondwith a move to 1 or 2 from A and from B

Madhavan Mukund Infinite games on finite graphs

Page 102: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

A memoryless strategy will force Player 0 to uniformly respondwith a move to 1 or 2 from A and from B

If Player 0 chooses 1 from both, Player 1 alternates A and B

Madhavan Mukund Infinite games on finite graphs

Page 103: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

A memoryless strategy will force Player 0 to uniformly respondwith a move to 1 or 2 from A and from B

If Player 0 chooses 1 from both, Player 1 alternates A and BIf Player 0 chooses 1 from A and 2 from B, Player 1 alwaysplays B

Madhavan Mukund Infinite games on finite graphs

Page 104: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

A memoryless strategy will force Player 0 to uniformly respondwith a move to 1 or 2 from A and from B

If Player 0 chooses 1 from both, Player 1 alternates A and BIf Player 0 chooses 1 from A and 2 from B, Player 1 alwaysplays BIf Player 0 chooses 2 from A and 1 from B, Player 1 alwaysplays A

Madhavan Mukund Infinite games on finite graphs

Page 105: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

A memoryless strategy will force Player 0 to uniformly respondwith a move to 1 or 2 from A and from B

If Player 0 chooses 1 from both, Player 1 alternates A and BIf Player 0 chooses 1 from A and 2 from B, Player 1 alwaysplays BIf Player 0 chooses 2 from A and 1 from B, Player 1 alwaysplays AIf Player 0 chooses 2 from both, Player 1 uniformly chooses A(or B)

Madhavan Mukund Infinite games on finite graphs

Page 106: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

Madhavan Mukund Infinite games on finite graphs

Page 107: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

Player 0 should remember what Player 1 has played

Madhavan Mukund Infinite games on finite graphs

Page 108: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

Player 0 should remember what Player 1 has played

Choose 1 if the latest move by Player 1 is the same as theprevious move

Madhavan Mukund Infinite games on finite graphs

Page 109: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

Player 0 should remember what Player 1 has played

Choose 1 if the latest move by Player 1 is the same as theprevious moveChoose 2 if the latest move by Player 1 is different from theprevious move

Madhavan Mukund Infinite games on finite graphs

Page 110: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

A

B

1

2

Player 0 should remember what Player 1 has played

Choose 1 if the latest move by Player 1 is the same as theprevious moveChoose 2 if the latest move by Player 1 is different from theprevious move

This is a finite memory strategy — Player 0 only needs toremember one previous move of Player 1

Madhavan Mukund Infinite games on finite graphs

Page 111: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

Muller condition: family of good sets (G1, G2, . . . , Gk)Set of states visited infinitely often should exactly be one ofthe Gi’s

Madhavan Mukund Infinite games on finite graphs

Page 112: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

Muller condition: family of good sets (G1, G2, . . . , Gk)Set of states visited infinitely often should exactly be one ofthe Gi’s

The winning condition of the previous example can berepresented as the family({1, A}, {1, B}, {2, A, B}, {1, 2, A, B})

Madhavan Mukund Infinite games on finite graphs

Page 113: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

More complicated winning conditions . . .

Muller condition: family of good sets (G1, G2, . . . , Gk)Set of states visited infinitely often should exactly be one ofthe Gi’s

The winning condition of the previous example can berepresented as the family({1, A}, {1, B}, {2, A, B}, {1, 2, A, B})

A

B

1

2

Madhavan Mukund Infinite games on finite graphs

Page 114: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Madhavan Mukund Infinite games on finite graphs

Page 115: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Madhavan Mukund Infinite games on finite graphs

Page 116: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each state

Madhavan Mukund Infinite games on finite graphs

Page 117: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

Madhavan Mukund Infinite games on finite graphs

Page 118: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

Madhavan Mukund Infinite games on finite graphs

Page 119: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2

Madhavan Mukund Infinite games on finite graphs

Page 120: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A

Madhavan Mukund Infinite games on finite graphs

Page 121: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2

Madhavan Mukund Infinite games on finite graphs

Page 122: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B

Madhavan Mukund Infinite games on finite graphs

Page 123: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2

Madhavan Mukund Infinite games on finite graphs

Page 124: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A

Madhavan Mukund Infinite games on finite graphs

Page 125: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → 1B • A2

Madhavan Mukund Infinite games on finite graphs

Page 126: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → 1B • A2→ 1 • A2B

Madhavan Mukund Infinite games on finite graphs

Page 127: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → 1B • A2→ 1 • A2B → 1A • B2

Madhavan Mukund Infinite games on finite graphs

Page 128: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Strategies and memory

Need a systematic way to maintain bounded history

Later Appearance Record (LAR)

Remember relative order of last visit to each stateHit position, where last change occurred

A

B

1

2

A → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → · · ·

Madhavan Mukund Infinite games on finite graphs

Page 129: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Analyzing LAR

States visited only finite number of times eventually stay toleft of hit position

Madhavan Mukund Infinite games on finite graphs

Page 130: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Analyzing LAR

States visited only finite number of times eventually stay toleft of hit position

If exactly s1, s2, . . . , sn are visited infinitely often, theninfinitely often the LAR will be of the form α • β where,among the states visited so far,

Madhavan Mukund Infinite games on finite graphs

Page 131: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Analyzing LAR

States visited only finite number of times eventually stay toleft of hit position

If exactly s1, s2, . . . , sn are visited infinitely often, theninfinitely often the LAR will be of the form α • β where,among the states visited so far,

α is the set of states visited finite number of times

Madhavan Mukund Infinite games on finite graphs

Page 132: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Analyzing LAR

States visited only finite number of times eventually stay toleft of hit position

If exactly s1, s2, . . . , sn are visited infinitely often, theninfinitely often the LAR will be of the form α • β where,among the states visited so far,

α is the set of states visited finite number of timesβ is a permutation of s1, s2, . . . , sn

Madhavan Mukund Infinite games on finite graphs

Page 133: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Analyzing LAR

States visited only finite number of times eventually stay toleft of hit position

If exactly s1, s2, . . . , sn are visited infinitely often, theninfinitely often the LAR will be of the form α • β where,among the states visited so far,

α is the set of states visited finite number of timesβ is a permutation of s1, s2, . . . , sn

Consider a runA → 1 → B → 2 → A → 2 → B → 2 → A → 2 → · · ·,visiting {A, B, 2} infinitely often

Madhavan Mukund Infinite games on finite graphs

Page 134: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Analyzing LAR

States visited only finite number of times eventually stay toleft of hit position

If exactly s1, s2, . . . , sn are visited infinitely often, theninfinitely often the LAR will be of the form α • β where,among the states visited so far,

α is the set of states visited finite number of timesβ is a permutation of s1, s2, . . . , sn

Consider a runA → 1 → B → 2 → A → 2 → B → 2 → A → 2 → · · ·,visiting {A, B, 2} infinitely often

LAR evolves asA → A1 → A1B → A1B2 → •1B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → 1B • A2→ 1 • A2B → 1A • B2 → 1 • B2A → · · ·

Madhavan Mukund Infinite games on finite graphs

Page 135: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Madhavan Mukund Infinite games on finite graphs

Page 136: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Madhavan Mukund Infinite games on finite graphs

Page 137: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Madhavan Mukund Infinite games on finite graphs

Page 138: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

Madhavan Mukund Infinite games on finite graphs

Page 139: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Madhavan Mukund Infinite games on finite graphs

Page 140: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Merge (Ei, Ei+1) if Fi \ Ei = ∅

Madhavan Mukund Infinite games on finite graphs

Page 141: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Merge (Ei, Ei+1) if Fi \ Ei = ∅Merge (Fi, Fi+1) if Ei+1 \ Fi = ∅

Madhavan Mukund Infinite games on finite graphs

Page 142: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Merge (Ei, Ei+1) if Fi \ Ei = ∅Merge (Fi, Fi+1) if Ei+1 \ Fi = ∅

Among E1 ( F1 ( · · · ( En ( Fn, consider largest set thatappears infinitely often

Madhavan Mukund Infinite games on finite graphs

Page 143: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Merge (Ei, Ei+1) if Fi \ Ei = ∅Merge (Fi, Fi+1) if Ei+1 \ Fi = ∅

Among E1 ( F1 ( · · · ( En ( Fn, consider largest set thatappears infinitely often

If this set is some Ei, Player 0 loses

Madhavan Mukund Infinite games on finite graphs

Page 144: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Merge (Ei, Ei+1) if Fi \ Ei = ∅Merge (Fi, Fi+1) if Ei+1 \ Fi = ∅

Among E1 ( F1 ( · · · ( En ( Fn, consider largest set thatappears infinitely often

If this set is some Ei, Player 0 losesIf this set is some Fi, Player 0 wins

Madhavan Mukund Infinite games on finite graphs

Page 145: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

A new winning condition

Muller condition (G1, G2, . . . , Gk)

Expand state space to include LAR: states are now (s, ℓ)

Ei : (s, ℓ) s.t. ℓ = α • β an LAR with hit position < i

Fi : Ei plus (s, ℓ) s.t. ℓ = α • β an LAR with hit position= i and β a permutation of some Muller set Gj

E1 ( F1 ( E2 ( · · · ( En ( Fn

Merge (Ei, Ei+1) if Fi \ Ei = ∅Merge (Fi, Fi+1) if Ei+1 \ Fi = ∅

Among E1 ( F1 ( · · · ( En ( Fn, consider largest set thatappears infinitely often

If this set is some Ei, Player 0 losesIf this set is some Fi, Player 0 wins

Rabin chain condition

Madhavan Mukund Infinite games on finite graphs

Page 146: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Madhavan Mukund Infinite games on finite graphs

Page 147: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Madhavan Mukund Infinite games on finite graphs

Page 148: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

Madhavan Mukund Infinite games on finite graphs

Page 149: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1

Madhavan Mukund Infinite games on finite graphs

Page 150: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1States in F1 \ E1 get colour 2

Madhavan Mukund Infinite games on finite graphs

Page 151: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1States in F1 \ E1 get colour 2. . .

Madhavan Mukund Infinite games on finite graphs

Page 152: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1States in F1 \ E1 get colour 2. . .States in Ei \ Fi−1 get colour 2i − 1

Madhavan Mukund Infinite games on finite graphs

Page 153: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1States in F1 \ E1 get colour 2. . .States in Ei \ Fi−1 get colour 2i − 1States in Fi \ Ei get colour 2i

Madhavan Mukund Infinite games on finite graphs

Page 154: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1States in F1 \ E1 get colour 2. . .States in Ei \ Fi−1 get colour 2i − 1States in Fi \ Ei get colour 2i

Player 0 wins if largest colour visited infinitely often is even

Madhavan Mukund Infinite games on finite graphs

Page 155: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity condition

Rabin chain condition E1 ( F1 ( · · · ( En ( Fn

Player 0 wins if “index” of largest infinitely occurring set iseven

Colour states with colours {1, 2, . . . , 2n}

States in E1 get colour 1States in F1 \ E1 get colour 2. . .States in Ei \ Fi−1 get colour 2i − 1States in Fi \ Ei get colour 2i

Player 0 wins if largest colour visited infinitely often is even

Parity condition

Madhavan Mukund Infinite games on finite graphs

Page 156: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies

Trap for Player 0 : set of states X such that

For Player 0, all moves from X lead back to XFor Player 1, at least one move from X leads back to XPlayer 0 cannot leave the trap and Player 1 can force Player 0to stay in the trap

Trap for Player 1 : symmetric

For any X, S \ Reach(X) is a 0 trap

Madhavan Mukund Infinite games on finite graphs

Page 157: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

A set of positions U is a 0-paradise if U is a 1 trap in whichPlayer 0 has a winning strategy

Madhavan Mukund Infinite games on finite graphs

Page 158: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

A set of positions U is a 0-paradise if U is a 1 trap in whichPlayer 0 has a winning strategy

Define a 1-paradise symmetrically

Madhavan Mukund Infinite games on finite graphs

Page 159: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

A set of positions U is a 0-paradise if U is a 1 trap in whichPlayer 0 has a winning strategy

Define a 1-paradise symmetrically

Theorem

The set of positions of a parity game can be partitioned into a0-paradise and a 1-paradise

Madhavan Mukund Infinite games on finite graphs

Page 160: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

A set of positions U is a 0-paradise if U is a 1 trap in whichPlayer 0 has a winning strategy

Define a 1-paradise symmetrically

Theorem

The set of positions of a parity game can be partitioned into a0-paradise and a 1-paradise

Proof is by induction on the size of largest colour n used tolabel positions

Base case: n = 0

Madhavan Mukund Infinite games on finite graphs

Page 161: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

A set of positions U is a 0-paradise if U is a 1 trap in whichPlayer 0 has a winning strategy

Define a 1-paradise symmetrically

Theorem

The set of positions of a parity game can be partitioned into a0-paradise and a 1-paradise

Proof is by induction on the size of largest colour n used tolabel positions

Base case: n = 0

Only Player 0 can win

Madhavan Mukund Infinite games on finite graphs

Page 162: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

A set of positions U is a 0-paradise if U is a 1 trap in whichPlayer 0 has a winning strategy

Define a 1-paradise symmetrically

Theorem

The set of positions of a parity game can be partitioned into a0-paradise and a 1-paradise

Proof is by induction on the size of largest colour n used tolabel positions

Base case: n = 0

Only Player 0 can winEntire set of positions is a 0 paradise

Madhavan Mukund Infinite games on finite graphs

Page 163: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

Assume n > 0 is even (n odd is symmetric)

Madhavan Mukund Infinite games on finite graphs

Page 164: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

Assume n > 0 is even (n odd is symmetric)

Madhavan Mukund Infinite games on finite graphs

Page 165: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

Assume n > 0 is even (n odd is symmetric)

X1

X0

Suppose X1 is an 1-paradise and complement X0 is a 1 trap

Madhavan Mukund Infinite games on finite graphs

Page 166: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

Assume n > 0 is even (n odd is symmetric)

X1

X0

N

Suppose X1 is an 1-paradise and complement X0 is a 1 trap

Let N ⊆ XO be states with colour n

Madhavan Mukund Infinite games on finite graphs

Page 167: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

Assume n > 0 is even (n odd is symmetric)

X1

N

Reach(N)

Z

Suppose X1 is an 1-paradise and complement X0 is a 1 trap

Let N ⊆ XO be states with colour n

Let Z be X0 \ Reach(N)

Madhavan Mukund Infinite games on finite graphs

Page 168: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

Assume n > 0 is even (n odd is symmetric)

X1

N

Reach(N)

Z1

Z0

Suppose X1 is an 1-paradise and complement X0 is a 1 trap

Let N ⊆ XO be states with colour n

Let Z be X0 \ Reach(N)

Z is a subgame with parities < nInductively, split Z as 1 paradise Z1 and 0 paradise Z0

Madhavan Mukund Infinite games on finite graphs

Page 169: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

Madhavan Mukund Infinite games on finite graphs

Page 170: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

Z is a 0 trap in X0, Z1 is a 0 trap in Z ⇒ Z1 is a 0 trap in X0

Madhavan Mukund Infinite games on finite graphs

Page 171: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

Z is a 0 trap in X0, Z1 is a 0 trap in Z ⇒ Z1 is a 0 trap in X0

X1 ∪ Z1 is a 0 trap

Madhavan Mukund Infinite games on finite graphs

Page 172: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

Z is a 0 trap in X0, Z1 is a 0 trap in Z ⇒ Z1 is a 0 trap in X0

X1 ∪ Z1 is a 0 trapIf game stays in Z1, 1 wins Z game

Madhavan Mukund Infinite games on finite graphs

Page 173: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

Z is a 0 trap in X0, Z1 is a 0 trap in Z ⇒ Z1 is a 0 trap in X0

X1 ∪ Z1 is a 0 trapIf game stays in Z1, 1 wins Z gameIf game moves to X1, 1 wins in X1

Madhavan Mukund Infinite games on finite graphs

Page 174: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

If Z1 is empty, X0 is a 0 paradise

Madhavan Mukund Infinite games on finite graphs

Page 175: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

If Z1 is empty, X0 is a 0 paradise

From N, return to X0

Madhavan Mukund Infinite games on finite graphs

Page 176: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

If Z1 is empty, X0 is a 0 paradise

From N, return to X0

From Reach(N) return to N

Madhavan Mukund Infinite games on finite graphs

Page 177: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

If Z1 is empty, X0 is a 0 paradise

From N, return to X0

From Reach(N) return to NFrom Z0 win Z0 game

Madhavan Mukund Infinite games on finite graphs

Page 178: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Parity games have memoryless winning strategies . . .

X1

N

Reach(N)

Z1

Z0

X0

Z

If Z1 is nonempty, we can extend 1 paradise X1 to X1 ∪ Z1

If Z1 is empty, X0 is a 0 paradise

Recursively partition positions into 0 and 1 paradise, startingwith X1 empty

Madhavan Mukund Infinite games on finite graphs

Page 179: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Madhavan Mukund Infinite games on finite graphs

Page 180: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Madhavan Mukund Infinite games on finite graphs

Page 181: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Pushdown graphs, corresponding to an automaton with a stack

Madhavan Mukund Infinite games on finite graphs

Page 182: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Pushdown graphs, corresponding to an automaton with a stack

The model checking problem for modal µ-calculus directlyreduces to solving parity games

Madhavan Mukund Infinite games on finite graphs

Page 183: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Pushdown graphs, corresponding to an automaton with a stack

The model checking problem for modal µ-calculus directlyreduces to solving parity games

What is the complexity of constructing a memoryless winningstrategy for parity games?

Madhavan Mukund Infinite games on finite graphs

Page 184: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Pushdown graphs, corresponding to an automaton with a stack

The model checking problem for modal µ-calculus directlyreduces to solving parity games

What is the complexity of constructing a memoryless winningstrategy for parity games?

Our recursive algorithm has complexity O(mnd) for a gamewith m edges, n positions, d colours

Madhavan Mukund Infinite games on finite graphs

Page 185: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Pushdown graphs, corresponding to an automaton with a stack

The model checking problem for modal µ-calculus directlyreduces to solving parity games

What is the complexity of constructing a memoryless winningstrategy for parity games?

Our recursive algorithm has complexity O(mnd) for a gamewith m edges, n positions, d coloursThe problem is in NP ∩ co(NP). Is it in P?

Madhavan Mukund Infinite games on finite graphs

Page 186: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

Concluding remarks

Problem originally posed by Church/Buchi, solved by Buchiand Landweber in 1969

Can be extended to certain kinds of infinite game graphs thatare finitely generated

Pushdown graphs, corresponding to an automaton with a stack

The model checking problem for modal µ-calculus directlyreduces to solving parity games

What is the complexity of constructing a memoryless winningstrategy for parity games?

Our recursive algorithm has complexity O(mnd) for a gamewith m edges, n positions, d coloursThe problem is in NP ∩ co(NP). Is it in P?

Can we do improve on LAR for winning conditions thatrequire memory?

Madhavan Mukund Infinite games on finite graphs

Page 187: Infinite games on finite graphsmadhavan/presentations/update06/update06... · A scheduler that allocates requests to two printers req1 req1or2 req2 print1 print1 print2 print2 done

References

Robert McNaughton:Infinite games played on finite graphs,Annals of Pure and Applied Logic, 65 (1993) 149–184.

Wolfgang Thomas:On the synthesis of strategies in infinite games,Proceedings of STACS 1995,Springer Lecture Notes in Computer Science (1995).

Erich Gradel, Wolfgang Thomas, Thomas Wilke (Eds.):Automata, Logics, and Infinite Games: A Guide to CurrentResearch,Springer Lecture Notes in Computer Science Vol 2500 (2002).

Madhavan Mukund Infinite games on finite graphs