joão alexandre leite luís moniz pereira centro de inteligência artificial - centria universidade...
Post on 21-Dec-2015
222 views
TRANSCRIPT
João Alexandre Leite
Luís Moniz Pereira
Centro de Inteligência Artificial - CENTRIA
Universidade Nova de Lisboa
{ jleite, lmp }@di.fct.unl.pt
Pierangelo Dell’Acqua
Dept. of Science and Technology
Linköping University
Porto, 17-20 Dec. 2001Epia01
Our agents
We propose a LP approach to agents that can:
Reason and React to other agentsUpdate their own knowledge, reactions and goals Interact by updating the theory of another agentDecide whether to accept an update depending on the
requesting agentCapture 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
1 To extend the framework of MDLP with integrity constraints and active rules.
2 To incorporate the framework of MDLP into a multi-agent architecture.
3 To make the DAG of each agent updatable.
DAG
A directed acyclic graph DAG is 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:
A objective atoms
not A default atoms
i:C projects
iC updates
Formulae: Li is an atom, an update or a negated update
active rule
generalized rules
Zj is a project
integrity constraint
false L1 Ln Z1 Zm
A L1 Ln
not A L1 Ln
L1 Ln Z
Projects and updates
A project j:C denotes the intention of some agent i of proposing the updating the theory of agent j with C.
iC denotes an update proposed by i of the current theory of some agent j with C.
wilma:C
fredC
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 project i:C can take one of the forms:
i : ( A L1 Ln )
i : ( L1 Ln Z )
i : ( ?- L1 Ln )
i : ( not A L1 Ln )
i : ( false L1 Ln Z1 Zm )
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.
Happy story - example
inspection point of Alfredo
alfredo
judge
mother father
girlfriend
alfredo´
state 0
The goal of Alfredo is to be happy
DAG of Alfredo
Happy story - example
alfredo
judge
mother father
girlfriend
alfredo´
hasGirlfriend not happy father:(?-happy)not happy mother:(?-happy)getMarried hasGirlfriend girlfriend:proposemoveOut alfredo:rentApartmentcustody(judge,mother) alfredo:edge(father,mother)
{moveOut, getMarried}
state 0
abducibles
Happy story - example
alfredo
judge
mother father
girlfriend
alfredo´
state 0
hasGirlfriend not happy father:(?-happy)not happy mother:(?-happy)getMarried hasGirlfriend girlfriend:proposemoveOut alfredo:rentApartmentcustody(judge,mother) alfredo:edge(father,mother)
{moveOut, getMarried}
Agent theory
The initial theory of an agent is a multi-dimensional abductive LP.
Let an updating program be 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 system M={1s ,…, n
s } at state s 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:
and from the father:
mother(happy moveOut)
mother(false moveOut not getMarried)
mother(false not happy)
father(happy moveOut)
father(not happy getMarried)
happy moveOutfalse moveOut not getMarried
alfredo
judge
mother father
girlfriend
alfredo´
state 1
happy moveOutnot happy getMarried
Happy story - 1st scenario
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.
false not happy
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)
custody(judge,mother)
Happy story - 2nd scenario
alfredo
judge
mother father
girlfriend
alfredo´
state 1
hasGirlfriend not happy father:(?-happy)not happy mother:(?-happy)getMarried hasGirlfriend girlfriend:proposemoveOut alfredo:rentApartmentcustody(judge,mother) alfredo:edge(father,mother)
Happy story - 2nd scenario
alfredo
judge
girlfriend
alfredo´
state 2
mother father Suppose that when asked by Alfredo, the parents reply in the same way as in the 1st scenario.
Note that the internal update produces a change in the DAG of Alfredo.
Happy story - 2nd scenario
Now, the advice of the mother prevails over and rejects that of his father.
alfredo
judge
girlfriend
alfredo´
state 2
happy moveOutfalse moveOut not getMarried
happy moveOutnot happy getMarried
mother father
false not happy
Happy story - 2nd scenario
Thus, Alfredo gets married, rents an apartment, moves out and lives happily ever after.
alfredo
judge
girlfriend
alfredo´
state 2
hasGirlfriend not happy father:(?-happy)not happy mother:(?-happy)getMarried hasGirlfriend girlfriend:proposemoveOut alfredo:rentApartmentcustody(judge,mother) alfredo:edge(father,mother)
mother father
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
RationalP
ReactiveP+R
CC
s = P,A,R
can abduce
XSB Prolog XSB Prolog
cannot abduce
InterProlog(Declarativa)
InterProlog(Declarativa)
Java
Agent architecture
RationalP
ReactiveP+R
CC
s = P,A,R
UpdateH
projects
ExternalInterface
ext.projectUpdates
ActionH
int.project
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.