410 likes | 519 Views
Game, Bisimulation and Model Checking. Presented by Daniel Choi Provable Software Lab. KAIST. Game, Bisimulation and Model Checking. Content. Introduction Game Theory Classification of Games Notations Applications to Model Verification Bisimulation Model Checking Conclusion.
E N D
Game, Bisimulation and Model Checking Presented by Daniel Choi Provable Software Lab. KAIST
Game, Bisimulation and Model Checking Content • Introduction • Game Theory • Classification of Games • Notations • Applications to Model Verification • Bisimulation • Model Checking • Conclusion Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Introduction Game Theory? Game theory is the study of the choice of strategies by interacting rational agents. Roger A. McCain, Game Theory: A Nontechnical Introduction to the Analysis of Strategy (South-western, 2004) Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Introduction – Game Theory Simple Example • Nim Game Take one or more coins at the same rowThe player who takes the last coin wins Example from : Roger A. McCain, Game Theory: A Nontechnical Introduction to the Analysis of Strategy (South-western, 2004) Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Introduction – Game Theory – Simple Example Rules for Nim Game • Players • Shin • Yun-ho • Assumption • Shin starts first • Strategies for Shin • Take one coin from the top row • Take one coin from the second row • Take both coins from the second row Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Introduction – Game Theory – Simple Example Tree Diagram for Nim • Shin’s turn • Yun-ho’s turn Shin Wins A l w i n s • Shin’s turn Yun-ho Wins B o b w i n s Shin Wins A l w i n s Shin Wins A l w i n s Yun-ho Wins B o b w i n s Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Introduction – Game Theory Characteristics of Game Theory • It can formally analyze the game • E.g. Tree diagram • Metaphor • Many interactions can be treated and analyzed as a game • Game theoretic analysis is to discover which strategy is a person’s best response to the strategies chosen by the others. Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Introduction – Game Theory Computer Science and Game Theory • Worst-Case Analysis • Game between a solver and an adversary • Network routing • Game between client and environment • Game between router and clients • Load-sharing in distributed systems • Game between server and client(or other server) Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory - Motivation Model Checking Requirement Properties Target Model How about different approaches? Game Theory (F W) Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory - Motivation Game Theoretical Framework for Model Checking Target Model The model satisfies the requirement properties!! The model does not satisfy the requirement properties!! Does Player 2 always win? Requirement Properties (F W) Player 1 Player 2 Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game, Bisimulation and Model Checking Content • Introduction • Game Theory • Classification of Games • Notations • Applications to Model Verification • Bisimulation • Model Checking • Conclusion Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory Classification of Games • Non-cooperative game • The players act individually, each decision of a player influences the payoff of the other players • Cooperative game • The players are allowed to from coalitions and combine their decision-making problems Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory – Classification of Games Non-cooperative Game • Normal form • Decisions of players are simultaneous • The payoffs are represented by a matrix • Ex. Prisoner’s Dilemma • Extensive form • Decisions of players are sequential • The payoffs are represented by a tree • Ex. Nim game Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory – Classification of Games – Non-cooperative Game Normal Forms – Prisoner’s Dilemma Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory – Classification of Games – Non-cooperative Game Normal Forms – Prisoner’s Dilemma • Al Thinks rationally • Case 1: Bob confess • If Al confess then Al will get 10 years and Bob will get 10 years • If Al does not confess then Al will get 20 years, Bob will get 0 years • Case 2: Bob does not confess • If Al confess then Al will get 0 years, Bob will get 20 years • If Al does not confess then Al will get 1 years, Bob will get 1 years Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory – Classification of Games – Non-cooperative Game Cooperative Game • Al Thinks rationally • Case 1: Bob confess • If Al confess then Al will get 10 years and Bob will get 10 years • If Al does not confess then Al will get 20 years, Bob will get 0 years • Case 2: Bob does not confess • If Al confess then Al will get 0 years, Bob will get 20 years • If Al does not confess then Al will get 1 years, Bob will get 1 years Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory Notations of Extensive Game • Extensive game • With perfect information • Any player knows all the moves made before one’s own move • Without perfect information • A player makes one’s move in the game, one does not know opponent player’s move • Computation (run or sequence) • Interaction between “Player” and “Opponent” • Represented by a sequence of move • Opponent always makes the first move Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory - Notations of Extensive Game Definition of Game • Definition of Game (MG, λG, PG) • MG : the set of moves of the game • λG : MG → {P, O} • Labeling function designating each move as by Player or Opponent • PG : the set of alternating sequences of moves in MG • Non-empty, prefix-closed • Example • MG = {a1, a2, b1, b2, b3} • λG = {(a1, O), (a2, O), (b1, P), (b2, P), (b3, P)} • PG = {ε , a1, a1b1, a2, a2b2, a2b3} a1 a2 b2 b1 b3 Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game Theory - Notations of Extensive Game - Definition of Game Strategies • A game can be seen as specifying the possible interactions between a System and its Environment • Games classify behaviors • Programs will be modeled by strategies • Strategies are rules specifying how the System should actually play • Deterministic strategy σ on a game G (σ ⊆ PGeven) • ε∈ σ • sab ∈σ ⇒ s ∈σ • sab, sac ∈σ ⇒ b = c Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game, Bisimulation and Model Checking Content • Introduction • Game Theory • Classification of Games • Notations • Applications to Model Verification • Bisimulation • Model Checking • Conclusion Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification CCS Overview Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification – CCS Overview Bisimulation Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification – CCS Overview Bisimulation Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification Game-theoretical View • Bisimulation relation can be modeled as a Bisimulation game (Equivalence Game) • Observer can repeatedly interact with a process by choosing an available transition from it • Observer match their selections so that they can proceed with further corresponding choices • Equivalence game G(E0, F0) • Player I and II : Observers who make choices of transitions • Player I attempts to show initial processes are different • Player II attempts to show two processes are equivalent Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification Game-theoretical View • Equivalence game G(E0, F0) • Player I chooses a transition Ej –a-> Ej+1 and then player II chooses a transition with the same label Fj –a-> Fj+1 • Player I chooses a transition Fj –a-> Fj+1 and then player II chooses a transition with the same label Ej –a-> Ej+1 • Player I win • Player I can choose a transition and player II will be unable to match it • Player II win • If the play is infinite • If the play reaches the position (En, Fn) and both processes have no available transitions Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification - Game-theoretical View Example G(Clock, Clock2) Clock Clock2 Clock and Clock2 is different! Clock and Clock2 is equivalent! (Clock, Clock2), (Clock, tick.Clock2), (Clock, Clock2) …. tick tick Player II wins tick Player I Player II Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification - Game-theoretical View Example G(Clock, Clock2) Clock Clock’ Clock and Clock’ is different! Clock and Clock’ is equivalent! tick tick tick (Clock, 0) Player I wins 0 Player I Player II Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification - Game-theoretical View Winning Strategy • Winning Strategy π • If the player wins every play in which the player uses π • PropositionFor any game G(E,F) either player I or player II has a history-free winning strategy • History-free : Rules do not depend on what happened previously in the play • If player II has a winning strategy for G(E, F) then E is game equivalent to process F Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Application to the Model Verification - Game-theoretical View Game Equivalent • E is game equivalent to F iff E is bisimular to F • Only if • Showing that the relation R = {(E, F) | E and F are game equivalent} is a bisimulation. • Player I’s move : E –a-> E’ (this is possible move by player I)Player II can respond with F –a-> F’ (by game equivalent relation) • Player I’s move : F –a-> F’ (this is possible move by player I) Player II can respond with E –a-> E’ (by game equivalent relation) • If • There is a bisimulation relation R s.t. (E, F) ∈ R, Construct a winning strategy for player II for the game G(E, F) • In any play, whatever move player I makes player II responds by making sure that the resulting pair of processes remain in the relation R Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Applications - Bisimulation Examples : Vending Machine U ≡ 1p.(1p.tea.U + 1p.coffee.U) V ≡ 1p.1p.tea.V + 1p.1pcoffee.V U and V is not bisimulation relation! U and V is bisimulation relation! tea tea 1p 1p 1p coffee 1p 1p 1p 1p G(U, V) Player I Player II Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Applications - Bisimulation Examples : Vending Machine U -1p-> 1p.tea.U + 1p.coffee.U V -1p->1p.tea.V (U, V) -> (1p.tea.U + 1p.coffee.U, 1p.tea.V) It is not bisimulation relation 1p.tea.U + 1p.coffee.U, 1p.tea.V-1p-> coffee.U 1p.tea.V -1p-> tea.V) (1p.tea.U + 1p.coffee.U, 1p.tea.V)-> (coffee.U, tea.V) Player II Player I Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Game, Bisimulation and Model Checking Content • Introduction • Game Theory • Classification of Games • Notations • Applications to Model Verification • Bisimulation • Model Checking • Conclusion Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Conclusion Further Study • Semantics of Interaction • Computability Logic: A Formal Theory of Interaction (In Interactive Computing) • Model mu-calculus • Property Checking Game • Model Checking Game Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST
Reference List of Papers • Overview of Game Theory and Using to Model the Knowledge of Multi-Agent Systemby Thuy Lien PHAM, Marc BUI, Michel LAMURE In Actes de la Première Conférence Internationale RIVF'03 Rencontres en Informatique Vietnam-France, RIVF'03 • Bisimulation, Model Checking and Other Gamesby Colin Stirling, In Notes for Mathfit instructional meeting on games and computation, Edinburgh, June 1997 • Games and Model Mu-Calculusby Colin Stirling, In TACAS 1996 Lecture Notes in Computer Science 1055, 298-312, 1996 • Semantics and Logics of ComputationEdited by A. Pitts and P. Dybjer, Cambrige Press, 1996 Game, Bisimulation and Model Checking, Daniel Choi@PSWLAB, KAIST