energy parity games

79
Energy Parity Games Laurent Doyen LSV, ENS Cachan & CNRS Krishnendu Chatterjee IST Austria ICALP’10 & GT-Jeux’10

Upload: ghazi

Post on 26-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Energy Parity Games. Laurent Doyen LSV, ENS Cachan & CNRS Krishnendu Chatterjee IST Austria ICALP’10 & GT-Jeux’10. Games for system design. input. output. Spec: φ ( input,output ). System. Verification: check if a given system is correct  reduces to graph searching. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Energy Parity Games

Energy Parity GamesLaurent Doyen

LSV, ENS Cachan & CNRS

Krishnendu ChatterjeeIST Austria

ICALP’10 & GT-Jeux’10

Page 2: Energy Parity Games

Games for system design

• Verification: check if a given system is correct

reduces to graph searching

Systeminput outpu

t Spec: φ(input,output)

Page 3: Energy Parity Games

Games for system design

• Verification: check if a given system is correct

reduces to graph searching

• Synthesis : construct a correct system

reduces to game solving – finding a winning strategy

?input output Spec: φ(input,output)

Page 4: Energy Parity Games

Games for system design

• Verification: check if a given system is correct

reduces to graph searching

• Synthesis : construct a correct system

reduces to game solving – finding a winning strategy

… in a game played on a graph:

- two players: System vs. Environment

- turn-based, infinite number of rounds

- winning condition given by the spec

?input output Spec: φ(input,output)

Page 5: Energy Parity Games

Two-player games on graphs

Page 6: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Page 7: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 8: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 9: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 10: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 11: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 12: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 13: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 14: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 15: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 16: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Play:

Page 17: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

Strategies = recipe to extend the play prefixPlayer

1:Player 2:

outcome of two strategies is a play

Page 18: Energy Parity Games

Two-player games

Player 1 (good guy)

Player 2 (bad guy)

• Turn-based

• Infinite

• Winning condition ?

Strategies = recipe to extend the play prefixPlayer

1:Player 2:

outcome of two strategies is a play

Page 19: Energy Parity Games

Two-player games on graphs

Parity games

Qualitative

ω-regular specifications(reactivity, liveness,…)

Who wins ?

Page 20: Energy Parity Games

Two-player games on graphs

Parity games

Energy games

Qualitative Quantitative

ω-regular specifications(reactivity, liveness,…)

Resource-constrainedspecifications

Mean-payoff games

Who wins ?

Page 21: Energy Parity Games

Energy games

Page 22: Energy Parity Games

Energy games

Energy game:

Positive and negative weights (encoded in binary)

Page 23: Energy Parity Games

Energy games

Play:

Energy level: 3, 3, 4, 4, -1,…(sum of weights)

3 3 4 4 -1 …

Energy game:

Positive and negative weights (encoded in binary)

Page 24: Energy Parity Games

Energy level: 3, 3, 4, 4, -1,…

Energy games

3

Initial credit

A play is winning if the energy level is always nonnegative.

Play:

“Never exhaust the resource (memory, battery, …)” (equivalent to a game on a one-counter automaton)

3 3 4 4 -1 …

Energy game:

Positive and negative weights (encoded in binary)

Page 25: Energy Parity Games

Energy games

Player 1 (good guy)

Initial credit problem:

Decide if there exist an initial credit c0 and a strategy of player 1 to maintain the energy level always nonnegative.

Page 26: Energy Parity Games

Energy games

Player 1 (good guy)

Initial credit problem:

Decide if there exist an initial credit c0 and a strategy of player 1 to maintain the energy level always nonnegative.

For energy games, memoryless strategies suffice.

Page 27: Energy Parity Games

Energy games

A memoryless strategy is winning if all cycles are nonnegative when is fixed.

Initial credit problem:

Decide if there exist an initial credit c0 and a strategy of player 1 to maintain the energy level always nonnegative.

Page 28: Energy Parity Games

Energy games

Initial credit problem:

Decide if there exist an initial credit c0 and a strategy of player 1 to maintain the energy level always nonnegative.

A memoryless strategy is winning if all cycles are nonnegative when is fixed.

See [CdAHS03, BFLMS08]

Page 29: Energy Parity Games

Energy games

Initial credit problem:

Decide if there exist an initial credit c0 and a strategy of player 1 to maintain the energy level always nonnegative.

A memoryless strategy is winning if all cycles are nonnegative when is fixed.

See [CdAHS03, BFLMS08]

Page 30: Energy Parity Games

Energy games

Initial credit problem:

Decide if there exist an initial credit c0 and a strategy of player 1 to maintain the energy level always nonnegative.

c0=0

c0=0c0=0

c0=0

c0=5

c0=10

c0=15

A memoryless strategy is winning if all cycles are nonnegative when is fixed.

Minimum initial credit can be computed in

Page 31: Energy Parity Games

Mean-payoff games

Mean-payoff value of a play = limit-average of the visited weights

Optimal mean-payoff value can be achieved with a memoryless strategy.

Decision problem:

Decide if there exists a strategy for player 1 to ensure mean-payoff value ≥ 0.

Page 32: Energy Parity Games

Mean-payoff games

Mean-payoff value of a play = limit-average of the visited weights

Optimal mean-payoff value can be achieved with a memoryless strategy.

Decision problem:

Decide if there exists a strategy for player 1 to ensure mean-payoff value ≥ 0.

Page 33: Energy Parity Games

Mean-payoff games

Memoryless strategy σ ensures nonnegative mean-payoff value

iff

all cycles are nonnegative in Gσ

iff

memoryless strategy σ is winning in energy game

Mean-payoff games with threshold 0 are equivalent to energy games. [BFLMS08]

Page 34: Energy Parity Games

Parity games

Page 35: Energy Parity Games

Parity games

Parity game:

integer priority on states

Page 36: Energy Parity Games

Play:

Parity games

Parity game:

integer priority on states

A play is winning if the least priority visited infinitely often is even.

“Canonical representation of ω-regular specifications ” (e.g. all requests are eventually granted – G[r -> Fg])

5, 5, 5, 1, 0, 2, 4, 5, 5, 3…

Page 37: Energy Parity Games

Parity games

Player 1 (good guy)

Decision problem:

Decide if there exists a winning strategy of player 1 for parity condition.

Page 38: Energy Parity Games

Player 1 (good guy)

For parity games, memoryless strategies suffice.

Parity games

Decision problem:

Decide if there exists a winning strategy of player 1 for parity condition.

Page 39: Energy Parity Games

A memoryless strategy is winning if all cycles are even when is fixed.

Parity games

Decision problem:

Decide if there exists a winning strategy of player 1 for parity condition.

Page 40: Energy Parity Games

Decide if there exists a winning strategy of player 1 for parity condition.

A memoryless strategy is winning if all cycles are even when is fixed.

Parity games

Decision problem:

See [EJ91]

Page 41: Energy Parity Games

Summary

Strategy Algorithmic

Player 1 Player 2 complexity

Energy games

memoryless

memoryless

NP coNP

Parity gamesmemoryle

ssmemoryles

sNP coNP

Energy games - “never exhaust the resource”

Parity game – “always eventually do something useful”

Page 42: Energy Parity Games

Energy parity games

Page 43: Energy Parity Games

Two-player games on graphs

Parity games

Energy parity games

Qualitative Quantitative

Mixed qualitative-quantitative

ω-regular specifications(reactivity, liveness,…)

Energy games

Mean-payoff games

(Mean-payoff parity games have been studied in Lics’05)

Page 44: Energy Parity Games

Energy parity games

“never exhaust the resource”Energy parity games: and “always eventually do something useful”

Decide the existence of a finite initial credit sufficient to win.

Decision problem:

Page 45: Energy Parity Games

Energy parity games

“never exhaust the resource”Energy parity games: and “always eventually do something useful”

Page 46: Energy Parity Games

Summary

Strategy Algorithmic

Player 1 Player 2 complexity

Energy games

memoryless

memoryless

NP coNP

Parity gamesmemoryle

ssmemoryles

sNP coNP

Energy parity games

? ? ?

Energy games - “never exhaust the resource”

Parity game – “always eventually do something useful”

Page 47: Energy Parity Games

Energy parity games

“never exhaust the resource”Energy parity games: and “always eventually do something useful”

Energy games – a story of cycles

Parity games – a story of cycles

Energy parity games - ?

Decide the existence of a finite initial credit sufficient to win.

Decision problem:

Page 48: Energy Parity Games

A story of cycles

A one-player energy Büchi game

Page 49: Energy Parity Games

A story of cycles

A good cycle ?

good for parity

good for energy

Page 50: Energy Parity Games

A story of cycles

Winning strategy:

1. reach and repeat positive cycle to increase energy; 2. visit priority 0; 3. goto 1;

Page 51: Energy Parity Games

A story of cycles

Winning strategy:

1. reach and repeat O(2nW) times the positive cycle; 2. visit priority 0; 3. goto 1;

requires exponential memory !

Page 52: Energy Parity Games

Complexity

Strategy Algorithmic

Player 1 Player 2 complexity

Energy games

memoryless

memoryless

NP coNP

Parity gamesmemoryle

ssmemoryles

sNP coNP

Energy parity games

exponential

? ?

Page 53: Energy Parity Games

A story of cycles

In energy parity games, memoryless strategies are sufficient for Player 2.

Proof

(the minimum initial credit is same against memoryless Player 2)

Page 54: Energy Parity Games

A story of cycles

Proof

Preliminary fact: under optimal strategy, if we start in q, then energy in q is always greater than on first visit to q.

In energy parity games, memoryless strategies are sufficient for Player 2.

(the minimum initial credit is same against memoryless Player 2)

Page 55: Energy Parity Games

A story of cycles

Proof

• induction on player 2 states

• if player 1 wins against all memoryless strategies, then player 1 wins against all arbitrary strategies.

In energy parity games, memoryless strategies are sufficient for Player 2.

max(cl,cr)

(the minimum initial credit is same against memoryless Player 2)

cl

‘left’ game

cr

‘right’ game

Page 56: Energy Parity Games

Complexity

Strategy Algorithmic

Player 1 Player 2 complexity

Energy games

memoryless

memoryless

NP coNP

Parity gamesmemoryle

ssmemoryles

sNP coNP

Energy parity games

exponential

memoryless

?

Page 57: Energy Parity Games

Complexity

Strategy Algorithmic

Player 1 Player 2 complexity

Energy games

memoryless

memoryless

NP coNP

Parity gamesmemoryle

ssmemoryles

sNP coNP

Energy parity games

exponential

memoryless

NP coNP

Page 58: Energy Parity Games

A story of cycles

A good cycle ?

good for parity

good for energy

Page 59: Energy Parity Games

Good-for-energy strategies

A good-for-energy strategy is a winning strategy in the following cycle-forming game:

Cycle-forming game: play the game until a cycle is formed

Player 1 wins if energy of the cycle is positive, or energy is 0 and least priority is even.

If Player 1 wins in an energy parity game, then a memoryless good-for-energy strategy exists.(not iff)

Page 60: Energy Parity Games

1. Play good-for-energy. Either energy stabilizes and then least priority is even,or energy (strictly) increases.

2. When energy is high enough (+2nW):

2a. If (and while) game is in Q \ Attr(0), play a winning strategy in subgame defined by Q \ Attr(0).

2b. Whenever game is in Attr(0), reach 0 and start over.

• If least priority is 0

Structure of strategies

0Attr1(0)

Win

Page 61: Energy Parity Games

• If least priority is 1

Structure of strategies

1Attr2(1)

Win

Page 62: Energy Parity Games

1. Game can be partitioned into winning regions and their attractor.

2. Winning strategy combines subgame winning strategies and reachability strategies.

• If least priority is 1

Structure of strategies

1Attr2(1)

W1

Page 63: Energy Parity Games

1. Game can be partitionned into winning regions and their attractor.

2. Winning strategy combines subgame winning stragies and reachability strategies.

• If least priority is 1

Structure of strategies

1Attr2(1)

W1

W2

W3

Attr1(W1)

Attr1(W2)

Attr1(W3)

Corollary: memoryless strategies are sufficient in coBüchi energy games.

Page 64: Energy Parity Games

An NP solution

Assume NP-algorithm for d-1 priorities

NP-algorithm for d priorities:

- guess the winning set and good-for-energy strategy

- compute 0-attractor, and solve subgame in NP

0Attr1(0) Cd(n) ≤ p(n) + Cd-1(n-1)

least priority 0

Page 65: Energy Parity Games

An NP solution

Assume NP-algorithm for d-1 priorities

NP-algorithm for d priorities:

- guess the winning set and partition

- compute 1-attractor, and solve subgames in NP

1Attr2(1)

W1

W2

W3

Attr1(W1)

Attr1(W2)

Attr1(W3)

Cd(n) ≤ p(n) + Cd-1(n1) + … + Cd-

1(nk)

≤ p(n) + Cd-1(n1+ … + nk)

≤ p(n) + Cd-1(n-1)

least priority 1

Page 66: Energy Parity Games

Complexity

Strategy Algorithmic

Player 1 Player 2 complexity

Energy games

memoryless

memoryless

NP coNP

Parity gamesmemoryle

ssmemoryles

sNP coNP

Energy parity games

exponential

memoryless

NP coNP

Page 67: Energy Parity Games

Algorithm

Good-for-energy:

All cycles are either >0, or =0 and even

Algorithm for solving energy parity games ?

Determine good-for-energy winning states – a story of cycles

Reduction to (pure) energy games with modified weights:

cycles =0 and even >0cycles =0 and odd <0other cycles remain >0 or <0

Page 68: Energy Parity Games

Algorithm

Reduction to energy games with modified weights:

cycles =0 and even >0cycles =0 and odd <0other cycles remain >0 or <0

Positive increment for transitions from even states

Negative increment for transitions from odd states

Δenergy

priority0

1

2 430

1/n

-1/n2

Page 69: Energy Parity Games

Algorithm

Positive increment for transitions from even states

Negative increment for transitions from odd states

Increment is exponential (in nb. of priorities)

Δenergy

priority0

1

2 430

1/n

-1/n2

Page 70: Energy Parity Games

Algorithm

Algorithm for solving energy parity games ?

• Determine good-for-energy winning states

by solving modified-energy game in O(E.Qd+2.W)

• Recursive fixpoint algorithm, flavour of McNaughton-Zielonka

Note: a reduction to parity games (making energy explicit) would give complexity O(E.(Q2W)d).

Page 71: Energy Parity Games

Relationship with mean-payoff parity

games

Page 72: Energy Parity Games

Two-player games on graphs

Parity games

Energy games

Mean-payoff games

Energy parity games

Mean-payoff parity games

Qualitative Quantitative

Mixed qualitative-quantitative

Page 73: Energy Parity Games

Mean-payoff

Mean-payoff value of a play = limit-average of the visited weights

Optimal mean-payoff value can be achieved with a memoryless strategy.

Decision problem:

Decide if there exists a strategy for player 1 to ensure mean-payoff value ≥ 0.

Page 74: Energy Parity Games

Mean-payoff games

Memoryless strategy σ ensures nonnegative mean-payoff value

iff

all cycles are nonnegative in Gσ

iff

memoryless strategy σ is winning in energy game

Mean-payoff games with threshold 0 are equivalent to energy games. [BFLMS08]

(relies on memoryless strategies)

Page 75: Energy Parity Games

Mean-payoff parity

Mean-payoff parity games [CHJ05]

Objective:

- satisfy parity condition

- maximize mean-payoff

Infinite memory may be necessary !

However, finite-memory ε-optimal strategies exist.

Page 76: Energy Parity Games

Mean-payoff parity

Mean-payoff parity games are polynomially equivalent to energy parity games.

Reduction idea:

from MPP game, construct EP game by incrementing all weights by ε=1/(n+1)

If Player 1 wins MPP ≥0, then finite-memory ε-optimal strategy exists, which is winning in EP game.

If Player 1 wins EP game, then he wins MPP ≥ -ε and then also MPP ≥0 since the value in MPP has denominator ≤n.

Page 77: Energy Parity Games

ComplexityStrategy Algorithmic

Player 1 Player 2 complexity

Energymemoryle

ssmemoryles

sNP coNP

Paritymemoryle

ssmemoryles

sNP coNP

Energy parity

exponential

memoryless

NP coNP

Mean-payoff parity

infinitememoryles

sNP coNP

By-product: a conceptually simple algorithm for mean-payoff parity games.

Page 78: Energy Parity Games

Thank you !

Questions ?

The end

Page 79: Energy Parity Games

References

[CdAHS03]

A.Chakrabarti, L. de Alfaro, T.A. Henzinger, and M. Stoelinga. Resource interfaces, Proc. of EMSOFT: Embedded Software, LNCS 2855, Springer, pp.117-133, 2003

[EM79] A. Ehrenfeucht, and J. Mycielski, Positional Strategies for Mean-Payoff Games, International Journal of Game Theory, vol. 8, pp. 109-113, 1979

[BFL+08] P. Bouyer, U. Fahrenberg, K.G. Larsen, N. Markey, and J. Srba, Infinite Runs in Weighted Timed Automata with Energy Constraints, Proc. of FORMATS: Formal Modeling and Analysis of Timed Systems, LNCS 5215, Springer, pp. 33-47, 2008

[CHJ05] K. Chatterjee, T.A. Henzinger, M. Jurdzinski. Mean-payoff Parity Games, Proc. of LICS: Logic in Computer Science, IEEE, pp. 178-187, 2005.