270 likes | 434 Views
Updating, preferring and acting in abductive agents. P. Dell’Acqua Dept. of Science and Technology - ITN Linköping University, Sweden. Joint work with:. L. M. Pereira, J. J. Alferes, J. A. Leite Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa, Portugal.
E N D
Updating, preferring and actingin abductive agents P. Dell’Acqua Dept. of Science and Technology - ITN Linköping University, Sweden Joint work with: L. M. Pereira, J. J. Alferes, J. A. Leite Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa, Portugal June 12th, 2003 L’Aquila, Italy
Outline Updating agents Agent’s language Preferring in agents Updates plus preferring Architecture Architecture Future works
Capabilities of our agents We propose an approach to agents that can: - reasonandreact to the environment (including 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 - prefer among possible choices - abduce hypotheses to explain observations
Updating agents Updating agent:a rational, reactive agent that can dynamically change its own knowledge and goals - makes observations - updates its knowledge, reactions and goals - thinks a bit (rational) - selects and executes an action (reactive)
Agent’s language Atomic formulae: Aobjective atoms not Adefault atoms i:Cprojects iCupdates 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
Example: active rules Consider the following active rules in the theory of Maria. money maria : not work beach maria : goToBeach travelling pedro : bookTravel
Projects 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 ) 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.
Enabling agents to prefer Let the underlying theory of Maria be: city ¬ not mountainÙ not beach Ù not travelling work vacation ¬ not work mountain ¬ not cityÙ not beach Ù not travelling Ù money beach ¬ not cityÙ not mountain Ù not travelling Ù money travelling ¬ not cityÙ not mountain Ù not beach Ù money Since the theory has a unique two-valued model: M={city, work} Maria decides to live in the city.
Enabling agents to prefer If we add the fact money to the theory of Maria, then the theory has 4 models: M1={city, money, work} M2= {mountain, money, work} M3= {beach, money, work} M4= {travelling, money, work} Therefore, Maria is unable to decide where to live. To select among alternative choices, Maria needs the ability of preferring.
Updates plus preferences A logic programming framework that combines two distinct forms of reasoning: preferring and updating. A language capable of considering sequences of logic programs that result from the consecutive updates of an initial program, where it is possible to define a priority relation among the rules of all successive programs. Updates create new models, while preferences allow us to select among pre-existing models The priority relation can itself be updated.
Preferring agents • Agents can express preferences about their own rules. • Preferences are expressed via priority rules. • Preferences can be updated, possibly on advice from others. Preferring agent:an agent that is able to prefer beliefs and reactions when several alternatives are possible.
Priority rules Let < be a binary predicate symbol whose set of constants includes all the generalized rules: r1 < r2 means that the rule r1 is preferred to rule r2 . A prioritized LP is a set of generalized rules (possibly, priority rules) and integrity constraints. A priority rule is a generalized rule defining < .
Example: a prioritized LP (1) city ¬ not mountainÙ not beach Ù not travelling (2) work (3) vacation ¬ not work (4) mountain ¬ not cityÙ not beach Ù not travelling Ù money (5) beach ¬ not cityÙ not mountain Ù not travelling Ù money (6) travelling ¬ not cityÙ not mountain Ù not beach Ù money 1<4 ¬ work 4<6 ¬ vacation 1<5 ¬ work 5<6 ¬ vacation 1<6 ¬ work 6<1 ¬ vacation If we add money to the theory, then there is a unique model: M={city, money, work} If work is false, then vacation holds: M1={mountain, money, vacation} M2={beach, money, vacation}
Agent theory The initial theory of an agent is a pair (P,R): - P is an prioritized LP. - 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.
Example: happy story Let the initial theory (P,R) of Maria be: State: 0 (1) city ¬ not mountainÙ not beach Ù not travelling (2) work (3) vacation ¬ not work (4) mountain ¬ not cityÙ not beach Ù not travelling Ù money (5) beach ¬ not cityÙ not mountain Ù not travelling Ù money (6) travelling ¬ not cityÙ not mountain Ù not beach Ù mone 1<4 ¬ work 4<6 ¬ vacation 1<5 ¬ work 5<6 ¬ vacation 1<6 ¬ work 6<1 ¬ vacation money maria : not work beach maria : goToBeach travelling pedro : bookTravel U={ }
Example: happy story At state 0 Maria receives lmoney State: 1 (1) city ¬ not mountainÙ not beach Ù not travelling (2) work (3) vacation ¬ not work (4) mountain ¬ not cityÙ not beach Ù not travelling Ù money (5) beach ¬ not cityÙ not mountain Ù not travelling Ù money (6) travelling ¬ not cityÙ not mountain Ù not beach Ù mone 1<4 ¬ work 4<6 ¬ vacation 1<5 ¬ work 5<6 ¬ vacation 1<6 ¬ work 6<1 ¬ vacation money maria : not work beach maria : goToBeach travelling pedro : bookTravel U={ U1={lmoney } }
Example: happy story Then, Maria receives marianot work State: 2 (1) city ¬ not mountainÙ not beach Ù not travelling (2) work (3) vacation ¬ not work (4) mountain ¬ not cityÙ not beach Ù not travelling Ù money (5) beach ¬ not cityÙ not mountain Ù not travelling Ù money (6) travelling ¬ not cityÙ not mountain Ù not beach Ù mone 1<4 ¬ work 4<6 ¬ vacation 1<5 ¬ work 5<6 ¬ vacation 1<6 ¬ work 6<1 ¬ vacation money maria : not work beach maria : goToBeach travelling pedro : bookTravel U={U1={lmoney}, U2={marianot work} }
Example: happy story Then, Maria receives f (5<4¬vacation) State: 3 (1) city ¬ not mountainÙ not beach Ù not travelling (2) work (3) vacation ¬ not work (4) mountain ¬ not cityÙ not beach Ù not travelling Ù money (5) beach ¬ not cityÙ not mountain Ù not travelling Ù money (6) travelling ¬ not cityÙ not mountain Ù not beach Ù mone 1<4 ¬ work 4<6 ¬ vacation 1<5 ¬ work 5<6 ¬ vacation 1<6 ¬ work 6<1 ¬ vacation money maria : not work beach maria : goToBeach travelling pedro : bookTravel U={U1={lmoney}, U2={marianot work}, U3={f (5<4¬vacation)} }
Multi-agent systems A multi-agent system M={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.
Agent architecture Java Control Cycle InterProlog InterProlog Rational P Reactive P+R can abduce cannot abduce XSB Prolog XSB Prolog
Action Handler External Interface UpdateH ext.project Updates int.project C C projects Rational P Reactive P+R Agent architecture’s implementation by Mattias Engberg
Fw: logic-based controllers • Use of agents as logic-based controllers (joint work with A. Lombardi) - simple artificial world: balloon environment
Fw: agent organizational structures • Formalize organizational structures for epistemic multi-agent systems (eMAS) - groups, institutions, societies, etc. - norms, regulations, etc. • Ongoing implementation of a platform supporting the interactions of our logic-based agents as well as some forms of agent structures (by Mattias Blixt)
Fw: user preference information in query answering Use of preference reasoning at query time to facilitate the retrieval of information wrt. users’ interests (joint work with A. Vitória) • how to incorporate abduction: abductive preferences leading to conditional answers depending on accepting a preference • group preference: how to tackle the problem arising when we have several users query the system together
Applications Applications in which our agent technology can have a significant potential to contribute are web applications, e.g. • information integration how to integrate data from multiple heterogeneous sources and to provide a uniform interface, e.g. to provide info about movies • web-site management self-reconfigurable and adaptive web sites declarative representation of web sites allows: - to automatically reconstruct them, e.g. on usage patterns and can adapt themselves wrt. user profiles - to enforce integrity constraints on web sites, e.g. no dangling pointers