Presentation is loading. Please wait.

Presentation is loading. Please wait.

What exactly is an agent? James Harland 23rd November, 2009.

Similar presentations


Presentation on theme: "What exactly is an agent? James Harland 23rd November, 2009."— Presentation transcript:

1 What exactly is an agent? James Harland james.harland@rmit.edu.au 23rd November, 2009

2 What exactly is an agent?23rd November, 2009 Overview  Role of talks  Motivation  Definitions  Proposal  Discussion....

3 What exactly is an agent? Role of Talks Polished talks on completed work have a role “I am giving this talk at AAMAS/IJCAI/KR/.. next month, so … “ So do informal talks on less developed work x-baked ideas for 0 < x =< 0.5 Informal discussion of developing ideas Opportunities for interactive work This talk is very much an invitation to a discussion … 23rd November, 2009

4 What exactly is an agent? Motivations Papers at AAMAS’07, ‘08 by ‘Four Musketeers’ on aborting, suspending and resuming goals  Add abort, suspend, resume behaviour to goals and plans  Transform (static) plan library to incorporate abort, suspend, resume -> abort -> [informal] -> -> [formal] 23rd November, 2009

5 What exactly is an agent? Motivations What exactly is transformed here? Plan library Is that all there is to the agent? In this case, but is that always the case? What exactly needs to be specified to specify an agent? 23rd November, 2009

6 What exactly is an agent? Agents are... “Usual” features, ie pro-active, reactive, situated, autonomous, social, …. Software (ie an agent is a special case of a program) Analysed in terms of mental attitudes (how do you say “BDI” without saying “BDI”? :-) Need to show both pro-active and reactive behaviours.... (??) 23rd November, 2009

7 What exactly is an agent? Seeking Agent Definitions... Note that we are looking for a formal definition  Not design principles  Not list of properties  Not (just) examples  Not informal definition (ie English description)  Not #include lots of stuff... None of these are bad, just not what we are looking for … 23rd November, 2009

8 What exactly is an agent? Agent Definitions Many of the classic papers do not define an agent!  Rao & Georgeff (1991, 1992, …)  Cohen & Levesque (1990)  Shoam (1993)  Franklin & Graesser (1996) .... Exceptions:  Rao's AgentSpeak paper (1996)  Woolridge's 2002 book 23rd November, 2009

9 What exactly is an agent? AgentSpeak Paper (1996) AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language, Anand Rao, January, 1996. An agent is tuple where E is a set of events (!!) B is a set of beliefs (!!) P is a set of plans (static, ie a plan library) I is a set of intentions (!!) A is a set of actions S E is a function which selects an event from E S O is a function which selects `an option or applicable plan' from a set of applicable plans S I is a function which selects an intention from I 23rd November, 2009

10 What exactly is an agent? AgentSpeak Paper (1996) Seems to confuse configuration with definition “E,B,I belong in a configuration” “A, P (static), S E, S O, S I in a definition” Rao later defines a BDI configuration as and discusses operational issues 23rd November, 2009

11 What exactly is an agent? Woolridge's book “We model agents as functions which map runs … to actions” e 0 -> e 1 -> … -> e n Seems accurate, but not too helpful … Later, when describing the architecture, uses: brf: updates beliefs (from beliefs and percepts) options: updates desires (from beliefs and intentions) filter: updates intentions (from beliefs, desires, intentions) plan: selects a plan (from beliefs, intentions, actions) 23rd November, 2009

12 What exactly is an agent? Multi-agent programming book Chapter 1: JASON and the Golden Fleece of Agent-Oriented Programming, Bordini, Hubner & Veira Agent configuration is ag is an agent program (beliefs and plans) C is a circumstance (intentions, events, actions) M is messages (in and out) and suspended intentions T is temporary information (relevant & applicable plans, chosen intention) s is current step Lots of operational issues. Similar to Rao’s definition. 23rd November, 2009

13 What exactly is an agent? Multi-agent programming book Chapter 2: Programming Multi-Agent Systems in 3APL, Dastani, van Riemsdijk & Meyer Agent is Configuration is i identifier, σ beliefs, γ goals, CAP capabilities, Π plans, PG goal planning rules PR plan revision rules ξ the environment (!!) θ a substitution 23rd November, 2009

14 What exactly is an agent? Multi-agent programming book Chapter 3: IMPACT: A Multi-Agent Framework with Declarative Semantics, Dix & Zhang Agent state: “data objects stored in relations the agent handles” Agent program: Set of rules of the form A <- X, L 1, … L n where X is a code call condition, L i are literals 23rd November, 2009

15 What exactly is an agent? Multi-agent programming book Chapter 4: CLAIM & SYMPA: A Programming Environment for Intelligent and Mobile Agents, El Fallah Seghrouchni & Suna Agent is α name, π parent, K knowledge base G untreated goals, G’ current goals M messages, C capabilities P current running processes S sub-agents, E achieved effects or goals 23rd November, 2009

16 What exactly is an agent? Agent Example Robots Alpha, Bravo, Charlie are sent to search for survivors of a plane crash. Each is allocated an area to search (perform goal) in the minimum possible time (soft goal) When a survivor is found, the robot gets them back to the base for treatment (achievement goal)  give directions and guidance  ask another robot to help carry the survivor  call for a helicopter Each needs to return to the base every four hours to recharge (maintenance goal) 23rd November, 2009

17 What exactly is an agent? Agent Example Possible to use a “standard” plan library approach..  Trigger perform goal on start up  Trigger achievement goals when survivors found  Trigger maintenance goals when condition violated (or predicted) What if online planning is used? Must an agent have a plan library? Must part of it be static? 23rd November, 2009

18 What exactly is an agent? Goal States Pending Maintaining Suspended Active Maintenance Achieve Perform 23rd November, 2009

19 What exactly is an agent? Agent Example Robots commence with the perform goal and maintenance goal. When a survivor is found, an event is raised, which fires a rule in the plan library which adds the achievement goal When the achievement goal has succeeded, it is dropped. survivor_found: available → +goal(assist_survivor) Maintenance goal is not dropped on success or violation; tends to oscillate between Maintaining and Active states. 23rd November, 2009

20 What exactly is an agent? Agent Example Why drop achievement goals? Why not send them back to the Pending state? Why use a plan library to trigger goals? Rules for goal transitions (van Riemsdjik, Dastani & Winikoff AAMAS'08) could be used just as easily … 23rd November, 2009

21 What exactly is an agent? Turing Machines ATuring machine M is Q is a finite set of states Σ is the input alphabet (a subset of Γ\{B}) Γ is the tape alphabet (must contain B) δ partial function from Q x Γ to Q x Γ x {L,R} q 0 is the initial state A Turing machine configuration is S current state T current tape Pos position of tape head pointer Computation is a sequence of configurations defined by the machine and the initial configuration 23rd November, 2009

22 What exactly is an agent? Turing Machines “Gold standard” for definitions (albeit of a much simpler computational process)  Precise definition of machine  Clear relationship between machine, configuration and computation  Separation of static and dynamic components  Machine definition contains all information needed to determine (the?) next configuration from the current one 23rd November, 2009

23 What exactly is an agent? How to define an agent? 1. Decide what information is required in an agent configuration 2. Classify each element as static or dynamic Static elements form part of the agent Dynamic elements require  An initial value  A method of update between configurations 23rd November, 2009

24 What exactly is an agent? So An Agent Should Specify... Agent configuration is 1. Method for updating beliefs  events, percepts, messages,...  learning  self-analysis  … 2. Method for updating goals  adopt/pend/drop/suspend/abort/resume/maintain …  triggered by rules  accepted from other agents  added by user/s .... 23rd November, 2009

25 What exactly is an agent? So An Agent Should Specify... 3. Method for finding plans Plan library On-line planner Other agents … 4. Initial values for all of these 5. Method for plan selection and execution?  Single thread  Concurrent threads  … 23rd November, 2009

26 What exactly is an agent? Discussion time … 23rd November, 2009


Download ppt "What exactly is an agent? James Harland 23rd November, 2009."

Similar presentations


Ads by Google