alternating time temporal logic
play

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


  1. Alternating-time temporal logic Mehdi Dastani BBL-521 M.M.Dastani@uu.nl

  2. 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” or equivalently “group G has the ability to enforce ϕ ”.

  3. 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 � � ¬ � ¬ ϕ

  4. ATL: Syntax ◮ � �{ mehdi }� � � BeInUtrecht ◮ � �{ mehdi , tim }� � � StudentsAreExcited ◮ � �{ mehdi }� � � � �{ tim }� � � GiveTutorial ◮ ¬� �{ mehdi , tim , lars }� � � StudentsHappy ◮ � �{ anna , betty , alex , bob }� � SecretKept U CourseEnded

  5. ATL: Semantics ◮ Concurrent Game Structure (CGS) as model of ATL. ◮ CGS captures Agents, states, actions. 1 2 wait,wait pos 0 push,push q 0 pos 0 p push,wait u s wait,push wait,push h , w a i t 1 wait,wait 2 wait,wait pos 1 push,push pos 2 push,push q 2 q 1 wait,push 2 1 pos 2 push,wait pos 1

  6. 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 → 2 Act 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 . wait,wait push,push 1 2 q 0 pos 0 pos 0 p t i u a s h w w h s , u a , w h i p s t a , , u p t i i t p u a 1 1 s 2 2 w wait,wait h pos 1 pos 2 wait,wait push,push push,push 2 2 q 2 q 1 1 1 wait,push pos 2 push,wait pos 1

  7. (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 f i : Q → Act such that f i ( 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., f G = { f i | i ∈ G } ◮ Strategy example: wait,wait ◮ f 1 ( q 0 ) = push , f 1 ( q 1 ) = wait , f 1 ( q 2 ) = wait push,push q 0 pos 0 ◮ f 2 ( q 0 ) = wait , f 2 ( q 1 ) = wait , f 2 ( q 2 ) = push push,wait push,wait wait,push wait,push wait,wait ◮ f ′ 1 ( q 0 ) = push , f ′ 1 ( q 1 ) = push , f ′ 1 ( q 2 ) = wait wait,wait push,push push,push q 2 q 1 wait,push ◮ f ′ 2 ( q 0 ) = wait , f ′ 2 ( q 1 ) = wait , f ′ 2 ( q 2 ) = wait push,wait pos 2 pos 1

  8. Strategy and Path ◮ A path σ is an infinite sequence of states σ = q 1 q 2 q 3 . . . ◮ σ ( i ) = σ i = q i ◮ σ i = q i q i + 1 q i + 2 . . . ◮ out ( q , f G ) is the set of all paths starting in state q where each agent in G uses its strategy in f G . ◮ σ = q 1 q 2 . . . ∈ out ( q , f G ) iff ◮ q = q 1 ◮ for each k > 1 there is a tuple ( α 1 , . . . , α n ) ∈ Act n such that ◮ α i ∈ d i ( q k − 1 ) for each i ∈ N (actions are available), ◮ α i = f G ( q k − 1 ) for each i ∈ G (agents in G use their strategies in f G ), and ◮ o ( q k − 1 , α 1 , . . . , α n ) = q k (performing joint action in q k − 1 results in q k )

  9. 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 p ∈ π ( q ) iff M , q | = ¬ ϕ M , q �| = ϕ iff M , q | = ϕ ∨ ψ M , q | = ϕ or M , q | = ψ iff M , q | = � there is f G s.t., for every σ ∈ out ( q , f G ) , we have � G � � X ϕ iff M , σ ( 2 ) | = ϕ M , q | = � � G � iff there is f G s.t., for every σ ∈ out ( q , f G ) , we have � � ϕ M , σ ( i ) | = ϕ for all i ≥ 1 M , q | = � � G � � ϕ U ψ iff there is f G s.t., for every σ ∈ out ( q , f G ) , we have M , σ ( i ) | = ψ for some i ≥ 1 and M , σ ( j ) | = ϕ for all 1 ≥ j ≥ i

  10. ATL: Example 1 2 wait,wait pos 0 push,push q 0 pos 0 p push,wait u s wait,push wait,push h , w a i t 1 wait,wait 2 wait,wait pos 1 push,push pos 2 push,push q 1 q 2 wait,push 2 1 push,wait pos 2 pos 1 ◮ Can agent 1 in pos 0 ensure visiting pos 1 ? I.e., M , q 0 | = � �{ 1 }� � � pos 1 ◮ Can agent group { 1 , 2 } in pos 0 ensure maintaining pos 1 ? I.e., M , q 0 | = � �{ 1 , 2 }� � � pos 1 ◮ Can agent group { 1 , 2 } in pos 0 ensure visiting and maintaining pos 1 ? I.e., M , q 0 | = � �{ 1 , 2 }� � X � �{ 1 , 2 }� � � pos 1

  11. 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 ◮ � � ( X p ∧ XX ¬ p ) � G �

  12. 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 f G such that, for each path σ ∈ out ( q , f G ) , we have M , σ | = φ M , σ 2 | = ϕ M , σ | = X ϕ iff M , σ i | = ϕ for some i ≥ 1 M , σ | = � ϕ iff M , σ i | = ϕ for all i ≥ 1 M , σ | = � ϕ iff M , σ i | = ψ for some i ≥ 1, and M , σ j | = ϕ forall 1 ≤ j ≤ i M , σ | = ϕ U ψ iff M , σ | = ϕ M , σ ( 1 ) | = ϕ iff Note that temporal formulae and the Boolean connectives are handled as before.

  13. Example: Prisoner’s escape ◮ A prison has two exits: escaped ◮ rear exit guarded by the guard Alex ( nop , nop ) q 3 ◮ front exit guarded by the guard Bob ( pw A , c ) ◮ To exist secret passwords must be given to guard. ( pw B , c ) Alex Bob ( move , ? ) ◮ Frank is a prisoner who wants to escape. q 1 q 2 ( move , ? ) ◮ Frank has learned the passwords of both guards. ( pw B , d ) ( pw B , d ) ( pw A , d ) ( pw B , c ) ( pw A , c ) ( pw A , d ) ◮ Charlie is an internal guard and observes Frank. ◮ Charlie can cooperate (actions c ), by keeping q 4 ( nop , nop ) quiet, or can defect (action d ), by warning the caught guards.

  14. Example: Prisoner’s escape escaped 1. M , q 1 �| = � �{ fr }� � � escaped ( nop , nop ) q 3 2. M , q 1 | = � �{ fr , ch }� � � escaped ( pw A , c ) ( pw B , c ) Alex Bob 3. M , q 1 | = � �{ ch }� � � ¬ escaped ( move , ? ) q 1 q 2 ( move , ? ) 4. M , q 1 �| = � �{ ch }� � � caught ( pw B , d ) ( pw B , d ) ( pw A , d ) ( pw B , c ) ( pw A , c ) ( pw A , d ) 5. M , q 1 | = � � X ( Bob ∧� � X escaped ) �{ fr }� �{ fr , ch }� q 4 ( nop , nop ) 6. M , q 1 | = � �{ fr }� � � � Alex caught

  15. 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 f i : 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 f i : Q + → Act

  16. Memoryless and perfect recall strategies ◮ Strategic abilities of agents in ATL* depend on the agents’ memory. ◮ Example: ◮ For perfect recall strategy M , q 0 | = � �{ 1 , 2 }� � ( Xp ∧ XX ¬ p ) ◮ For memoryless strategy M , q 0 �| = � �{ 1 , 2 }� � ( Xp ∧ XX ¬ p ) ( α, α ) ( ∗ , ∗ ) α, β q 0 q 1 p ¬ p

  17. 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 = ATL Ir = ATL IR The two semantics, Ir and IR , are different for ATL* . ◮ Model Checking Complexity Ir IR ATL P P ∆ P ATL* PSPACE 3

  18. Applications and extensions of ATL ◮ ATL ( ∗ ) is used to reason about multiagent systems ◮ ATL ( ∗ ) is used to model various phenomena such as responsibility and normative systems ◮ ATL ( ∗ ) with imperfect information ◮ Resource bounded ATL ( ∗ )

Recommend


More recommend