1. AI: Chapter 2: Intelligent Agents 1
Artificial Intelligence
Chapter 2: Intelligent Agents
Department of Computer Science
University of Gujrat
CS 331, Spring 2019
2. AI: Chapter 2: Intelligent Agents 2
Agents and Environments
• An Agent is anything
that can be viewed as
perceiving its
environment
through sensors and
acting upon that
environment through
actuators
Agent
Environment
Percepts
Actions
?
Sensors
Actuators
3. CS-331: 3
Agents
• Types
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
4. CS-331: 4
Agents and Environments
• Percept – the agent’s perceptual inputs
– percept sequence is a sequence of everything the
agent has ever perceived
• Agent Function – describes the agent’s
behavior
– Maps any given percept sequence to an action
– f : P* -> A
• Agent Program – an implementation of an
agent function for an artificial agent
5. CS-331: 5
Agents and environments
• Mathematically, an agents behaviour described
by:
– The agent function maps from percept histories to
actions:
[f: P* A]
AI Agent will be implemented by
– The agent program runs on the physical
architecture to produce f
• agent = architecture + program
6. CS-331: 6
An Illustration:Vacuum-cleaner world
• Percepts: location and state of the environment, e.g.,
[A,Dirty], [B,Clean]
– Two locations: squares A and B
– Perceives what square it is in
– Perceives if there is dirt in the current square
• Actions: Left, Right, Suck, NoOp
7. CS-331: 7
AI: Chapter 2: Intelligent Agents
Agents and Environments
• Agent Function:
Vacuum Cleaner
World
– If the current square is
dirty, then suck,
otherwise move to the
other square
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
8. AI: Chapter 2: Intelligent Agents 8
Agents and Environments
• But what is the right way to fill out the table?
– is the agent
• good or bad
• intelligent or stupid
– can it be implemented in a small program?
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
9. AI: Chapter 2: Intelligent Agents 9
Good Behavior and Rationality
• Rational Agent – an agent that does the
“right” thing
– Every entry in the table for the agent function
is filled out correctly
– Doing the right thing is better than doing the
wrong thing
• What does it mean to do the right thing?
10. Rationality
What is rational at any given time depends on
four things:
• The performance measure that defines the criterion
of success.
• The agent’s prior knowledge of the environment.
• The actions that the agent can perform.
• The agent’s percept sequence to date.
AI: Chapter 2: Intelligent Agents 10
11. CS-331: 11
Rational agents
• Rational Agent: For each possible percept
sequence, a rational agent should select an action
that is expected to maximize its performance
measure, based on the evidence provided by the
percept sequence and whatever built-in
knowledge the agent has.
• 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.
12. CS-331: 12
Rational 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 percepts &
experience (with ability to learn and adapt)
without depending solely on build-in
knowledge
13. CS-331: 13
Nature of Environment
• Tasks Environment
– Before we design an intelligent agent, we
must specify its “task environment”:
PEAS:
Performance measure
Environment
Actuators
Sensors
16. CS-331: 16
PEAS
• Example: Agent = 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
17. CS-331: 17
The Nature of Environments
Properties of Environment 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): An agent’s action is
divided into atomic episodes. Decisions do not
depend on previous decisions/actions.
18. CS-331: 18
Environment 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.
How do we represent or abstract or model the
world?
• Single agent (vs. multi-agent): An agent operating
by itself in an environment. Does the other agent
interfere with my performance measure?
19. CS-331: 19
The real world is partially observable,
stochastic, sequential, dynamic, continuous,
multi-agent
20. CS-331: 20
task
environm.
observable determ./
stochastic
episodic/
sequential
static/
dynamic
discrete/
continuous
agents
crossword
puzzle
fully determ. sequential static discrete single
chess with
clock
fully strategic sequential semi discrete multi
poker
back
gammon
taxi
driving
partial stochastic sequential dynamic continuous multi
medical
diagnosis
partial stochastic sequential dynamic continuous single
image
analysis
fully determ. episodic semi continuous single
partpicking
robot
partial stochastic episodic dynamic continuous single
refinery
controller
partial stochastic sequential dynamic continuous single
interact.
Eng. tutor
partial stochastic sequential dynamic discrete multi
21. CS-331: 21
task
environm.
observable determ./
stochastic
episodic/
sequential
static/
dynamic
discrete/
continuous
agents
crossword
puzzle
fully determ. sequential static discrete single
chess with
clock
fully strategic sequential semi discrete multi
poker partial stochastic sequential static discrete multi
back
gammon
taxi
driving
partial stochastic sequential dynamic continuous multi
medical
diagnosis
partial stochastic sequential dynamic continuous single
image
analysis
fully determ. episodic semi continuous single
partpicking
robot
partial stochastic episodic dynamic continuous single
refinery
controller
partial stochastic sequential dynamic continuous single
interact.
Eng. tutor
partial stochastic sequential dynamic discrete multi
22. CS-331: 22
task
environm.
observable determ./
stochastic
episodic/
sequential
static/
dynamic
discrete/
continuous
agents
crossword
puzzle
fully determ. sequential static discrete single
chess with
clock
fully strategic sequential semi discrete multi
poker partial stochastic sequential static discrete multi
back
gammon
fully stochastic sequential static discrete multi
taxi
driving
partial stochastic sequential dynamic continuous multi
medical
diagnosis
partial stochastic sequential dynamic continuous single
image
analysis
fully determ. episodic semi continuous single
partpicking
robot
partial stochastic episodic dynamic continuous single
refinery
controller
partial stochastic sequential dynamic continuous single
interact.
Eng. tutor
partial stochastic sequential dynamic discrete multi
23. CS-331: 23
The Structure of Agents
• Agent = Architecture + Program
• Basic algorithm for a rational agent
– While (true) do
• Get percept from sensors into memory
• Determine best action based on memory
• Record action in memory
• Perform action
• Most AI programs are a variation of this
theme
24. CS-331: 24
Agent types
• Five basic types in order of increasing generality:
• Table Driven agents
• Simple reflex agents
• Model-based reflex agents
• Goal-based agents
• Utility-based agents
25. AI: Chapter 2: Intelligent Agents 25
The Structure of Agents
• Table Driven Agent
function Table-Driven-Agent (percept) return action
static: percepts, a sequence, initially empty
table, a table of actions, indexed by
percept sequences, initially fully
specified
append percept to the end of the table
action <- LOOKUP( percept, table )
return action
26. CS-331: 26
Table Driven Agent.
current state of decision process
table lookup
for entire history
27. AI: Chapter 2: Intelligent Agents 27
Simple reflex agents
• Figure 2.8
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
28. CS-331: 28
Simple reflex agents
example: vacuum cleaner world
NO MEMORY
Fails if environment
is partially observable
29. AI: Chapter 2: Intelligent Agents 29
The Structure of Agents
• Simple Reflex Agent
function Simple-Reflex-Agent (percept) return action
static: rules, a set of condition-action rules
state <- INTERPRET-INPUT( percept )
rule <- RULE-MATCH( state, rules )
action <- RULE-ACTION[ rule ]
return action
30. CS-331: 30
Model-based reflex agents
Model the state of the world by:
modeling how the world chances
how it’s actions change the world
description of
current world state
•This can work even with partial information
•It’s is unclear what to do
without a clear goal
31. CS-331: 31
Goal-based agents
Goals provide reason to prefer one action over the other.
We need to predict the future: we need to plan & search
32. CS-331: 32
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?
33. CS-331: 33
Learning agents
How does an agent improve over time?
By monitoring it’s performance and suggesting
better modeling, new action rules, etc.
Evaluates
current
world
state
changes
action
rules
suggests
explorations
“old agent”=
model world
and decide on
actions
to be taken