290 likes | 433 Views
Evolving Multi-Agent Viewpoints. - An Architecture. Pierangelo Dell’Acqua Dept. of Science and Technology Linköping University pier@itn.liu.se. João Alexandre Leite Luís Moniz Pereira Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa
E N D
Evolving Multi-Agent Viewpoints - An Architecture Pierangelo Dell’Acqua Dept. of Science and Technology Linköping University pier@itn.liu.se João Alexandre Leite Luís Moniz Pereira Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa { jleite, lmp }@di.fct.unl.pt Porto, 17-20 Dec. 2001 Epia01
Our agents We propose a LP approach to agents that can: • ReasonandReact to other agents • 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 • Capture the representation of social evolution
Framework This framework builds on the work: • Updating Agents P. Dell’Acqua & L. M. Pereira - MAS’99 • Multi-dimensional Dynamic Logic Programming L. A. Leite & J. J. Alferes & L. M. Pereira - CLIMA’01
Updating agents • 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)
Multi-Dimensional Logic Programming • In MDLP knowledge is given by a set of programs. • Each program represents a different piece of updating knowledge assigned to a state. • States are organized by a DAG (Directed Acyclic Graph) representing their precedence relation. • MDLP determines the composite semantics at each state according to the DAG paths. • MDLP allows for combining knowledge updates that evolve along multiple dimensions.
Contribution • To extend the framework of MDLP with integrity constraints and active rules. • To incorporate the framework of MDLP into a multi-agent architecture. • To make the DAG of each agent updatable.
DAG A directed acyclic graph DAGis a pair D=(V,E) where V is a set of vertices and E is a set of directed edges.
Agent’s language Atomic formulae: Aobjective atoms not Adefault atoms i:Cprojects iC updates 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 projectj:Cdenotes the intention of some agent i of proposing the updating the theory of agent j with C. iCdenotes an update proposed by i of the current theory of some agent j with C. fredC wilma:C
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.
Agent’s language A projecti:Ccan take one of the forms: i:( A ¬ L1 Ù...Ù Ln ) i:( not A ¬ L1 Ù...Ù Ln ) i:( false ¬ L1 Ù...Ù Ln Ù Z1 Ù...Ù Zm ) i:( L1 Ù...Ù Ln Z ) i:( ?- L1 Ù...Ù Ln ) i:edge(u,v) i:not edge(u,v)
Initial theory of an agent A multi-dimensional abductive LP for an agent is a tuple: T = D, PD, A, RD - D=(V,E) is a DAG s.t. ´V (inspection point of ). - PD={PV | vV} is a set of generalized LPs. - A is a set of atoms (abducibles). - RD={RV | vV} is a set of set of active rules.
The agent’s cycle • Every agent can be thought of as an abductive LP equipped with a set of inputs represented as updates. • The abducibles are (names of) actions to be executed as well as explanations of observations made. • Updates can be used to solve the goals of the agent as well as to trigger new goals.
alfredo´ judge mother father alfredo girlfriend state 0 Happy story - example DAG of Alfredo inspection point of Alfredo The goal of Alfredo is to be happy
Happy story - example alfredo´ judge hasGirlfriend ¬ not happy father:(?-happy) not happy mother:(?-happy) getMarried Ù hasGirlfriend girlfriend:propose moveOut alfredo:rentApartment custody(judge,mother) alfredo:edge(father,mother) {moveOut, getMarried} mother father alfredo girlfriend abducibles state 0
Happy story - example alfredo´ judge hasGirlfriend ¬ not happy father:(?-happy) not happy mother:(?-happy) getMarried Ù hasGirlfriend girlfriend:propose moveOut alfredo:rentApartment custody(judge,mother) alfredo:edge(father,mother) {moveOut, getMarried} mother father alfredo girlfriend state 0
Agent theory The initialtheoryof an agent is a multi-dimensional abductive LP. Let an updating programbe a finite set of updates, and 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.
Multi-agent system A multi-agent systemM={1s ,…, ns }at states is a set of agents 1,…,n at state s. M characterizes a fixed society of evolving agents. The declarative semantics of M characterizes the relationship among the agents in M, and how the system evolves. The declarative semantics is stable models based.
Happy story - 1st scenario Suppose that at state 1, Alfredo receives from the mother: mother(happy ¬ moveOut) mother(false ¬ moveOut Ù not getMarried) mother(false¬nothappy) and from the father: father(happy ¬ moveOut) father(not happy ¬ getMarried)
Happy story - 1st scenario alfredo´ false¬nothappy happy ¬ moveOut false ¬ moveOut Ù not getMarried judge mother father happy ¬ moveOut not happy ¬ getMarried alfredo In this scenario, Alfredo cannot achieve his goal without producing a contradiction. Not being able to make a decision, Alfredo is not reactive at all. girlfriend state 1
Happy story - 2nd scenario Suppose that at state 1 Alfredo’s parents decide to get divorced, and the judge gives custodity to the mother. judgecustody(judge,mother)
Happy story - 2nd scenario alfredo´ custody(judge,mother) judge hasGirlfriend ¬ not happy father:(?-happy) not happy mother:(?-happy) getMarried Ù hasGirlfriend girlfriend:propose moveOut alfredo:rentApartment custody(judge,mother) alfredo:edge(father,mother) mother father alfredo girlfriend state 1
Happy story - 2nd scenario alfredo´ Note that the internal update produces a change in the DAG of Alfredo. judge mother father Suppose that when asked by Alfredo, the parents reply in the same way as in the 1st scenario. alfredo girlfriend state 2
Happy story - 2nd scenario alfredo´ false¬nothappy happy ¬ moveOut false ¬ moveOut Ù not getMarried judge mother father happy ¬ moveOut not happy ¬ getMarried alfredo Now, the advice of the mother prevails over and rejects that of his father. girlfriend state 2
Happy story - 2nd scenario alfredo´ Thus, Alfredo gets married, rents an apartment, moves out and lives happily ever after. judge hasGirlfriend ¬ not happy father:(?-happy) not happy mother:(?-happy) getMarried Ù hasGirlfriend girlfriend:propose moveOut alfredo:rentApartment custody(judge,mother) alfredo:edge(father,mother) mother father alfredo girlfriend state 2
Syntactical transformation The semantics of an agent at state s, s=(T,U), is established by a syntactical transformation that maps s into an abductive LP: s = P,A,R 1.s P´,A,R P´ is a normal LP, A and R are a set of abducibles and active rules. 2.Default negation can then be removed from P´ via the abdual transformation (Alferes et al. ICLP99): P´ P P is a definite LP.
Agent architecture s = P,A,R Java CC InterProlog (Declarativa) InterProlog (Declarativa) Rational P Reactive P+R can abduce cannot abduce XSB Prolog XSB Prolog
ActionH External Interface UpdateH ext.project Updates int.project CC projects Rational P Reactive P+R Agent architecture s = P,A,R
Future work • At the agent level: • How to combine logical theories of agents expressed over graph structures. • How to incorporate other rational abilities, e.g., learning. • At the multi-agent system level: • Non synchronous, dynamic multi-agent system. • How to formalize dynamic societies of agents. • How to formalize the notion of organisational reflection.