Title: CSCE 580 Artificial Intelligence Ch.2: Intelligent Agents
1CSCE 580Artificial IntelligenceCh.2
Intelligent Agents
- Fall 2008
- Marco Valtorta
- mgv_at_cse.sc.edu
2Acknowledgment
- The slides are based on the textbook AIMA and
other sources, including other fine textbooks - The other textbooks I considered are
- David Poole, Alan Mackworth, and Randy Goebel.
Computational Intelligence A Logical Approach.
Oxford, 1998 - A second edition (by Poole and Mackworth) is
under development. Dr. Poole allowed us to use a
draft of it in this course - Ivan Bratko. Prolog Programming for Artificial
Intelligence, Third Edition. Addison-Wesley,
2001 - The fourth edition is under development
- George F. Luger. Artificial Intelligence
Structures and Strategies for Complex Problem
Solving, Sixth Edition. Addison-Welsey, 2009
3Agents
- An agent is anything that can be viewed as
perceiving its environment through sensors and
acting upon that environment through actuators - Actuators are sometimes called effectors
- Human agent
- eyes, ears, and other organs for sensors
- hands, legs, mouth, and other body parts for
actuators - Robotic agent
- cameras and infrared range finders for sensors
- various motors for actuators
4Agents and Environments
- The agent function maps from percept histories to
actions - f P ? A
- The agent program runs on the physical
architecture to produce f - agent architecture program
5The Role of Representation
- Choosing a representation involves balancing
conflicting objectives - Different tasks require different representations
- Representations should be expressive
(epistemologically adequate) and efficient
(heuristically adequate)
6The Vacuum-Cleaner World
- Environment square A and B
- Percepts location and content e.g. A, Dirty
- Actions left, right, suck, and no-op
7The Vacuum-Cleaner World
Percept sequence Action
A,Clean Right
A, Dirty Suck
B, Clean Left
B, Dirty Suck
A, Clean,A, Clean Right
A, Clean,A, Dirty Suck
8The Vacuum-Cleaner World
- function REFLEX-VACUUM-AGENT (location, status)
return an action - if status Dirty then return Suck
- else if location A then return Right
- else if location B then return Left
- What is the right function? Can it be implemented
in a small agent program?
9Rational Agents
- An agent should strive to "do the right thing,"
based on what it can perceive and the actions it
can perform. The right action is the one that
will cause the agent to be most successful - Performance measure An objective criterion for
success of an agent's behavior - E.g., performance measure of a vacuum-cleaner
agent could be amount of dirt cleaned up, amount
of time taken, amount of electricity consumed,
amount of noise generated, etc.
10Rational Agents
- Rational Agent For each possible percept
sequence, a rational agent should select an
action that is expected to maximize its
performance measure, given the evidence provided
by the percept sequence and whatever built-in
knowledge the agent has.
11Rational Agents
- Rationality is distinct from omniscience
(all-knowing with infinite knowledge) - Agents can perform actions in order to modify
future percepts so as to obtain useful
information (information gathering, exploration) - An agent is autonomous if its behavior is
determined by its own experience (with ability to
learn and adapt)
12The Concept of Rationality
- A rational agent is one that does the right thing
- Every entry in the table is filled out correctly
- What is the right thing?
- Approximation the most succesful agent
- Measure of success?
- Performance measure should be objective
- E.g. the amount of dirt cleaned within a certain
time - E.g. how clean the floor is
-
- Better to design performance measures according
to what is wanted in the environment instead of
how the agents should behave.
13Rationality
- What is rational at a given time depends on four
things - Performance measure
- Prior environment knowledge
- Actions
- Percept sequence to date (sensors)
- DEF A rational agent chooses whichever action
maximizes the expected value of the performance
measure given the percept sequence to date and
prior environment knowledge
14Rationality
- Rationality ? omniscience
- An omniscient agent knows the actual outcome of
its actions. - Rationality ? perfection
- Rationality maximizes expected performance, while
perfection maximizes actual performance.
15Rationality
- The proposed definition requires
- Information gathering/exploration
- To maximize future rewards
- Learn from percepts
- Extending prior knowledge
- Dung beetle and sphex wasp plans
- Agent autonomy
- Compensate for incorrect prior knowledge
16PEAS
- Task environment
- a problem for which a rational agents is the
solution - specified by the PEAS description
- Performance measure, Environment, Actuators,
Sensors - Must first specify the setting for intelligent
agent design - Consider, e.g., the task of designing an
automated taxi - Performance measure
- Environment
- Actuators
- Sensors
17PEAS for Automated Taxi
- 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
18PEAS for a 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)
19PEAS for a Part-Picking Robot
- Performance measure Percentage of parts in
correct bins - Environment Conveyor belt with parts, bins
- Actuators Jointed arm and hand
- Sensors Camera, joint angle sensors
20PEAS for an Interactive English Tutor
- Performance measure Maximize student's score on
test - Environment Set of students
- Actuators Screen display (exercises,
suggestions, corrections) - Sensors Keyboard
21Environment Types
- 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) The agent's experience
is divided into atomic "episodes" (each episode
consists of the agent perceiving and then
performing a single action), and the choice of
action in each episode depends only on the
episode itself
22Environment Types
- 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) A limited number of
distinct, clearly defined percepts and actions - Single agent (vs. multiagent) An agent operating
by itself in an environment
23Environment Types
Fully vs. partially observable an environment is
full observable when the sensors can detect all
aspects that are relevant to the choice of
action.
Solitaire Backgammom Intenet shopping Taxi
Observable??
Deterministic??
Episodic??
Static??
Discrete??
Single-agent??
24Environment Types
Fully vs. partially observable an environment is
full observable when the sensors can detect all
aspects that are relevant to the choice of
action.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic??
Episodic??
Static??
Discrete??
Single-agent??
25Environment Types
Deterministic vs. stochastic if the next
environment state is completely determined by the
current state the executed action then the
environment is deterministic.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic??
Episodic??
Static??
Discrete??
Single-agent??
26Environment Types
Deterministic vs. stochastic if the next
environment state is completely determined by the
current state the executed action then the
environment is deterministic.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic??
Static??
Discrete??
Single-agent??
27Environment Types
Episodic vs. sequential In an episodic
environment the agents experience can be divided
into atomic steps where the agents perceives and
then performs A single action. The choice of
action depends only on the episode itself
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic??
Static??
Discrete??
Single-agent??
28Environment Types
Episodic vs. sequential In an episodic
environment the agents experience can be divided
into atomic steps where the agents perceives and
then performs A single action. The choice of
action depends only on the episode itself
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static??
Discrete??
Single-agent??
29Environment Types
Static vs. dynamic If the environment can change
while the agent is choosing an action, the
environment is dynamic. Semi-dynamic if the
agents performance changes even when the
environment remains the same.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static??
Discrete??
Single-agent??
30Environment Types
Static vs. dynamic If the environment can change
while the agent is choosing an action, the
environment is dynamic. Semi-dynamic if the
agents performance changes even when the
environment remains the same.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static?? YES YES SEMI NO
Discrete??
Single-agent??
31Environment Types
Discrete vs. continuous This distinction can be
applied to the state of the environment, the way
time is handled and to the percepts/actions of
the agent.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static?? YES YES SEMI NO
Discrete??
Single-agent??
32Environment Types
Discrete vs. continuous This distinction can be
applied to the state of the environment, the way
time is handled and to the percepts/actions of
the agent.
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static?? YES YES SEMI NO
Discrete?? YES YES YES NO
Single-agent??
33Environment Types
Single vs. multi-agent Does the environment
contain other agents who are also maximizing some
performance measure that depends on the current
agents actions?
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static?? YES YES SEMI NO
Discrete?? YES YES YES NO
Single-agent??
34Environment Types
Single vs. multi-agent Does the environment
contain other agents who are also maximizing some
performance measure that depends on the current
agents actions?
Solitaire Backgammom Intenet shopping Taxi
Observable?? FULL FULL PARTIAL PARTIAL
Deterministic?? YES NO YES NO
Episodic?? NO NO NO NO
Static?? YES YES SEMI NO
Discrete?? YES YES YES NO
Single-agent?? YES NO NO NO
35Environment Types
- The simplest environment is
- Fully observable, deterministic, episodic,
static, discrete and single-agent. - Most real situations are
- Partially observable, stochastic, sequential,
dynamic, continuous and multi-agent.
36Agent Types
- Four basic types in order of increasing
generality - Simple reflex agents
- Model-based reflex agents
- Goal-based agents
- Utility-based agents
- All these can be turned into learning agents
37Agent Types
- Function TABLE-DRIVEN_AGENT(percept) returns an
action -
- static percepts, a sequence initially empty
- table, a table of actions, indexed by percept
sequence -
- append percept to the end of percepts
- action ? LOOKUP(percepts, table)
- return action
This approach is doomed to failure
38Simple Reflex Agents
- Select action on the basis of only the current
percept - E.g. the vacuum-agent
- Large reduction in possible percept/action
situations (example on next page) - Implemented through condition-action rules
- If dirty then suck
39The Vacuum-Cleaner World
- function REFLEX-VACUUM-AGENT (location, status)
return an action - if status Dirty then return Suck
- else if location A then return Right
- else if location B then return Left
- Reduction from 4T to 4 entries
40Simple Reflex Agent Function
- function SIMPLE-REFLEX-AGENT(percept) returns an
action - static rules, a set of condition-action rules
- state ? INTERPRET-INPUT(percept)
- rule ? RULE-MATCH(state, rule)
- action ? RULE-ACTIONrule
- return action
- Will only work if the environment is fully
observable - E.g., determination of braking in cars without
centrally mounted brake lights
41Model-Based Reflex Agents
- To tackle partially observable environments.
- Maintain internal state
- Over time update state using world knowledge
- How does the world change.
- How do actions affect world.
- ? Model of World
42Model-Based Agent Function
- function REFLEX-AGENT-WITH-STATE(percept) returns
an action - static rules, a set of condition-action rules
- state, a description of the current world state
- action, the most recent action.
- state ? UPDATE-STATE(state, action, percept)
- rule ? RULE-MATCH(state, rule)
- action ? RULE-ACTIONrule
- return action
43Model-Based Goal-Based agents
- The agent needs a goal to know which situations
are desirable - Things become difficult when long sequences of
actions are required to find the goal - Typically investigated in search and planning
research - Major difference future is taken into account
- Is more flexible since knowledge is represented
explicitly and can be manipulated
44Utility-Based Agents
- Certain goals can be reached in different ways
- Some are better, have a higher utility
- Utility function maps a (sequence of) state(s)
onto a real number. - Improves on goals
- Selecting between conflicting goals
- Select appropriately between several goals based
on likelihood of success
45Learning Agents
- All previous agent programs describe methods for
selecting actions - Yet the origin of these programs is not provided
- Learning mechanisms can be used to perform this
task - Teach them instead of instructing them
- Advantage is the robustness of the program toward
initially unknown environments
46Learning Agents
- Learning element introduce improvements in
performance element. - Critic provides feedback on agents performance
based on fixed performance standard - Performance element selecting actions based on
percepts - Corresponds to the previous agent programs
- Problem generator suggests actions that will
lead to new and informative experiences - Exploration