Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Enn Tyugu1 Algorithms of Artificial Intelligence Lecture 9: Intelligent agents E. Tyugu Spring 2003.

Similar presentations


Presentation on theme: "© Enn Tyugu1 Algorithms of Artificial Intelligence Lecture 9: Intelligent agents E. Tyugu Spring 2003."— Presentation transcript:

1 © Enn Tyugu1 Algorithms of Artificial Intelligence Lecture 9: Intelligent agents E. Tyugu Spring 2003

2 © Enn Tyugu2 Intelligent agents Intelligent agents are software components. They possess some features of intelligent behavior: proactiveness understanding of agent communication language (ACL) reactivity (ability to make some decisions and to act) and they may have properties like planning ablity mobility reflection perception of environment etc. In the software engineering community they are also called software agents and are considered to be objects with proactiveness and ACL. (Compare agents and objects.)

3 © Enn Tyugu3 Proactiveness Proactiveness is the ability to act without external stimuli. It can be realized by means of a separate thread performing the following simple algorithm, and a knowledge base of proactive actions. A9.1: while true do wait(givenInterval); lookAtClock; consultKB; act; od

4 © Enn Tyugu4 How to act in an open world? perceiving the world affecting the world having a (rational) model of behavior having motivations to be fulfilled by implementing corresponding goals

5 © Enn Tyugu5 Basic concepts: Agents act on behalf of another entities autonomy proactiveness reactivity decentralized data and control negotiation, communication, coordination

6 © Enn Tyugu6 More definitions Distributed Problem Solving (DPS) -considers how the task of solving a particular problem can be divided among a number of cooperating modules Multi-Agent Systems (MAS) - concerned with behavior of a collection of autonomous agents aiming in solving a given problem

7 © Enn Tyugu7 Simple reactive agent reactiveAgent() { while (true) do state := perceive(); rule :=selectRule(KB,state); rule.action(); } perceive actselect KB Environment

8 © Enn Tyugu8 Agent with internal state reactiveAgent() { while (true) do input := perceive(); rule := selectRule(KB,input,state); state := update(state,input); rule.action(); } perceive act select KB Environment state update

9 © Enn Tyugu9 Goal-driven agent perceive act select KB1 Environment state update goal planner KB2

10 © Enn Tyugu10 BDI BDI = Beliefs, Desires, Intentions perceive act select KB1 Environment state update goal planner KB2 BDI ACL communication ? intentions

11 © Enn Tyugu11 Knowledge processing within an agent Goal activation Scheduling Execution Planning Goals Skills World state Plans Tasks Resources

12 © Enn Tyugu12 Generic Agent Interpreter - an agent shell (Y. Shoham) Initialize mental state and capabilities Define rules for making new commitments Update mental state Execute commitments for current time clock Representation of mental state and capability Outgoing messages Incoming messages

13 © Enn Tyugu13 Agent finite state machine ACTIVE RECEIVING WAITING INACTIVE SENDING Request transmit Transmission done Time slice elapsed Agent rescheduled Decides to receive received suspend Wait condition satisfied

14 © Enn Tyugu14 Agent machinery

15 © Enn Tyugu15 Agent Shell Functional Structure

16 © Enn Tyugu16 Agent communication languages (ACL) There are several ACL-s, the best known are: –KQML –FIPA. The KQML language is based on the speech act theory: –it gives a message format and message handling protocol –it has primitives with fixed meaning, called performatives –it is assumed that the environment for using KQML provides facilitators - special agents supporting the communication process, e.g. supporting a name service etc.

17 © Enn Tyugu17 KQML statement (message) A KQML message consists of a performative its arguments, if any message content (not understood in KQML) communication (transport and context( information. Example: (Ask-one- performative :sender customer1- communication :content (PRICE VCR ?price)- content :reply-with VCR-price :langugae LPROLOG- parameters :ontology USD)

18 © Enn Tyugu18 KQML performatives KQML performatives have the role of commands. Some KQML performatives are: –tell, deny, cancel, untell –evaluate, reply, ask-if, ask-one, ask-about, ask-all –achieve, advertise, subscribe, monitor, register, unregister

19 © Enn Tyugu19 Reflection in agents Procedural Parametric Declarative

20 © Enn Tyugu20 Declarative reflection schema 1 Oracle (planner) self Model of the self and of the environment daemon

21 © Enn Tyugu21 Declarative reflection schema 2 Oracle (planner) self Model of the self and of the environment Reflection manager Modeling language daemon

22 © Enn Tyugu22 Concept specification language Superclass declaration super C;- C is a superclass Component declaration var A : C;- A is a new component of class C Method declaration rel R : ;- R is a new method (the name R may be omitted.) Equivalence declaration rel A = B;- A and B are components with the same value Equation declaration rel e1 = e2;- e1, e2 are arithmetic expressions which define a constraint on the variables occurring in them

23 © Enn Tyugu23 Translation of specifications We use a function Sem´ in an expression Sem´(D,w) denoting the set of formulas (axioms) representing the semantics of a declaration D with respect to the object w. Sem(class C : D) =  (  w. C(w)  Sem´(D,w))  - semantics of the class is a set of axioms of the form C(w)  F, where each F is included into axioms of one of its declarations, plus axioms representing the structure of the class.

24 © Enn Tyugu24 Translation of specifications continued Sem´(super C, w) = C(w) – axioms of a superclass are taken without changes. Sem´(var A : C, w) = C(w.A) – a component A of an object w obtains the name w.A and keeps the properties of the class C given in its declaration. Sem´(rel, w) = - semantics of a method is given by its axiom. Sem´(rel X = Y, w) = w.X = w.Y – equality of components is encoded in the proper way.

25 © Enn Tyugu25 Exhibition/shopping center example class Visitor: superPerson; var affiliation : text; class Guide: superAgent; varid : text; param : text; class Team: varvisitor : Visitor; guide : Guide; planOfVisit, parameters, state : text; level, priority : num;

26 © Enn Tyugu26 Exhibition/shopping center example class FirstMeet: varguide : any; visitor : any; team : Team; rel intro: guide, visitor -> team.planOfVisit, team.level, team.param {…}; team.guide = guide; team.visitor = visitor; class Guide: superAgent; varid, param : text; class Team: varvisitor : Visitor; guide : Guide; level, priority : num; planOfVisit, parameters,state,nextstate : text;

27 © Enn Tyugu27 Exhibition/shopping center example class FirstMeet: varguide : any; visitor : any; team : Team; relintro: guide, visitor -> team.planOfVisit, team.level, team.param {…}; team.guide = guide; team.visitor = visitor; class Move: varteam : Team; exhibitionInfo : any; nextPlace : any; relnext : exhibitionInfo, team.planOfVisit -> nextPlace {…}; init exhibitionInfo := Expo2XXX();

28 © Enn Tyugu28 Exhibition/shopping center example class AtBooth: super Agora; varbooth : any; time : num; team : Team; ready, bye : bool; aliasstate = (time, all.state); nextstate = (time, all.nextstate); relintro : team, booth -> state {…}; discourse : (state -> nextstate) -> ready {…}; farewell : ready -> bye {…};

29 © Enn Tyugu29 Declarations for the PC example ClassDiscrepancyExist: varListOfPCmemebers: any; resolveConflict: bool; paper: Paper; rel Conflict: ListOfPCmemebers, paper -> resolveConflict {…};

30 © Enn Tyugu30 Managing reflection (Exhibition/Shopping center) Tommy9 : Guide type = Tommy; MrSmith :Visitor name = ´John´; act1 : FirstMeet guide = Tommy9, visitor = MrSmith; team1024 = act1.team; act2 : Move team = team1024 ; act3 : AtBooth booth = act2.nextPlace; act4 : Move team = team1024; act6 : AtBooth booth = Nokia; …

31 © Enn Tyugu31 References G. M. O’Hare, N. R. Jennings, eds. (1996) Foundations of Distributed Artificial Intelligence. John Wiley & Sons. Norvig, Russell (2000) Artificial Intelligence: Modern Approach P. Maes. (1987). Concepts and Experiments in Computational Reflection. Proc. ACM Conf. On OOP, Systems, Languages and Applications, Orlando, p. 147 – 156. Y. Shoham. (1997). An Overview of Agent-Oriented Programming. In: J. M. Bradshaw, ed. Software Agents. AAAI Press/The MIT Press, p. 271 - 290. M. Addibpour, E. Tyugu. Declarative reflection tools for agent shells. Future Generation Computer Systems. July 1996, p. 1 - 12.


Download ppt "© Enn Tyugu1 Algorithms of Artificial Intelligence Lecture 9: Intelligent agents E. Tyugu Spring 2003."

Similar presentations


Ads by Google