Alternating-time temporal logic Mehdi Dastani BBL-521 - - PowerPoint PPT Presentation
Alternating-time temporal logic Mehdi Dastani BBL-521 - - PowerPoint PPT Presentation
Alternating-time temporal logic Mehdi Dastani BBL-521 M.M.Dastani@uu.nl ATL: Alternating-time temporal logic . ATL is a multiagent logic ATL is a branching time that extends CTL with multiple players. ATL combines logic with game theory
ATL: Alternating-time temporal logic
. ATL is a multiagent logic
◮ ATL is a branching time that extends CTL with multiple players. ◮ ATL combines logic with game theory by introducing cooperation modality.
- G
ϕ : “group G has a collective strategy to make ϕ true, no matter what the other agents do”
- r equivalently
“group G has the ability to enforce ϕ”.
ATL: Syntax
Let Π be a set of atomic propositions and N be a set of agents with G ⊆ N. The language of ATL is defined as follows: ϕ ::= p ∈ Π | ¬ϕ | ϕ ∨ ϕ |
- G
Xϕ |
- G
ϕ |
- G
ϕUϕ Relation between modalities as with LTL:
◮
G ϕ ≡ G (⊤Uϕ)
◮
G ϕ ≡ G ¬¬ϕ
ATL: Syntax
◮
{mehdi} BeInUtrecht
◮
{mehdi, tim} StudentsAreExcited
◮
{mehdi} {tim} GiveTutorial
◮ ¬
{mehdi, tim, lars} StudentsHappy
◮
{anna, betty, alex, bob} SecretKept U CourseEnded
ATL: Semantics
◮ Concurrent Game Structure (CGS) as model of ATL. ◮ CGS captures Agents, states, actions.
1 2 1 2 1 2
pos0 pos1 pos2
q0 q2 q1
pos0 pos1
wait,wait wait,wait wait,wait push,push push,push push,push push,wait push,wait wait,push p u s h , w a i t wait,push wait,push
pos2
ATL: Semantics
A concurrent game structure is a tuple M = N, Q, π, Act, d, o, where
◮ N is a set of n agents, ◮ Q is a set of states, ◮ π : Q → 2Π is a valuation function for propositions, ◮ Act is a finite set of (atomic) actions, ◮ d : N × Q → 2Act determines which actions are available to each agent in
each state, and
◮ o is a deterministic outcome function that determines the outcome state
q′ = o(q, α1, . . . , αn) when actions α1, . . . , αn are performed in state q.
1 2 1 1 2 2 1 1 2 2
pos0 pos1 pos2
q0 q2 q1
pos0 pos1
wait,wait wait,wait wait,wait push,push push,push push,push p u s h , w a i t push,wait w a i t , p u s h p u s h , w a i t wait,push w a i t , p u s h
pos2
(Memoryless) Strategy
◮ A (memoryless) strategy for an agent i is a conditional plan specifying what i
is going to do in each state. It is represented as a function fi : Q → Act such that fi(q) ∈ d(i, q) for each state q ∈ Q.
◮ A strategy for a group of agents G is a set of strategies one for each agent
in G, i.e., fG = {fi | i ∈ G}
◮ Strategy example: ◮ f1(q0) = push, f1(q1) = wait, f1(q2) = wait ◮ f2(q0) = wait, f2(q1) = wait, f2(q2) = push ◮ f′
1(q0) = push, f′ 1(q1) = push, f′ 1(q2) = wait
◮ f′
2(q0) = wait, f′ 2(q1) = wait, f′ 2(q2) = wait
q0 q2 q1
pos0 pos1
wait,wait wait,wait wait,wait push,push push,push push,push push,wait push,wait wait,push push,wait wait,push wait,push
pos2
Strategy and Path
◮ A path σ is an infinite sequence of states σ = q1q2q3 . . .
◮ σ(i) = σi = qi ◮ σi = qiqi+1qi+2 . . .
◮ out(q, fG) is the set of all paths starting in state q where each agent in G
uses its strategy in fG.
◮ σ = q1q2 . . . ∈ out(q, fG) iff
◮ q = q1 ◮ for each k > 1 there is a tuple (α1, . . . , αn) ∈ Actn such that ◮ αi ∈ di(qk−1) for each i ∈ N (actions are available), ◮ αi = fG(qk−1) for each i ∈ G (agents in G use their strategies in fG), and ◮ o(qk−1, α1, . . . , αn) = qk (performing joint action in qk−1 results in qk )
ATL: Semantics
Let M = N, Q, π, Act, d, o be a concurrent game strategy (CGS) and q be a state in it.The semantics for ATL is defined as follows: M, q |= p iff p ∈ π(q) M, q |= ¬ϕ iff M, q |= ϕ M, q |= ϕ ∨ ψ iff M, q |= ϕ
- r M, q |= ψ
M, q |= G Xϕ iff there is fG s.t., for every σ ∈ out(q, fG), we have M, σ(2) |= ϕ M, q |= G ϕ iff there is fG s.t., for every σ ∈ out(q, fG), we have M, σ(i) |= ϕ for all i ≥ 1 M, q |= G ϕUψ iff there is fG s.t., for every σ ∈ out(q, fG), we have M, σ(i) |= ψ for some i ≥ 1 and M, σ(j) |= ϕ for all 1 ≥ j ≥ i
ATL: Example
1 2 1 2 1 2
pos0 pos1 pos2
q0 q2 q1
pos0 pos1
wait,wait wait,wait wait,wait push,push push,push push,push push,wait push,wait wait,push p u s h , w a i t wait,push wait,push
pos2
◮ Can agent 1 in pos0 ensure visiting pos1? I.e.,
M, q0 |= {1} pos1
◮ Can agent group {1, 2} in pos0 ensure maintaining pos1? I.e.,
M, q0 |= {1, 2} pos1
◮ Can agent group {1, 2} in pos0 ensure visiting and maintaining pos1? I.e.,
M, q0 |= {1, 2} X {1, 2} pos1
ATL*: Syntax
◮ ATL* admits fine-grained quantification over computations by not restricting
the syntax.
◮ Let Π be a set of atomic propositions and N be a set of agents, and G ⊆ N.
The language of ATL* is defined as follows: ϕ ::= p ∈ Π | ¬ϕ | ϕ ∨ ϕ | G γ γ ::= ϕ | ¬γ | Xγ | γ | γ | γUγ
◮ Formula in ATL*, but not in ATL:
◮
G XX p
◮
G (X p ∧ XX ¬p)
ATL*: Semantics
Let M = N, Q, π, Act, d, o be a concurrent game structure and q be a state in it. The semantics of ATL is defined as follows: M, q |= p iff p is in π(q) M, q |= ϕ ∨ ψ iff M, q |= ϕ or M, q |= ψ M, q |= G φ iff there is a collective strategy fG such that, for each path σ ∈ out(q, fG), we have M, σ |= φ M, σ |= Xϕ iff M, σ2 |= ϕ M, σ |= ϕ iff M, σi |= ϕ for some i ≥ 1 M, σ |= ϕ iff M, σi |= ϕ for all i ≥ 1 M, σ |= ϕUψ iff M, σi |= ψ for some i ≥ 1, and M, σj |= ϕ forall 1 ≤ j ≤ i M, σ |= ϕ iff M, σ(1) |= ϕ Note that temporal formulae and the Boolean connectives are handled as before.
Example: Prisoner’s escape
◮ A prison has two exits:
◮ rear exit guarded by the guard Alex ◮ front exit guarded by the guard Bob
◮ To exist secret passwords must be given to guard. ◮ Frank is a prisoner who wants to escape. ◮ Frank has learned the passwords of both guards. ◮ Charlie is an internal guard and observes Frank. ◮ Charlie can cooperate (actions c), by keeping
quiet, or can defect (action d), by warning the guards.
q1 q3 q2
(move, ?) (move, ?) (pwA, c) escaped Bob Alex
q4
(pwA, c) caught (pwB, c) (pwB, c) (pwB, d) (pwB, d) (nop, nop) (nop, nop) (pwA, d) (pwA, d)
Example: Prisoner’s escape
- 1. M, q1 |=
{fr} escaped
- 2. M, q1 |=
{fr, ch} escaped
- 3. M, q1 |=
{ch} ¬escaped
- 4. M, q1 |=
{ch} caught
- 5. M, q1 |=
{fr} X(Bob ∧ {fr, ch} X escaped)
- 6. M, q1 |=
{fr} Alex
q1 q3 q2
(move, ?) (move, ?) (pwA, c) escaped Bob Alex
q4
(pwA, c) caught (pwB, c) (pwB, c) (pwB, d) (pwB, d) (nop, nop) (nop, nop) (pwA, d) (pwA, d)
Memoryless and perfect recall strategies
◮ Agent’s strategies may rely on agent’s memories:
◮ Memoryless strategy: A memoryless strategy for an agent i specifies
what i is going to do in each state. It is represented as the function fi : Q → Act
◮ Perfect recall strategy: A perfect recall strategy for an agent i
specifies what i is going to do after each history (sequence of states). It is represented as the function fi : Q+ → Act
Memoryless and perfect recall strategies
◮ Strategic abilities of agents in ATL* depend on the agents’ memory. ◮ Example:
◮ For perfect recall strategy M, q0 |=
{1, 2} (Xp ∧ XX¬p)
◮ For memoryless strategy M, q0 |=
{1, 2} (Xp ∧ XX¬p) q0 q1 p ¬p (α, α) α, β (∗, ∗)
Results
◮ Theorem For ATL, the perfect recall semantics (IR) is equivalent to the
memoryless semantics (Ir) under perfect information, i.e., M, q |=IR ϕ iff M, q |=Ir ϕ, i.e., ATL = ATLIr = ATLIR The two semantics, Ir and IR, are different for ATL*.
◮ Model Checking Complexity
Ir IR ATL P P ATL* ∆P
3