Reasoning about Strategies: From module checking to strategy logic

Similar documents
On the Boundary of Behavioral Strategies

Alternating-Time Temporal Logic

A Behavioral Hierarchy of Strategy Logic *

Synthesis with Rational Environments

Strategy Logic. 1 Introduction. Krishnendu Chatterjee 1, Thomas A. Henzinger 1,2, and Nir Piterman 2

Reasoning about Equilibria in Game-Like Concurrent Systems

Reasoning About Strategies

Strategy Logic with Imperfect Information

Alternating Time Temporal Logics*

Pushdown Module Checking with Imperfect Information

arxiv: v2 [cs.lo] 3 Sep 2018

Pushdown Module Checking with Imperfect Information

Chapter 4: Computation tree logic

Alternating nonzero automata

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

Practical Verification of Multi-Agent Systems against Slk Specifications

Synthesis weakness of standard approach. Rational Synthesis

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

On the Expressiveness and Complexity of ATL

Valentin Goranko Stockholm University. ESSLLI 2018 August 6-10, of 33

A Model Checker for Strategy Logic

Module Checking of Strategic Ability

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure

Graded Computation Tree Logic

Overview. overview / 357

Monodic fragments of first-order temporal logics

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

MCMAS-SLK: A Model Checker for the Verification of Strategy Logic Specifications

Verifying and Synthesising Multi-Agent Systems against One-Goal Strategy Logic Specifications

On the Expressiveness and Complexity of ATL

Semi-Automatic Distributed Synthesis

Reasoning about Equilibria in Game-like Concurrent Systems

Computation Tree Logic

Automata, Logic and Games: Theory and Application

Automata-theoretic Decision of Timed Games

Weighted Strategy Logic with Boolean Goals Over One-Counter Games

Model for reactive systems/software

Logics in Computer Science

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Logics of Rational Agency Lecture 3

Lecture 16: Computation Tree Logic (CTL)

Alternating-time Temporal Logics with Irrevocable Strategies

Bounded Synthesis. Sven Schewe and Bernd Finkbeiner. Universität des Saarlandes, Saarbrücken, Germany

Alternating-time Temporal Logic on Finite Traces

Some Remarks on Alternating Temporal Epistemic Logic

A Logic for Cooperation, Actions and Preferences

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Theoretical Foundations of the UML

FORMAL METHODS LECTURE IV: COMPUTATION TREE LOGIC (CTL)

Languages, logics and automata

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Iterated Games with LDL Goals over Finite Traces * (Communications)

LTL and CTL. Lecture Notes by Dhananjay Raju

Chapter 6: Computation Tree Logic

The priority promotion approach to parity games

Satisfiability and Model Checking of CTL with Graded Path Modalities

Model-Checking Games: from CTL to ATL

Modal and Temporal Logics

Summary. Computation Tree logic Vs. LTL. CTL at a glance. KM,s =! iff for every path " starting at s KM," =! COMPUTATION TREE LOGIC (CTL)

CS357: CTL Model Checking (two lectures worth) David Dill

T Reactive Systems: Temporal Logic LTL

Models for Efficient Timed Verification

A Game-Theoretic Approach to Simulation of Data-Parameterized Systems

Temporal Logic Model Checking

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Synthesis of Asynchronous Systems

arxiv: v1 [cs.lo] 8 Sep 2014

a Hebrew University b Weizmann Institute c Rice University

Modal and Temporal Logics

SVEN SCHEWE Universität des Saarlandes, Fachrichtung Informatik, Saarbrücken, Germany

Expressiveness and decidability of ATL with strategy contexts

Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking

Model Checking. Boris Feigin March 9, University College London

Abstract model theory for extensions of modal logic

Laboratoire Spécification & Vérification. Weighted strategy logic with boolean goals over one-counter games

Deciding Safety and Liveness in TPTL

Computation Tree Logic

Valentin Goranko Stockholm University. ESSLLI 2018 August 6-10, of 29

Timo Latvala. February 4, 2004

The State Explosion Problem

An Introduction to Temporal Logics

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

arxiv: v1 [cs.lo] 21 Apr 2016

Concurrent Game Structures for Temporal STIT Logic

Verification of Broadcasting Multi-Agent Systems against an Epistemic Strategy Logic

Model Checking: the Interval Way

Optimal Decision Procedures for Satisfiability in Fragments of Alternating-time Temporal Logics

A tableau-based decision procedure for a branching-time interval temporal logic

State-Space Exploration. Stavros Tripakis University of California, Berkeley

Model checking the basic modalities of CTL with Description Logic

Collective resource bounded reasoning in concurrent multi-agent systems

From Liveness to Promptness

A Tableau-Based Decision Procedure for Right Propositional Neighborhood Logic (RPNL )

Reasoning about Time and Reliability

Relentful Strategic Reasoning in Alternating-Time Temporal Logic 1,2

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Algorithmic Reasoning about Böhm Trees

Reasoning about Memoryless Strategies under Partial Observability and Unconditional Fairness Constraints

MODEL CHECKING. Arie Gurfinkel

Decision Procedures for CTL

Transcription:

Reasoning about Strategies: From module checking to strategy logic based on joint works with Fabio Mogavero, Giuseppe Perelli, Luigi Sauro, and Moshe Y. Vardi Luxembourg September 23, 2013 Reasoning about Strategies: From module checking to strategy logic 1 / 33

Strategic Reasoning Game Theory is a fruitful metaphor in the verification and synthesis of multi-agent systems, where agent behaviors are modeled by strategies in a game. Plenty of modal logics for the specification of strategic reasonings have been introduced, but with a very limited power and no unifying framework. Our aim Looking for a powerful logic in which one can talk explicitly about the strategic behavior of agents in generic multi-player concurrent games. Reasoning about Strategies: From module checking to strategy logic 2 / 33

An historical introduction to the framework From monolithic to multi-agent systems 1 Closed systems verification: Model Checking 2 (System vs. Environment) open systems verification: Module Checking 3 Concurrent multi-agent system verification: ATL* 4 A multi-agent logic in which strategies are treated explicitly: Strategy Logic Reasoning about Strategies: From module checking to strategy logic 3 / 33

Outline 1 From monolithic to multi-agent systems 1 Strategy Logic Syntax and semantics Interesting examples Model-theoretic properties and expressiveness 2 Behavioral games Why is SL is so powerful? Strategy dependence 3 Fragments of Strategy Logic Semi-prenex fragments Model-theoretic properties and expressiveness 4 At the end... Reasoning about Strategies: From module checking to strategy logic 4 / 33

Model checking Historical development(1) Model checking: analyzes systems monolithically (system components plus environment) [Clarke & Emerson, Queille & Sifakis, 81]. M = ϕ Inputs The model M is a Kripke structure, i.e., a labeled-state transition graph. The specification ϕ is a temporal logic formula such as LTL, CTL or CTL*. Reasoning about Strategies: From module checking to strategy logic 5 / 33

A closed system example: A drink dispenser-machine M : w 0 Boil w 1 Choose M = AP,W,R,L,w 0 ϕ = F Tea M only makes internal non-deterministic choices M = ϕ w 2 Coffee w 3 Tea Remark The system behavior can be represented by the unique three unwinding T M of M. Reasoning about Strategies: From module checking to strategy logic 6 / 33

Module Checking Historical development(2) Module checking: separates the environment from the system components, i.e., two-player game between system and environment [Kupferman & Vardi, 96-01]. M = r ϕ Inputs A module M is a Kripke structure with states partitioned in Sys and Env states. The specification ϕ is a temporal logic formula. The problem Checking whether M is correct w.r.t. any possible behavior of the environment. Reasoning about Strategies: From module checking to strategy logic 7 / 33

An open system example Sys Boil M = AP,Sys,Env,R,L,w 0 W = Sys Env Sys Env = /0 Env Choose Sys Coffee Sys Tea Reasoning about Strategies: From module checking to strategy logic 8 / 33

An open system example Sys Boil Env Choose M = AP,Sys,Env,R,L,w 0 W = Sys Env Sys Env = /0 Always, at the Choose state, the environment makes a choice Sys Coffee Sys Tea Reasoning about Strategies: From module checking to strategy logic 8 / 33

An open system example Sys Boil Env Choose M = AP,Sys,Env,R,L,w 0 W = Sys Env Sys Env = /0 Always, at the Choose state, the environment makes a choice Sys Coffee Sys Tea ϕ = F Tea M = r ϕ Reasoning about Strategies: From module checking to strategy logic 8 / 33

An open system example Sys Boil Env Choose M = AP,Sys,Env,R,L,w 0 W = Sys Env Sys Env = /0 Always, at the Choose state, the environment makes a choice Sys Coffee Sys Tea ϕ = F Tea M = r ϕ Remark Everytime an Env state is met, the environment can disable some (but one) of its successors. Any possible behavior of the environment induces a different tree (i.e., a partial tree unwinding of M). T M is a particular environment behavior. Reasoning about Strategies: From module checking to strategy logic 8 / 33

Pro vs. Cons Applications Module checking is very useful in open system verification. It allows to check whether a system is correct no matter how the environment behaves. It has been studied under perfect/imperfect information, hierarchical, infinite-state systems (pushdown, real-time), backwards modalities, graded modalities... Reasoning about Strategies: From module checking to strategy logic 9 / 33

Pro vs. Cons Applications Module checking is very useful in open system verification. It allows to check whether a system is correct no matter how the environment behaves. It has been studied under perfect/imperfect information, hierarchical, infinite-state systems (pushdown, real-time), backwards modalities, graded modalities... Limitations Two-player game between system and environment. It is not powerful enough to be used in multi-player strategic reasoning. Reasoning about Strategies: From module checking to strategy logic 9 / 33

Alternating-time Temporal Logic [Alur et al., 02] Historical development(3) Alternating temporal reasoning: multi-agent systems (components individually considered), playing strategically [Alur et al., 97-02]. ATL Branching-time Temporal Logic with the strategic modalities A and [[A]]. A ψ: There is a strategy for the agents in A enforcing the property ψ, independently of what the agents not in A can do. Example {α, β} G fail: Agents α and β cooperate to ensure that a system (having possibly more than two processes (agents)) never enters a fail state. Reasoning about Strategies: From module checking to strategy logic 10 / 33

Underlying framework: the concurrent game structure CGS A concurrent game structure is a tuple G = AP,Ag,Ac,St,λ,τ,s 0. Intuitively G is a Graph whose States St are labeled with Atomic Propositions AP and Transitions τ are Agents Decision, i.e., Actions Ac taken by Agents Ag. Strategy and Play A strategy is a function that maps each history of the game to an action. A play is a path of the game determined by the history of strategies. Reasoning about Strategies: From module checking to strategy logic 11 / 33

The paper, rock, and scissor game Ag = {α : Alice,β : Bob} s i /0 St = {s i,s α,s β } s i initial state s α win α D α D i D β s β win β AP = {win α,win β } Ac = {P : Paper,R : Rock,S : Scissor} D i = {(P,P),(R,R),(S,S)} D α = {(P,R),(R,S),(S,P)} D β = {(R,P),(S,R),(P,S)} Reasoning about Strategies: From module checking to strategy logic 12 / 33

Pro vs. Cons Pro ATL allows multi-agent strategic reasoning. Limitations Strategies are treated only implicitly. Quantifier alternation fixed to 1: either [[ ]] or [[ ]]. Reasoning about Strategies: From module checking to strategy logic 13 / 33

Our contribution Strategy Logic We introduce Strategy Logic (SL), as a more general framework (both in its syntax and semantics), for explicit reasoning about strategies in multi-player concurrent games, where strategies are treated as first order objects. Some useful fragments We also consider a chain of syntactic fragments of SL that are strictly more expressive than ATL, but more tractable than SL. Reasoning about Strategies: From module checking to strategy logic 14 / 33

As for ATL, the underlying model is a CGS Recall what is a CGS A concurrent game structure is a tuple G = AP,Ag,Ac,St,λ,τ,s 0....and its intuitive explanation G is a Graph whose States St are labeled with Atomic Propositions AP and Transitions τ are Agents Decision, i.e., Actions Ac taken by Agents Ag. Reasoning about Strategies: From module checking to strategy logic 15 / 33

Syntax and semantics of SL SL syntactically extends LTL by means of strategy quantifiers, the existential x and the universal [[x]], and agent binding (a, x). Sintax of SL SL formulas are built as follows way, where x is a variable and a an agent. ϕ ::= LTL x ϕ [[x]]ϕ (a,x)ϕ. Semantics of SL x ϕ: there exists a strategy x for which ϕ is true. [[x]]ϕ: for all strategies x, it holds that ϕ is true. (a,x)ϕ: ϕ holds, when the agent a uses the strategy x. LTL operators are classically interpreted on the resulting play. Reasoning about Strategies: From module checking to strategy logic 16 / 33

Failure is not an option Example (No failure property) In a system S built on three processes, α, β, and γ, the first two have to cooperate in order to ensure that S never enters a failure state. Three different formalization in SL. x y [[z]](α,x)(β,y)(γ,z)(g fail): α and β have two strategies, x and y, ensuring that a failure state is never reached, independently of what γ decides. x [[z]] y (α,x)(β,y)(γ,z)(g fail): β can choose his strategy y dependently of that one chosen by γ. x [[z]](α,x)(β,x)(γ,z)(g fail): α and β have a common strategy x to ensure the required property. Reasoning about Strategies: From module checking to strategy logic 17 / 33

Multi-player Nash equilibrium Example (Nash equilibrium) Let G be a game with the n agents α 1,...,α n, each one having its own LTL goal ψ 1,...,ψ n. We want to know if G admits a Nash equilibrium, i.e., if there is a best strategy x i w.r.t. the goal ψ i, for each agent α i, once all other strategies are fixed. ϕ NE x 1 x n (α 1,x 1 ) (α n,x n )( n i=1 ( y (α i,y)ψ i ) ψ i ). Intuitively, if G = ϕ NE then x 1,...,x n form a Nash equilibrium, since, when an agent α i has a strategy y that allows the satisfaction of ψ i, he can use x i instead of y, assuming that the remaining agents α 1,...,α i 1,α i+1,...,α n use x 1,...,x i 1,x i+1,...,x n. Reasoning about Strategies: From module checking to strategy logic 18 / 33

ATL model-theoretic properties Positive model-theoretic properties Invariance under bisimulation. Invariance under decision-unwinding. Bounded decision-tree model property. Reasoning about Strategies: From module checking to strategy logic 19 / 33

SL model-theoretic properties Negative model-theoretic properties Non-invariance under bisimulation. Non-invariance under decision-unwinding. Unbounded model property. Positive model-theoretic properties Invariance under state-unwinding. State-tree model property. Reasoning about Strategies: From module checking to strategy logic 20 / 33

Expressiveness Theorem SL is strictly more expressive than ATL. Explanation Unbounded quantifier alternation. Agents can be forced to share the same strategy. Reasoning about Strategies: From module checking to strategy logic 21 / 33

A comparison Expressiveness SL is more expressive than ATL. Computational complexities ATL SL Model checking 2EXPTIME-COMPLETE NONELEMENTARY-COMPLETE Satisfiability 2EXPTIME-COMPLETE Undecidable Reasoning about Strategies: From module checking to strategy logic 22 / 33

A natural question The question Why is SL hard? The answer The choice of an action made by an agent in a strategy, for a given history of the game, may depend on the entire strategy of another agent, i.e., on its actions over all possible histories of the game. An observation Strategies are not synthesizable, since an agent, to have a chance to win, may need to forecast a possibly infinite amount of information about the behavior of an opponent. Reasoning about Strategies: From module checking to strategy logic 23 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Conterfactual dependence s0 /0 0 1 s2 p 0 s1 p s4 1 1 0 s5 p ϕ = [[x]] y ψ 1 ψ 2 ψ 1 = (α,x)x p (α,y)x ψ 2 = (α,x)x X p (α,y)x X p s3 s6 Reasoning about Strategies: From module checking to strategy logic 24 / 33

Elementariness in strategies Behavioral property The quantification of a strategy is behavioral if the actions in a given history depend only on the actions of all other strategies on the same history. Behavioral semantics A formula is behaviorally satisfiable if it only needs behavioral strategies to be satisfied. Fact ATL is behaviorally satisfiable. Reasoning about Strategies: From module checking to strategy logic 25 / 33

Another question The question Is there any other syntactic fragment of SL (strictly subsuming ATL ) having a behavioral semantics?. Our answer Yes! We obtain several fragments by using a prenex normal form for SL and by putting different constraints on the use of bindings. Reasoning about Strategies: From module checking to strategy logic 26 / 33

Quantification and bining prefixes A quantification prefix is a sequence of quantifications in which each variable occurs once: = [[x]][[y]] z [[w]]. A binding prefix is a sequence of bindings such that each agent occurs once: = (α,x)(β,y)(γ,y). Reasoning about Strategies: From module checking to strategy logic 27 / 33

Quantification and bining prefixes A quantification prefix is a sequence of quantifications in which each variable occurs once: = [[x]][[y]] z [[w]]. A binding prefix is a sequence of bindings such that each agent occurs once: = (α,x)(β,y)(γ,y). A goal is a binding prefix followed by an LTL formula. Reasoning about Strategies: From module checking to strategy logic 27 / 33

Quantification and bining prefixes A quantification prefix is a sequence of quantifications in which each variable occurs once: = [[x]][[y]] z [[w]]. A binding prefix is a sequence of bindings such that each agent occurs once: = (α,x)(β,y)(γ,y). A goal is a binding prefix followed by an LTL formula. By using a prenex normal form of a combination of goals, we identify a chain of fragments, which we name SL[BG], SL[DG / CG], and SL[1G]. Reasoning about Strategies: From module checking to strategy logic 27 / 33

Boolean-Goal Strategy Logic (SL[BG]) Definition SL[BG] formulas are built inductively in the following way, where is a quantification prefix and a binding prefix: ϕ ::= LTL ψ, ψ ::= ϕ ψ ψ ψ ψ ψ, where quantifies over all free variables of ψ. For SL[CG], we set ψ ::= ϕ ψ ψ. For SL[1G], we set ψ ::= ϕ. The expressiveness chain ATL < SL[1G] < SL[CG] < SL[BG] SL Reasoning about Strategies: From module checking to strategy logic 28 / 33

The behavioral results The question Which fragments of SL have behavioral semantics? Theorem SL[BG] does not have behavioral semantics. SL[CG] and SL[1G] have behavioral semantics. Reasoning about Strategies: From module checking to strategy logic 29 / 33

An overview Model checking Satisfiability SL NONELEMENTARY-COMPLETE Σ 1 1 -HARD SL[BG]? Σ 1 1 -HARD SL[CG] 2EXPTIME-COMPLETE? SL[1G] 2EXPTIME-COMPLETE 2EXPTIME-COMPLETE ATL 2EXPTIME-COMPLETE 2EXPTIME-COMPLETE Reasoning about Strategies: From module checking to strategy logic 30 / 33

Model-theoretic properties SL[BG] negative model-theoretic property Unbounded model property. SL[CG] negative model-theoretic properties Non-invariance under bisimulation. Non-invariance under decision-unwinding. SL[1G] positive model-theoretic properties Invariance under bisimulation. Invariance under decision-unwinding. Bounded decision-tree model property. Reasoning about Strategies: From module checking to strategy logic 31 / 33

In this talk We have introduced SL as a logic for the temporal description of multi-player concurrent games, in which strategies are treated as first order objects. SL model checking has a NONELEMENTARYTIME-COMPLETE formula complexity and a PTIME-COMPLETE data complexity. SL satisfiability is highly undecidable, i.e., Σ 1 1 -HARD. We have also introduced some fragments of SL, named SL[BG], SL[CG], and SL[1G], all strictly more expressive than ATL. We have studied their model-theoretic properties. In particular, model-checking and satisfiability for SL[1G] are no more complex than those for ATL, i.e., they are both 2EXPTIME-COMPLETE. Reasoning about Strategies: From module checking to strategy logic 32 / 33

References Mogavero, M., & Vardi. Reasoning About Strategies. FSTTCS 10. Mogavero, Murano, Perelli, Vardi. What Makes ATL* Decidable? A Decidable Fragment of Strategy Logic. CONCUR 12. Mogavero, Murano, Perelli, Vardi. Reasoning About Strategies: On the Model-Checking Problem. TR, arxiv. Mogavero, Murano, Sauro. On the Boundary of Behavioral Strategies. LICS 13. ATL* References Alur, Henzinger, Kupferman. Alternating-time temporal logic. J.ACM. 2002 Module Checking References Kupferman, Vardi, Wolper: Module Checking. I.&C. 2001 Aminof, Legay, Murano, Serre, Vardi. Pushdown Module Checking with imperfect information I.&C. 2013. Reasoning about Strategies: From module checking to strategy logic 33 / 33