280 likes | 409 Views
A logic Based Asynchronous Multi-Agent System. Pierangelo Dell’Acqua Dept. of Science and Technology - ITN Linköping University, Sweden. Ulf Nilsson Dept. of Computer and Information Science - IDA Linköping University, Sweden. Luís Moniz Pereira
E N D
A logic Based Asynchronous Multi-Agent System Pierangelo Dell’Acqua Dept. of Science and Technology - ITN Linköping University, Sweden Ulf Nilsson Dept. of Computer and Information Science - IDA Linköping University, Sweden Luís Moniz Pereira Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa, Portugal
Contribution The paper presents an asynchronous multi-agent system for logic based agents, and provides its semantics. The interaction among agents is expressed via a transition rule system that characterizes the global behaviour of the system.
Our agents • We proposed a LP approach to agents that can: • ReasonandReact to other agents • Prefer among possible choices • Update their own knowledge, reactions, and goals • Interact by updating the theory of another agent • Decide whether to accept an update depending on the requesting agent • Abduce hypotheses to explain observations
Framework • This agent framework builds on the works: • Dynamic Logic Program - J. J. Alferes et al KR’98 • Updating Agents - P. Dell’Acqua & L. M. Pereira MAS’99 • Updates plus Preferences - J. J. Alferes & L. M. Pereira JELIA’00 • A compilation of Updates plus Preferences - J. J. Alferes et al JELIA’00
Enabling agents to update their KB • Updating agent:a rational, reactive agent that can dynamically change its own knowledge and goals. • makes observations • reciprocally updates other agents with goals and rules • thinks (rational) • selects and executes an action (reactive)
Agent’s language • Atomic formulae: Aobjective atoms not Adefault atoms :Cprojects updates C • Formulae: generalized rules Li is an atom, an update or a negated update A ¬ L1 Ù...Ù Ln not A ¬ L1 Ù...Ù Ln Zj is a project integrity constraint false ¬ L1 Ù...Ù Ln Ù Z1 Ù...Ù Zm active rule L1 Ù...Ù Ln Z
Projects and updates • A project2:Cdenotes the intention of some agent 1 of proposing the updating the theory of agent 2 with C. • denotes an update proposed by 1 of the current theory of some agent 2 with C. 1C fredC wilma:C
Example: active rules Consider the following active rules in the theory of an agent 1. A 2: not B B 1: C
Agents’language • A project:Ccan take one of the forms: :( A ¬ L1 Ù...Ù Ln ) :( not A ¬ L1 Ù...Ù Ln ) :( false ¬ L1 Ù...Ù Ln Ù Z1 Ù...Ù Zm ) :( L1 Ù...Ù Ln Z ) :( ?- L1 Ù...Ù Ln ) • Note that a program can be updated with another program, i.e., any rule can be updated.
Agents’ knowledge states • Knowledge states represent dynamically evolving states of agents’ knowledge. They undergo change due to updates. • Given the current knowledge state Ps , its successor knowledge state Ps+1 is produced as a result of the occurrence of a set of parallel updates. • Update actions do not modify the current or any of the previous knowledge states. They only affect the successor state: the precondition of the action is evaluated in the current state and the postcondition updates the successor state.
Abductive agents • The initial theory of an agent is a tuple (P,A,R): - P is a set of generalized rules and integrity constraints. - A is a set of abducibles. - R is a set of active rules. • An updating program is a finite set of updates. • Let S be a set of natural numbers. We call the elements sS states. • An agent at state s , written s , is a pair (T,U): - T is the initial theory of . - U={U1,…, Us} is a sequence of updating programs.
Semantics of abductive agents Let s = (T,U) and be the hypotheses assumed by at state s. • An abductive stable model of at state s with hypotheses is a stable model of the program that extends T to contain: - the updates in U, - the rules whose updates (in U) are neither distrusted nor rejected, - the projects of active rules with true body, and - the hypotheses in .
Example: abductive agent Consider the following theory of an agent 2. A B¬A T = (P,A,R) = (P,{},{}) and P = 20 = (T,{}) M = {A, B} M is the unique abductive stable model of at state s with hypotheses ={} 21 = (T,{U1}) with U1 = { 1not B } M = {A, not B, 1not B}
Multi-agent systems A MAS consists of a number of agents acting concurrently and transition rules that characterize the global behaviour of the system. • The interaction among the agents is asynchronous and modelled via buffers. • A buffer [U1,…,Ui] is a sequence of updating programs U1,…,Ui (i 0). • Each agent is equipped with a buffer s [U1,…,Ui ]
Multi-agent systems • A multi-agent system consists of a number of abductive agents 1,…,n acting concurrently: = 1s1 [ U1,…,Ui ] | … |nsn [ V1,…,Vj ] together with the transition rules: EXTP, INTP and INCUP. • characterizes a fixed society of evolving agents.
Transition rules - EXTP Let Pi be the set of executable projects of an agent i EXTP to execute external projects of 1: if (2:C) P1 where 12 and Vj+1 ={ 1C | for every 2:C P1 } 1s1 [ U1,…,Ui ] |2s2 [ V1,…,Vj ] 1s1 [ U1,…,Ui ] |2s2 [ V1,…,Vj, Vj+1]
Transition rules - INTP INTP to execute internal projects of : if (:C) P where Ui+1 ={ C | for every :C P } s [ U1,…,Ui ] s [ U1,…,Ui, Ui+1]
Transition rules - INCUP INTP to incorporate updates into from its buffer Let s = (T,{U1,…,Us}) where i1 and s+1= (T,{U1,…,Us,Us+1}) with Us+1=V1 s [ V1,…,Vi ] s+1 [ V2,…,Vi ]
Multi-agent system at state s A multi-agent system at state 0 (initial configuration): 0 = 10 [ ] | … |n0 [ ] A multi-agent system at state s: s = 1s1 [ U1,…, Ui ] | … |nsn [ V1,…, Vj ] where s= s1+…+sn
Multi-agent system at state s • The MAS remains at the same state when the transition rule INTP or EXTP is applied. • If INCUP is employed (by an agent i), then the MAS s = 1s1 [ U1,…, Ui ] | … |isi [T1, T2,…, Tk ] | … |nsn [ V1,…, Vj ] moves to the next state: s+1 = 1s1 [ U1,…, Ui ] | … |isi+1 [ T2,…, Tk ] | … |nsn [ V1,…, Vj ]
Semantics of multi-agent systems • The declarative semantics S of MAS characterizes the relationship among the agents in and how the system evolves. • The declarative semantics Ssof at state s is the set of sets Misi of all the abductive stable models of every agent i in at state si with hypotheses i : Ss = { M1s1 ,…, Mnsn }
Executable projects • The set P of executable projects of an agent contains the projects that occur in every abductive stable model of at state s with hypotheses .
Example: MAS Consider the following two agents 1 and 2. A A 2: not B B 1: C T1 = A B¬A T2 =
Example: MAS 0 = 10 [ ] |20 [ ] by EXTP 0 = 10 [ ] |20 [ U1 ] with U1 = {1not B} by INCUP 1 = 10 [ ] |21 [ ]
Example: MAS 0 = 10 [ ] |20 [ ] S0 = {M10, M20} M10 = { {A,2: not B} } P1 = {2: not B } M20 = { {A,B} } P2 = { } EXTP is applicable
Example: MAS 0 = 10 [ ] |20 [ U1 ] with U1 = {1not B} S0 = {M10, M20} INCUP is applicable
Example: MAS 1 = 10 [ ] |21 [ ] M10 = { {A,2: not B} } M21 = { {A, not B, 1not B} } S1 = {M10, M21}
Future work • Investigate whether there are invariants and other properties of the MAS that can guarantee the behaviour of the entire system. • Ongoing implementation of our agent framework: - its logical parts (logical reasoning, updating, preferring, etc.) are implemented in XSB Prolog, and - its non-logical parts are implemented in Java. - InterProlog is then used to interface XSB and Java. • How to represent organisational structures, and how to animate them with agents in a way that each agent will have a view of the organisational structure and the externally visible events.