39
Model Checking in variants of ATL (Do agents make model checking explode?) Jürgen Dix (joint work with Wojtek Jamroga) Department of Computer Science Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 1/39

Model Checking in variants of ATL (@let@token Do agents ...sma.lip6.fr/seminaires/Exposes/DixPaname.pdf · Model Checking in variants of ATL (Do agents make model checking explode?)

Embed Size (px)

Citation preview

Model Checking in variants of ATL(Do agents make model checking explode?)

Jürgen Dix(joint work with Wojtek Jamroga)

Department of Computer Science

Clausthal University of Technology

23th March, PANAME Seminaire, LIP6, Paris

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 1/39

Abilities of AgentsCTL

1 Abilities of AgentsCTLATLModel Checking

2 A closer lookFine-grained AnalysisImperfect InformationTable of Complexities

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 2/39

Abilities of AgentsCTL

Reasoning about Time: CTL

CTL: Computational Tree Logic.Reasoning about possible computations of a systemModels: states (time points, situations), transitionsPaths: courses of action, computations;Path quantifiers: A (for all paths), E (there is a path);Temporal operators: i(nexttime), ♦ (sometime), � (always)and U (until);

“Vanilla” CTL: each temporal operator must be immediatelypreceded by exactly one path quantifier;

Reasoning in CTL can be automatized.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 3/39

Abilities of AgentsCTL

Example: Rocket and Cargo

A rocket and a cargo,The rocket can be moved between London(proposition roL) and Paris (proposition roP),The cargo can be in London (caL), Paris (caP), orinside the rocket (caR),The rocket can be moved only if it has its fuel tankfull ( f uelOK),When it moves, it consumes fuel, and no f uel holdsafter each flight.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 4/39

Abilities of AgentsCTL

Example: Rocket and Cargo

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

roL → E♦roP

A�(roL∨ roP)

roL∧ f uelOK → E kroP

roL → A k(roP → no f uel)

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 5/39

Abilities of AgentsATL

ATL: What Agents Can Achieve

ATL: Agent Temporal Logic [Alur et al. 1997]Temporal logic meets game theoryMain idea: cooperation modalities

“Vanilla” ATL: temporal operators are alwayspreceded by exactly one cooperation modality

〈〈A〉〉Φstands for

coalition A has a collective strategyto enforce Φ

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 6/39

Abilities of AgentsATL

ATL: What Agents Can Achieve

〈〈jamesbond〉〉♦blofeldKilled:“James Bond can ensure that Blofeld is eventually killed”

〈〈∅〉〉� 〈〈blofeld〉〉♦blofeldEscapes:“Blofeld is always able to eventually escape”

¬〈〈jamesbond〉〉♦worldSaved∧¬〈〈blofeld〉〉♦worldSaved∧〈〈jamesbond,blofeld〉〉♦worldSaved:“Only together they can make sure that the world will be saved”

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 7/39

Abilities of AgentsATL

The Rocket Example: Adding Agents and Actions

3 agents,

x can load the cargo, unload it, and move the rocket,

y can unload the cargo and move the rocket,

z can load the cargo and supply the rocket with fuel(action fuel),

Each agent can also decide to do nothing (nop:“no-operation”);

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 8/39

Abilities of AgentsATL

“Moving” action: highest priority,

“Loading” is affected when the rocket does not moveand more agents try to load than to unload,

“Unloading”: similarly,

“Fueling” can be accomplished only when the rockettank is empty (alone or in parallel with loading orunloading).

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 9/39

Abilities of AgentsATL

Rocket Example: Adding Agents and Actions

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2

< >nop ,nop ,nop1 2 3< >load ,unload ,nop1 2 3

< >nop ,unload ,load1 2 3

< >unload ,unload ,nop1 2 3

< >unload ,nop ,nop1 2 3

< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3

< >load ,nop ,nop1 2 3

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 10/39

Abilities of AgentsATL

Models: Concurrent Game Structures (CGS)

M = 〈Agt,Q,Π,π,Act,d,o〉Agt: a finite set of all agentsQ: a set of statesΠ: a set of atomic propositionsπ : Q → P (Π): a valuation of propositionsAct: a finite set of (atomic) actionsd : Agt×Q → P (Act) defines actions available toan agent in a stateo: a (deterministic) transition function thatassigns outcome states q′ = o(q,α1, . . . ,αk) tostates and tuples of actions

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 11/39

Abilities of AgentsATL

Strategies and Paths

Strategy is a conditional plansa : Q → Act (memoryless)

Path is an infinite sequence of states that can beaffected by subsequent transitionsPaths refer to possible courses of actionSA = 〈sa1,sa2, . . . ,sar〉 collective strategy forA = {a1,a2, . . . ,ar}

Function out(q,SA) returns the set of all paths thatmay result from agents A executing strategy SA fromstate q onward.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 12/39

Abilities of AgentsATL

Semantics (1)

M,q |= p iff p ∈ π(q) (where p ∈ Π);

M,q |= ¬ϕ iff M,q 6|= ϕ;

M,q |= ϕ∨ψ iff M,q |= ϕ or M,q |= ψ;

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 13/39

Abilities of AgentsATL

Semantics (2)

M,q |= 〈〈A〉〉 kϕ iff there is a collective strategy SAsuch that, for every path Λ ∈ out(q,SA), we haveM,Λ[1] |= ϕ;M,q |= 〈〈A〉〉�ϕ iff there exists SA such that, forevery Λ ∈ out(q,SA), we have M,Λ[i] |= ϕ for everyi ≥ 0;M,q |= 〈〈A〉〉ϕU ψ iff there exists SA such that, forevery Λ ∈ out(q,SA), we have M,Λ[i] |= ψ for somei ≥ 0, and M,Λ[ j] |= ϕ for every 0 ≤ j < i.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 14/39

Abilities of AgentsATL

Rocket Agents Again

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2

< >nop ,nop ,nop1 2 3< >load ,unload ,nop1 2 3

< >nop ,unload ,load1 2 3

< >unload ,unload ,nop1 2 3

< >unload ,nop ,nop1 2 3

< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3

< >load ,nop ,nop1 2 3

no f uel → 〈〈3〉〉�no f uel

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 15/39

Abilities of AgentsATL

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2

< >nop ,nop ,1 2 nop3< >load ,unload ,1 2 nop3

< >nop ,unload ,load1 2 3

< >unload ,unload ,1 2 nop3

< >unload ,nop ,1 2 nop3

< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3

< >load ,nop ,1 2 nop3

no f uel → 〈〈3〉〉�no f uel

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 16/39

Abilities of AgentsATL

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

< >load ,nop ,fuel1 2< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2< >unload ,unload ,fuel1 2

< >nop ,nop ,1 2 nop3< >nop ,nop ,1 2 nop3< >load ,unload ,1 2 nop3< >load ,unload ,1 2 nop3

< >nop ,unload ,load1 2 3< >nop ,unload ,load1 2 3

< >unload ,unload ,1 2 nop3< >unload ,unload ,1 2 nop3

< >unload ,nop ,1 2 nop3< >unload ,nop ,1 2 nop3

< >unload ,nop ,fuel1 2< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3< >load ,unload ,load1 2 3

< >load ,nop ,1 2 nop3< >load ,nop ,1 2 nop3

no f uel → 〈〈3〉〉�no f uel

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 17/39

Abilities of AgentsATL

nofuelroL

caR

fuelOK

nofuel

nofuel fuelOK

1

5

4

9 12

roL

roL roP

roP

caLcaL

caP caP

< >load ,nop ,fuel1 2< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2< >unload ,unload ,fuel1 2

< >nop ,nop ,1 2 nop3< >nop ,nop ,1 2 nop3< >load ,unload ,1 2 nop3< >load ,unload ,1 2 nop3

< >nop ,unload ,load1 2 3< >nop ,unload ,load1 2 3

< >unload ,unload ,1 2 nop3< >unload ,unload ,1 2 nop3

< >unload ,nop ,1 2 nop3< >unload ,nop ,1 2 nop3

< >unload ,nop ,fuel1 2< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3< >load ,unload ,load1 2 3

< >load ,nop ,1 2 nop3< >load ,nop ,1 2 nop3

no f uel → 〈〈3〉〉�no f uel

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 18/39

Abilities of AgentsATL

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2

< >nop ,nop ,nop1 2 3< >load ,unload ,nop1 2 3

< >nop ,unload ,load1 2 3

< >unload ,unload ,nop1 2 3

< >unload ,nop ,nop1 2 3

< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3

< >load ,nop ,nop1 2 3

caL → 〈〈1,3〉〉♦caP

caL →¬〈〈1〉〉♦caPJürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 19/39

Abilities of AgentsATL

Alternative: Alternating Transition Models (ATS)

Actions as sets of states that can be affected.

In a way, actions represented in a “pre-compiled”way.

Problems with ATS:

Difficult to extend to indeterministic transitions.

They are usually larger than CGS.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 20/39

Abilities of AgentsModel Checking

Model Checking CTL and ATL: Without agents, withperfect information

Model checking:Does ϕ hold in model M (CGS) and state q?Nice results: model checking CTL and ATL istractable!

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 21/39

Abilities of AgentsModel Checking

Model Checking CTL and ATL (no agents)

Theorem (Clarke, Emerson & Sistla 1986)

CTL model checking is P-complete, and can be done intime linear in the size of the model and the length of theformula.

Theorem (Alur, Kupferman & Henzinger 1998)

ATL model checking is P-complete, and can be done intime linear in the size of the model and the length of theformula.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 22/39

A closer look

Model Checking ATL without agents

Nice results: model checking CTL and ATL withoutagents is tractable, when the size m is measured asthe number of transitions

More natural: the number n of states.

Without agents: m is bounded by n2.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 23/39

A closer look

Model Checking ATL with agents

m: transitions, n: states, d: actions (decisions),k: agents. How does m depend on n and k?m = O(ndk)m is not polynomially bounded in n whenagents are present.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 24/39

A closer lookFine-grained Analysis

3 agents, 3 attributes . . . 12 states and 216 transitions

nofuelroL

caR

fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

nofuel fuelOK nofuel fuelOK

1

5 6

2

3 4

87

9 10 1211

roL roP

roL roL

roLroL

roP

roP roP

roP

roP

caL caL caLcaL

caR caR caR

caP caP caP caP

< >load ,nop ,fuel1 2

< >unload ,unload ,fuel1 2

< >nop ,nop ,nop1 2 3< >load ,unload ,nop1 2 3

< >nop ,unload ,load1 2 3

< >unload ,unload ,nop1 2 3

< >unload ,nop ,nop1 2 3

< >unload ,nop ,fuel1 2

< >load ,unload ,fuel1 2

< >nop ,nop ,fuel1 2

< >nop ,unload ,fuel1 2

< >nop ,nop ,load1 2 3< >load ,nop ,load1 2 3

< >load ,unload ,load1 2 3

< >load ,nop ,nop1 2 3

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 25/39

A closer lookFine-grained Analysis

Is Model Checking with agents exponential?

Agents make models explode!

Do agents make model checking explode?

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 26/39

A closer lookFine-grained Analysis

Model Checking CTL and ATL (with agents)

Proposition (Jamroga & Dix 2005)

ATL model checking (wrt ATS) is NP-complete withrespect to the number of states and agents.

Proposition (Jamroga & Dix 2005), (Laroussinie et al. 2006)

ATL model checking (wrt CGS) is ∆P3-complete with

respect to the number of states and agents.For positive ATL model checking (wrt CGS) is evenΣP

2-complete.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 27/39

A closer lookImperfect Information

Example: Robots and Carriage

1 2

1

2

1

2

pos0

pos1pos2

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 28/39

A closer lookImperfect Information

The CGS model

1 2

1

2

1

2

pos0

pos1pos2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

wait,push

push,wait

wait,push

wai

t,pus

h

pos2

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 29/39

A closer lookImperfect Information

Example: Robots and Carriage

1 2

1

2

1

2

pos0

pos1pos2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,waitw

ait,pushpush,w

ait

wait,push

wai

t,pus

h

pos2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

wait,push

push,wait

wait,push

wai

t,pus

h

pos2

wait

waitpush

q0

q2 q1

pos0

pos1

wait,waitwait

wait,wait wait,waitwait

push,push

push,push push,push

push

,wai

t

push

push,wait

wait,push

wait

push,wait

wait,push

wai

t,pus

h

wai

t

pos2

q0

q2 q1

pos0

pos1

wait,waitwait

wait,wait wait,waitwait

push,push

push,push push,push

push

,wai

t

push

push,wait

wait,push

wait

push,wait

wait,push

wai

t,pus

h

wai

t

pos2

q0

q2 q1

pos0

pos1

wait,waitwait,wait

wait,wait wait,waitwait,wait

push,push

push,pushpush,push push,push

push

,wai

t

push

,wai

t

push,wait

wait,push

wait,push

push,wait

wait,push

wai

t,pus

h

wai

t,pus

h

pos2

q0

q2 q1q1

pos0

pos1pos1

wait,waitwait,wait

wait,wait wait,waitwait,wait

push,push

push,pushpush,push push,push

push

,wai

t

push

,wai

t

push,wait

wait,push

wait,push

push,wait

wait,push

wai

t,pus

h

wai

t,pus

h

pos2

〈〈1〉〉�¬pos1

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 30/39

A closer lookImperfect Information

ATL with perfect imperfect Information

1 2

1

2

1

2

pos0

pos1pos2

1 2

1

2

1

2

pos0

pos1pos2

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 31/39

A closer lookImperfect Information

ATL with Imperfect Information

1 2

1

2

1

2

pos0

pos1pos2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

push,wait

wait,push

pos2

wait,pushw

ait,p

ush

1

2

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 32/39

A closer lookImperfect Information

Imperfect Information (i), memoryless (r)

We extend CGS with epistemic relations ∼a, one peragent

Uniform strategies per agent:q ∼a q′⇒ sa(q) = sa(q′)Uniform strategies for group of agents:q ∼A q′⇒ sa(q) = sa(q′), where q ∼A q′ is definedby

there is an agent a ∈ A with q ∼a q′

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 33/39

A closer lookImperfect Information

ATL with Imperfect Information: ATLir

M,q |= 〈〈A〉〉ir kϕ iff there exists uniform SA suchthat, for every path Λ ∈

⋃q′∼Aq out(q′,SA), we have

M,Λ[1] |= ϕ;

M,q |= 〈〈A〉〉ir�ϕ iff there exists uniform SA suchthat, for every Λ ∈

⋃q′∼Aq out(q′,SA), we have

M,Λ[i] |= ϕ for every i ≥ 0;

M,q |= 〈〈A〉〉irϕU ψ iff there exists uniform SA suchthat, for every Λ ∈

⋃q′∼Aq out(q′,SA), we have

M,Λ[i] |= ψ for some i ≥ 0, and M,Λ[ j] |= ϕ forevery 0 ≤ j < i.

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 34/39

A closer lookImperfect Information

Example: Robots and Carriage

1 2

1

2

1

2

pos0

pos1pos2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

push,wait

wait,push

pos2w

ait,pushwai

t,pus

h

1

2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

push,wait

wait,push

pos2

wait

waitpush

wait,pushw

ait,p

ush

1

2

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

push,wait

wait,push

pos2

wait

waitwait

wait,pushw

ait,p

ush

1

2

q0

q2 q1

pos0

pos1

wait,waitwait

wait,waitwait wait,waitwait

push,push

push,push push,push

push

,wai

t

push,wait

push,wait

wait,pushwait

pos2

wait,push

wait

wai

t,pus

h

wai

t

1

2

q0

q2 q1

pos0

pos1

wait,waitwait

wait,waitwait wait,waitwait

push,push

push,push push,push

push

,wai

t

push,wait

push,wait

wait,pushwait

pos2

wait,push

wait

wai

t,pus

h

wai

t

1

2

q0

q2 q1

pos0

pos1pos2

1

2

q0

q2 q1

pos0

pos1pos2

1

q0

q2 q1

pos0

pos1

wait,wait

wait,wait wait,wait

push,push

push,push push,push

push

,wai

t

push,wait

wait,push

push,wait

wait,push

wai

t,pus

h

pos2

1

2

¬〈〈1〉〉ir�¬pos1

¬〈〈1〉〉irg¬pos1

〈〈1,2〉〉ir♦pos1

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 35/39

A closer lookImperfect Information

Model checking ATLir

Model checking ATLir is ∆P2 -complete in the number

of transitionsNP-hard: Schobbens 2004,∆P

2 -complete: Jamroga & Dix 2005.

What if the numbers of states and agents areparameters?

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 36/39

A closer lookImperfect Information

Model checking ATLir

Proposition

Model checking ATLir is ∆P3-complete wrt the number

of states (n), decisions (d) and agents (k) in the model,and the length of the formula.

Surprise: the same complexity for perfectand imperfect information!

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 37/39

A closer lookTable of Complexities

Complexity Results for Temporal and Strategic Logics

m, l n, k, l nlocal , k, l

CTL P-complete [1] P-complete [1] PSPACE-complete [2]

ATL P-complete [3] ∆P3 -complete [5,6] EXPTIME-complete [8,9]

ATLir ∆P2 -complete [4,7] ∆P

3 -complete [7] PSPACE-complete [9]

[1] Clarke, Emerson & Sistla (1986). Automatic verification of finite-state .... ACM Prog. Lang. Syst

[2] Kupferman, Vardi & Wolper (2000). An automata-theoretic approach to .... J. ACM

[3] Alur, Henzinger & Kupferman (2002). Alternating-time Temporal Logic. J. ACM

[4] Schobbens (2004). Alternating-time logic with imperfect recall. ENTCS

[5] Jamroga & Dix (CEEMAS 2005). Do agents make model checking explode?

[6] Laroussinie, Markey & Oreiby (FORMATS 2006). Model-Checking Timed.

[7] Jamroga & Dix (2007). Model checking abilities of agents. Theory of Computing Systems

[8] Hoek, Lomuscio & Wooldridge (AAMAS 2006). On the complexity of practical ATL model checking.

[9] Jamroga & Ågotnes (AAMAS 2007). Modular Interpreted Systems

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 38/39

A closer lookTable of Complexities

Some variants: Information vs. recall

ATLIr: Perfect information, no memory (imperfect recall).This is classical ATL, see [3].

ATLIR: Perfect information, full memory (perfect recall).Same complexity as ATL: polynomial in m, l. See [3].

ATLir: Imperfect information, imperfect recall: see last slide.

ATLiR: Imperfect information, perfect recall: undecidable(currently working on a proof).

Jürgen Dix (joint work with Wojtek Jamroga) · Clausthal University of Technology 23th March, PANAME Seminaire, LIP6, Paris 39/39