180 likes | 281 Views
Agent capabilities. We have proposed before a type of agents that are able to: - reason and react to the environment (including other agents). - update their own knowledge, reactions and goals. - interact by updating the theory of another agent.
E N D
Agent capabilities We have proposed before a type of agents that are able to: - 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.
Applications Due to their deliberative, reactive and updating capabilities, our approach to agents is an enabling technology for sophisticated Web applications. • Information integration How to integrate data from multiple heterogeneous sources and provide a uniform interface. • Web site management: self-reconfigurable and adaptive Web sites. Declarative representation of Web sites allows: • to automatically reconstruct them, e.g. on usage patterns; • to make them adaptable wrt. user profiles; • to enforce integrity constraints on Web sites, e.g. no dangling pointers.
Applications • For a discussion on the use of preference reasoning in Web applications cf. User preference information in query answering P. Dell'Acqua, L. M. Pereira, and A. Vitória 5th Int. Conf. on Flexible Query Answering Systems 2002, LNCS 2522 • For a discussion on the use of Logic Programming for the Semantic Web cf. Semantic web logic programming tools J. J Alferes, C. V. Damásio, L. M. Pereira invited paper, Ws. on Principles and Practice of Semantic Web reasoning (PPSWR’03), at 19th Int. Conf. On Logic Programming (ICLP’03), Dec. 2003
Language Atomic formulae: Aobjective atoms not Adefault atoms :Cprojects ÷Cupdates Formulae: generalized rules Liis 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
Abductive agents 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 (A,U) where: - A is a set of abducibles; - U={U1,…, Us} is a sequence of updating programs.
Agent behavioural issues The interaction between the rational/deliberative (D) and reactive (R) behaviour of the agent, and its updating mechanism (U) raises several issues: D-R • Should the deliberative behaviour of the agent influence its reactive behaviour? and vice versa? D-U • If has a goal to prove, and contemporarily some updates to consider, which of the two tasks shall perform first? • What should the behaviour of be when it receives an update while proving a goal G (i.e. while is in deliberative mode). R-U • If receives several updates, should consider each update and then trigger its active rules? or should consider all the updates and only then trigger the active rules?
Contribution of the paper We propose an agent architecture that allows: • to declaratively interrupt/suspend the execution of a query; • to declaratively self-modify its control parameters; • to tune its behaviour to the environmental needs, and hence to address an agent’s behavioural needs. Aim: to design an architecture that empowers agents with self-monitoring and self-control capabilities.
Agent architecture It consists of 6 asynchronous components.
Agent architecture • Central control controls the behaviour of the entire architecture via control parameters. • Reactiveand Rational processes characterize the reactive and rational behaviours of the agent. It is implemented by two XSB Prolog processes with identical knowledge bases. The Rational process can abduce. • Update handler sorts out the information received from the reactive process and the environment. • Action handler handles the tasks (actions) the agent wants to execute. • External interface handles the communication between the agent and it’s environment.
Rational process • If an agent a is at state s and Yas={A,U}, then the knowledge base of the rational process is the generalized logic program P = G(s,U) obtained via the syntactic transformation G. • The ABDUAL procedure is employed wrt. P to compute well-founded abductive answers to goals. • The Rational process receives the queries to be proved from central control. If the rational process proves ?-g with substitution q and list of abduced hypotheses La, it returns ans(g,gq,La) to central control which in turn updates the KBs of the rational and reactive processes with a ÷ans(g,gq,La).
Reactive process • Similarly to the Rational process, the KB of the reactive process is P = G(s,U). • The task of the Reactive process is to trigger any active rule in P whose body is satisfied given the hypotheses list La abduced by the Rational process at state s. Triggering an active rule means executing the project occurring in its head. • Distinguished projects: urgentRequest(G) : sendIterrupt(G, true) interrupt meeting : doAct(displayMessage) action alarmState : stateModify(reactiveDelayTime,100) self-tuning
Central control • Handles all the components by means if its control parameters. • Has the ability to interrupt/suspend the execution of a query. • It sends an interrupt sendInterrupt(G,F) to the rational process. • The interruption/suspension commands are implemented by XSB Prolog, and can originate externally. • Comprises two queues: • a prioritized queue with updates containing interrupts; • a queue with normal updates.
Central control • For any update of the form a ÷(?-g), central control: • launches the query ?-g on the Rational process; • collects its answer ans(g,gq,La) and it updates the KBs of the Rational and the Reactive process with it; • collects from the Reactive process all the executable projects, and sends them to the update handler. • For any update of the form a ÷stateModify(controlPar,value), central control modifies the value of the specified control parameter.
Example Theory of Peter: S1 a b, not c b friend(mary) A÷ (?-G), friend(A), not ans(G,G1,La) peter : (?-G) A÷ (?-G), ans(G,G1,La) A: ans(G,G1,La)
?-a Mary peter÷ans(a,a,[ ]) mary÷(?-a) peter÷ans(a,a,[ ]) mary÷(?-a) Project flow mary:ans(a,a,[ ]) mary:ans(a,a,[ ]) peter:(?-a) mary÷(?-a) peter:(?-a) mary:ans(a,a,[ ]) peter÷(?-a) ans(a,a,[ ]) mary÷(?-a) ?-a
Future work Test the interaction of the components of the architecture: • Web site management application. Add other modules to the architecture: • learning and planning module. Develop a multi-agent platform: • ongoing implementation of a platform supporting the interactions of our logic-based agents as well as some forms of agent structures. Provide a formal description of the behaviour of the architecture: • to verify logical properties; • to analyze and expand the architecture; • to formally compare our architecture with existing hybrid architectures.
Future work To make our implementation distributed over the internet: • To allow our agents to have parts spread on the Web. • Achieved by RMI of Java and by letting the XSB agents maintain a mirror copy of the KB of the agent. • Advantage: to offer high level Web services. E.g. if a deliberative agent is being developed at one place, several reactive agents may use its deliberations.