Transcript 슬라이드 1 - Yonsei
Software Agent - Overview -
Outline
• Overview of agents – Definition – Characteristics – Comparison – Environment – Related research areas – Applications • Design of agents – Formalization – Task modeling – Environmental type review – Agent type • Summary
1/72
Face to Face Telephone Internet
2/72
Attributes of Intelligent Behavior
• Think and reason • Use reason to solve problems • Learn or understand from experience • Acquire and apply knowledge • Exhibit creativity and imagination • Deal with complex or perplexing situations • Respond quickly and successfully to new situations.
• Recognize the relative importance of elements in a situation • Handle ambiguous, incomplete, or erroneous information
3/72
AI Application in Software Agents
Inference Decision AI Application in Software Agents Planning Modeling Learning Interaction
4/72
What is the Agent?
• “ An agent is anything that can be viewed as perceiving environment through sensors and through effectors.” acting its upon that environment • “ Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act they are designed.” [Maes, 1995] autonomously in this environment, and by doing so realize a set of goals or tasks for which • “An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.” [Franklin and Graesser, 1995]
5/72
What is the Agent?
• “A hardware or (more usually) software-based computer system that enjoys the following properties: autonomy , social ability , reactivity , pro-activeness .” [Wooldridge and Jennings, 1995] • “Intelligent agents continuously perform three functions: perception dynamic conditions in the environment; action of to affect conditions in the environment; and problems, draw inferences, and determine actions.” [Hayes-Roth, 1995] reasoning to interpret perceptions, solve • “Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy , and in so doing, employ some knowledge or representation of the user's goals or desires.” [IBM]
6/72
Software Agent
• A formal definition of “Agent” [Wooldridge, 2002] – An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives AGENT input output ENVIRONMENT • Key attributes – Autonomy: capable of acting independently, exhibiting control over their internal state and behavior – Situateness • Place to live: it situates in some environment • Perception capability: its ability to perceive the environment • Effector capability: its ability to modify the environment – Persistent: it functions continuously as long as it is alive
7/72
Characteristics of Software Agents
Smart agent
Cooperation (Proactive)
Collaborative learning agent Collaborative agent
Autonomy
Interface agent
Adaptation (Learning)
[Nwana, 1996]
8/72
Software Agent
Adaptation
Cooperation Autonomy Adaptation • Agents adapt to their environment and users and learn from experience.
– Via machine learning, knowledge discovery, data mining, etc.
– Via exchange of metadata, brokering, and facilitation.
– Interface agents acquire and use user models – Situated in and aware of their environment
9/72
Software Agent
Cooperation
Cooperation Autonomy Adaptation • Agents use standard languages and protocols to cooperate and collaborate to achieve common goals.
– Cooperate with human agents and other software agents – Supported by agent communication languages and protocols.
– Consistent with human conventions and intuition.
– Toward team formation and agent ensembles
10/72
Autonomy
Cooperation Autonomy Adaptation
Software Agent
• Agents act autonomously to pursue their agenda.
– Proactive and reactive – Goal directed behavior – Appropriately persistent – Multi-threaded behavior – Encourage viewing from an “intentional stance”
11/72
Intelligent Agents
• An intelligent agent is one that is capable of
flexible autonomous
action in order to meet its design objectives – Agent +
flexibility
• Properties on flexibility – Reactivity: agents are able to perceive their environment, and respond in a timely fashion to changes that occur in it in order to satisfy its design objectives – Pro-activeness: intelligent agents are able to exhibit goal-directed behavior by taking the initiative in order to satisfy its design objectives – Social ability: intelligent agents are capable of interacting with other agents (and possibly humans) in order to satisfy its design objectives • Open research issue – Purely reactive is easy – Purely proactive is not hard – But designing an agent that can balance the two remains open • Because most environments are dynamic rather than fixed • Taking into account possibility of program failure rather than blindly executing program
12/72
Intelligent Agents
Reactivity
• If a program’s environment is guaranteed to be fixed, the program need never worry about its own success or failure – program just executes blindly – Example of fixed environment: compiler • The real world is not like that: things change, information is incomplete. Many (most?) interesting environments are
dynamic
• Software is hard to build for dynamic domains: program must take into account possibility of failure – ask itself whether it is worth executing!
• A
reactive
system is one that maintains an ongoing interaction with its environment, and responds to changes that occur in it (in time for the response to be useful)
13/72
Intelligent Agents
Proactiveness
• Reacting to an environment is easy (e.g., stimulus response rules) • But we generally want agents to
do things for us
• Hence
goal directed behavior
• Pro-activeness = generating and attempting to achieve goals; not driven solely by events; taking the initiative • Recognizing opportunities
14/72
Intelligent Agents
Balancing Reactive and Goal-Oriented Behavior
• We want our agents to be reactive, responding to changing conditions in an appropriate (timely) fashion • We want our agents to systematically work towards long-term goals • These two considerations can be at odds with one another • Designing an agent that can balance the two remains an open research problem
15/72
Intelligent Agents
Social Ability
• The real world is a
multi
-agent environment: we cannot go around attempting to achieve goals without taking others into account • Some goals can only be achieved with the cooperation of others • Similarly for many computer environments: witness the Internet •
Social ability
in agents is the ability to interact with other agents (and possibly humans) via some kind of
agent-communication language
, and perhaps cooperate with others
16/72
Intelligent Agents
Other Properties
• Mobility: the ability of an agent to move around an electronic network • Veracity – honesty: an agent will not knowingly communicate false information • Benevolence – kind: agents do not have conflicting goals, and that every agent will therefore always try to do what is asked of it • Rationality: agent will act in order to achieve its goals, and will not act in such a way as to prevent its goals being achieved - at least insofar as its beliefs permit • Learning/adaption: agents improve performance over time
17/72
Summary of Agents’ Features
[Brenner et al., 1998]
18/72
GilBert Taxonomy
Agency
Service interactivity Application interactivity Data interactivity Representation of user Asynchrony Fixed Function Agents Intelligent Agent Expert Systems
Mobility
Static Mobile scripts Mobile objects Preferences Reasoning Planning Learning
Intelligence 19/72
Franklin and Graesser Taxonomy
• An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it over time, in pursuit of its own agenda and so as to effect what it senses in the future autonomous agents biological agents robotic agents computational agents software agents artificial life agents task-specific agents entertainment agents viruses [Franklin and Graesser, 1996]
20/72
Caglayan and Harrison Taxonomy
Agent Task level skills Knowledge Communications Skills Task A priori knowledge Learning with user Information Retrieval Information Filtering Electronic Commerce Coaching Developer Specified User Specified System Specified
[Caglayan and Harrison, 1997]
Case-Based Learning Decision Trees Neural Networks Evolutionary Algorithms Interface Speech Social with other agents Inter-agent Communication Language 21/72
Agents vs. Objects
• Are agents just objects by another name?
• Object: – encapsulates some state – communicates via message passing – has methods, corresponding to operations that may be performed on this state • Main differences: – agents are
autonomous
: agents embody stronger notion of autonomy than objects, and in particular, they decide for themselves whether or not to perform an action on request from another agent – agents are
smart
: capable of flexible (reactive, pro-active, social) behavior, and the standard object model has nothing to say about such types of behavior – agents are
active
: a multi-agent system is inherently multi-threaded, in that each agent is assumed to have at least one thread of active control
22/72
Agents vs. Expert Systems (1)
• Aren’t agents just expert systems by another name?
• Expert systems typically disembodied ‘expertise’ about some (abstract) domain of discourse (e.g., blood diseases) • Example: MYCIN knows about blood diseases in humans – It has a wealth of knowledge about blood diseases, in the form of rules – A doctor can obtain expert advice about blood diseases by giving MYCIN facts, answering questions, and posing queries • Main differences: – agents
situated in an environment
: MYCIN is not aware of the world — only information obtained is by asking the user questions – agents
act
: MYCIN does not operate on patients • Some
real-time
(typically process control) expert systems are agents
23/72
Agents vs. Expert Systems (2)
Level of users Tasks Personalized Adaptive [Maes, 1997] Software Agents naive Common different actions Active, autonomous on their own learn and change Expert Systems expert high-level task same actions Passively remain fixed
24/72
Intelligent Agents vs. AI
• Aren’t agents just the AI project?
Isn’t building an agent what AI is all about?
– AI aims to build systems that can (ultimately) understand natural language, recognize and understand scenes, use common sense, think creatively, etc. - all of which are very hard – So, don’t we need to solve all of AI to build an agent…?
• When building an agent, we simply want a system that can choose the right action to perform, typically in a limited domain • We
do not
have to solve
all
the problems of AI to build a useful agent: – a little intelligence goes a long way!
• Oren Etzioni, speaking about the commercial experience of NETBOT, Inc: “We made our agents dumber and dumber and dumber…until finally they made money.”
25/72
Environments
Accessible vs. Inaccessible
• An accessible environment is one in which the agent can obtain complete, accurate, up-to date information about the environment’s state • Most moderately complex environments (including, for example, the everyday physical world and the Internet) are inaccessible • The more accessible an environment is, the simpler it is to build agents to operate in it
26/72
Environments
Deterministic vs. Non-deterministic
• A deterministic environment is one in which any action has a single guaranteed effect — there is no uncertainty about the state that will result from performing an action • The physical world can to all intents and purposes be regarded as non-deterministic • Non-deterministic environments present greater problems for the agent designer
27/72
Environments
Episodic vs. Non-episodic
• In an episodic environment, the performance of an agent is dependent on a number of discrete episodes, with no link between the performance of an agent in different scenarios • Episodic environments are simpler from the agent developer’s perspective because the agent can decide what action to perform based only on the current episode — it need not reason about the interactions between this and future episodes
28/72
Environments
Static vs. Dynamic
• A static environment is one that can be assumed to remain unchanged except by the performance of actions by the agent • A dynamic environment is one that has other processes operating on it, and which hence changes in ways beyond the agent’s control • Other processes can interfere with the agent’s actions (as in concurrent systems theory) • The physical world is a highly dynamic environment
29/72
Environments
Discrete vs. Continuous
• An environment is discrete if there are a fixed, finite number of actions and percepts in it • Russell and Norvig give a chess game as an example of a discrete environment, and taxi driving as an example of a continuous one • Continuous environments have a certain level of mismatch with computer systems • Discrete environments could
in principle
“lookup table” be handled by a kind of
30/72
Related Research Areas
Distributed Systems Computational linguistics Database & Knowledge base Technology agents Biological analogies AI & Cognitive Science Machine Learning
31/72
Related Area
Database and Knowledge-base
• Intelligent agents need to be able to represent and reason about a number of things, including: – metadata about documents and collections of documents – linguistic knowledge (e.g., thesauri, proper name recognition, etc) – domain-specific data, information and knowledge – models of other agents (human or artificial): their capabilities, performance, beliefs, desires, intentions, plans, etc.
– tasks, task structures, plans, etc.
32/72
Related Area
Distributed Computing
• Concurrency – analyzing and specifying protocols, e.g., deadlock and livelock prevention, fairness – achieving and preserving consistency • Performance evaluation – visualization – debugging • Exploit the advantages of parallelism – multi-threaded implementation
33/72
Cognitive Science
• BDI agent model – Beliefs : Recognitions for the self and environments – Desires : Goal state – Intentions : Actions and plans to achieve the goal • The advantage of the BDI model – Designing static agent models – Designing the communication between agent – Inferring the internal state of the agent – Expecting the other agent’s actions B + D => I I => A
Related Area
B + D => I I => A
34/72
Related Area
Computational Linguistics
• We draw on research in (computational) linguistics for an underlying communication model • Speech act theory is a high level framework developed by philosophers and linguists to account for human communication – Speakers do more than just utter sentences which have a logical (truth-theoretic) meaning • “The cat is on the mat” – Speakers perform speech acts: requests, suggestions, promises, warnings, threats, criticisms, praise, etc.
• “I hereby promise to buy you lunch” – Every utterance is a speech act start
Ask-one
asked
Tell Deny Untell Sorry
told
35/72
Related Area
Econometric Models
• Economics studies how to model predict and control the aggregate behavior of large collections of independent agents. • Conceptual tools include: – game theory – general equilibrium market mechanisms – protocols for voting and auctions • An objective is to design good artificial markets and protocols to result in the desired behavior of our agents • Michigan’s Digital Library project uses a market-based approach to control its agents.
36/72
Related Area
Biological Analogies
• One way that agents could adapt is via an evolutionary process.
• Individual agents use their own strategies for behavior with “death” as the punishment for poor performance and “reproduction” the reward for good.
• Artificial life techniques include: – genetic programming – natural selection – sexual reproduction
37/72
Related Area
Machine Learning
• Techniques developed for machine learning are being applied to software agents to allow them to adapt to users and other agents.
• Popular techniques – reasoning with uncertainty – decision tree induction – neural networks – reinforcement learning – memory-based reasoning – genetic algorithms Rev. Thomas Bayes and his Theorem
38/72
Applications of Intelligent Agents (1)
• E-mail Agents – Beyond Mail, Lotus Notes, Maxims • Scheduling Agents – ContactFinder • Desktop Agents – Office 2000 Help, Open Sesame • Web-Browsing Assistants – WebWatcher, Letizia • Information Filtering Agents – Amalthaea, Jester, InfoFinders, Remembrance agent, PHOAKS, SiteSeer
39/72
Applications of Intelligent Agents (2)
• News-service Agents – NewsHound, GroupLens, FireFly, Fab, ReferralWeb, NewT • Comparison Shopping Agents – Mysimon, BargainFinder, Bazzar, Shopbor, Fido • Brokering Agents – PersonalLogic, Barnes, Kasbah, Jango, Yenta • Auction Agents – AuctionBot, AuctionWeb • Negotiation Agents – DataDetector, T@T
40/72
•10 min Breaktime
41/72
Formalization of Agents
• Agents – Standard agents – Purely reactive agents – Agents with state • Environments • History • Perception
42/72
Formalization
Agents & Environments
• Agent’s environment states characterised by a set:
S={ s1,s2,…}
• Effectoric capability of the Agent characterised by a set of actions :
A={ a1,a2,…}
sensor input Agent Environment action output
43/72
Formalization
Standard Agents
• A Standard agent decides what action to perform on the basis of his history (experiences) • A Standard agent can be viewed as function
action: S*
A
• S* is the set of sequences of elements of S
44/72
Formalization
Environments
• Environments can be modeled as function
env: S x A
P(S)
where P(S) is the powerset of S; This function takes the current state of the environment s action a S and an A (performed by the agent), and maps them to a set of environment states env(s,a) • Deterministic environment: all the sets in the range of env are singletons • Non-deterministic environment: otherwise
45/72
Formalization
History
• History represents the interaction between an agent and its environment. A history is a sequence:
a 0 a 1 a 2 h:s 0 s 1 s 2 …
where:
s 0
is the initial state of the environment
a u
is the u’th action that the agent choose to perform
s u
is the u’th environment state
a u-1 s u a u
46/72
Formalization
Purely Reactive Agents
• A purely reactive agent decides what to do without reference to its history (no references to the past).
• It can be represented by a function
action: S
A
• Example: thermostat Environment states: temperature OK; too cold heater off if s = temperature OK action(s) = heater on otherwise
47/72
Perception
• See and action functions:
see Agent Environment action
Formalization
• Perception is the result of the function
see: S
P
where P is a (non-empty) set of percepts (perceptual inputs) • Then, the action becomes:
action: P*
A
which maps sequences of percepts to actions
48/72
Formalization
Perception Ability (1)
Non-existent perceptual ability Omniscient
MIN | E | = 1
where E
: is the set of different perceived states MAX | E | = | S |
Two different states
s 1
if
see( s 1 ) = see( s 2 ) S
and
s 2
S
(with
s 1
s 2
) are
indistinguishable
49/72
Perception Ability (2)
• Example: x = “The room temperature is OK” y = “There is no war at this moment” then: S={ (x,y),(x, y),( x,y),( x, y)} s1 s2 s3 s4 but for the thermostat: see(s) = p1 if s=s1 or s=s2 p2 if s=s3 or s=s4
Formalization
50/72
Agents with State (1)
•
see
,
next
and
action
functions
see next Agent state action Environment
Formalization
51/72
Formalization
Agents with State (2)
• The same perception function:
‘see: S
P
• The action-selection function is now:
action: I
A
where
I
: set of all internal states of the agent • An aditional function is introduced:
next: I x P
I
• Behavior – The agent starts in some
internal initial state
i 0
– Then
observes
its environment state
s
– The
internal state
of the agent is
updated
with
next(i 0 ,see(s))
– The action selected by the agent becomes
action(next(i 0 ,see(s)))
, and it is performed – The agent repeats the cycle observing the environment
52/72
Task Modeling in Intelligent Agents
• Before we design an intelligent agent, we must specify its “task environment”: PEAS: Performance measure Environment Actuators Sensors
53/72
Task Modeling
Example: Agent = Taxi Driver
• Performance measure : Safe, fast, legal, comfortable trip, maximize profits • Environment : Roads, other traffic, pedestrians, customers • Actuators : Steering wheel, accelerator, brake, signal, horn • Sensors : Cameras, sonar, speedometer, GPS, odometer, engine sensors, keyboard
54/72
Task Modeling
Example: Agent = Medical Diagnosis System
• Performance measure : Healthy patient, minimize costs, lawsuits • Environment : Patient, hospital, staff • Actuators : Screen display (questions, tests, diagnoses, treatments, referrals) • Sensors : Keyboard (entry of symptoms, findings, patient's answers)
55/72
Example: Agent = Part-picking Robot
Task Modeling
• Performance measure : Percentage of parts in correct bins • Environment : Conveyor belt with parts, bins • Actuators : Jointed arm and hand • Sensors : Camera, joint angle sensors
56/72
Environmental Type Review (1)
• Fully observable (vs. partially observable ): An agent's sensors give it access to the complete state of the environment at each point in time.
• Deterministic (vs. stochastic ): The next state of the environment is completely determined by the current state and the action executed by the agent. (If the environment is deterministic except for the actions of other agents, then the environment is strategic ) • Episodic (vs. sequential ): An agent’s action is divided into atomic episodes. Decisions do not depend on previous decisions/actions.
57/72
Environmental Type Review (2)
• Static (vs. dynamic ): The environment is unchanged while an agent is deliberating. (The environment is semidynamic if the environment itself does not change with the passage of time but the agent's performance score does) • Discrete (vs. continuous percepts and actions.
): A limited number of distinct, clearly defined How do we represent or abstract or model the world?
• Single agent (vs. multi-agent ): An agent operating by itself in an environment.
58/72
Environmental Type Review (3)
task environm.
crossword puzzle chess with clock poker back gammon
taxi driving medical diagnosis
image analysis
partpicking robot
refinery controller interact.
Eng. tutor
observable
fully fully partial fully
partial partial
fully
partial
partial partial
determ./ stochastic
determ.
strategic stochastic stochastic
stochastic stochastic
determ.
stochastic
stochastic stochastic
episodic/ sequential
sequential sequential sequential sequential
sequential sequential
episodic
episodic
sequential sequential
static/ dynamic
static semi static static
dynamic dynamic
semi
dynamic
dynamic dynamic
discrete/ continuous
discrete discrete discrete discrete
continuous continuous
continuous
continuous
continuous discrete
agents
single multi multi multi
multi single
single
single
single multi
59/72
Agent Types
• Goal of AI: – given a
PEAS
task environment – construct agent function
f
– design an agent program that implements
f
on a particular architecture • Types – Table driven agents – Simple reflex agents – Model-based reflex agents – Goal-based agents – Utility-based agents – Learning agents
60/72
Table Driven Agents
Agent Type
current state of decision process table lookup for entire history
61/72
Simple Reflex Agents
NO MEMORY Fails if environment is partially observable function
REFLEX_VACUUM_AGENT( percept )
returns
an action (location,status) = UPDATE_STATE( percept ) example: vacuum cleaner world if status = DIRTY then return SUCK; else if location = A then return RIGHT; else if location = B then return LEFT;
Agent Type
62/72
Example: Simple Reflex Agents
Percept At A, A Dirty At A, A Clean At B, B Dirty At B, B Clean Action Vacuum Move Left Vacuum Move right
Agent Type
63/72
Simple Reflex Agents
• Act only on the basis of the current percept • The agent function is based on the – condition-action rule: condition action • Limited functionality – Work well only when • the environment is fully observable • the condition-action rules have predicted all necessary actions
Agent Type
64/72
Agent Type
Model-based Reflex Agents
description of current world state Models the world by: modeling how the world chances how it’s actions change the world sometimes it is unclear what to do without a clear goal
65/72
Agent Type
Model-based Reflex Agents
• Have information about how the world behaves –
Model of the World
• They can work out information about the part of the world which they have not seen • Handle partially observable environments • The model of the world allows them to – Use information about how the world evolves to keep track of the parts of the world they cannot see • Example: If the agent has seen an object in a place and has since not seen any agent moving towards that object then the object is still at that place.
– Know the effects of their own actions on the world.
• Example: if the agent has moved northwards for 5 minutes then it is 5 minutes north of where it was.
66/72
Agent Type
Goal-based Agents
Goals provide reason to prefer one action over the other We need to predict the future: we need to plan & search
67/72
Agent Type
Goal-based Agents
• The current state of the world is not always enough to decide what to do – For example at a junction a car can go left, right or straight. It needs knowledge of its destination to make the decision which of these to choose • World model (as model-based agents) + goals – Goals are situations that are desirable – The goals allow the agent a way to choose among multiple possibilities, selecting the one which reaches a goal state • Differences from reflexive agents – Goals are explicit – The future is taken into account – Reasoning about the future is necessary – planning, search
68/72
Agent Type
Utility-based Agents
Some solutions to goal states are better than others.
Which one is best is given by a utility function.
Which combination of goals is preferred?
69/72
Agent Type
Utility-based Agents
• What if there are multiple alternative ways of achieving the same goal?
– Goals provide coarse distinction between “happy” and “unhappy” states.
– Utility-based agents have finer degrees of comparison between states.
– World model + goals + utility functions •
Utility functions
map states to a measure of the utility of the states, often real numbers.
• They are used to: – Select between conflicting goals – Select between alternative ways of achieving a goal – Deal with cases of multiple goals, none of which can be achieved with certainty – weighing up likelihood of success against importance of goal.
70/72
Agent Type
Learning Agents
How does an agent improve over time?
By monitoring it’s performance and suggesting better modeling, new action rules, etc.
71/72
Summary
• An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives – Key characteristics: autonomy, social ability, reactivity, pro-activeness, situateness, persistent, cooperation, adaptation – Other characteristics: mobility, veracity, benevolence, rationality • Next lecture’s topic:
Agent architecture
– BDI (Belief-Desire-Intention) architecture – Reactive architecture – Deliberative architecture – Hybrid architecture
72/72