SlideShare a Scribd company logo
1 of 36
1
environment
agent
2
What is AI?
Many definitions, most fit into one of four categories:
Systems that act humanly
Systems that think humanly
Systems that act rationally
Systems that think rationally
3
Intelligent Agents and Artificial Intelligence
• Human mind as network of thousands or millions of
agents all working in parallel. To produce real artificial
intelligence, we should build computer systems that also
contain many agents and systems.
• An agent is anything that can be viewed as perceiving
its environment through sensors and acting upon that
environment through actuators
•
• 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;
4
Intelligent agents: their environment and actions
environment
percepts
actions
?
agent
sensors
effectors
An agent perceives its environment via sensors and acts in
that environment with its effectors. Hence, an agent gets
percepts one at a time, and maps this percept sequence to
actions (one action at a time)
5
Agents Properties:
1-Autonomy
• A system is autonomous to the extent that its own behavior is
determined by its own experience and knowledge.
• Therefore, a system is not autonomous if it is guided by its
designer according to a priori decisions.
• To survive agents must have:
– Enough built- in knowledge to survive.
– Ability to learn.
6
2-Reactivity
• 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)
7
3-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
8
4-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
9
5-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
10
Other Properties
• Other properties, sometimes discussed in the context of
agency:
• mobility: the ability of an agent to move around an electronic
network.
• benevolence: 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.
• learning/adaption: agents improve performance over time
11
The Vacuum Cleaner Agent
Percepts: Location, contents
Actions: Left, Right, Suck.
12
Structure of intelligent agents
• Agent program: a program that implements
the mapping from percepts to actions
• Architecture: the platform to run the
program.
• Agent = architecture + program
• Before designing an agent program, we need to know -
• a) the percepts (P)
• b) the actions (A)
• c) the goals (or performance measure of the agent) (G)
• d) its environment (E)
13
A more specific example:
1-Automated taxi driving system
• Percepts: Video, sonar, speedometer, engine sensors,
microphone, …
• Actions: Steer, accelerate, brake, horn, speak/display, …
• Goals: Maintain safety, reach destination, maximize profits
(fuel, tire wear), obey laws, provide passenger comfort, …
• Environment: urban streets, freeways, traffic, weather,
customers, …
14
Interacting Agents
Collision Avoidance Agent (CAA)
• Percepts: Obstacle distance, velocity, trajectory
• Actions: Steer, speed up, brake, blow horn, signal (headlights)
• Goals: Avoid running into obstacles
• Environment: Highway
Lane Keeping Agent (LKA)
• Percepts: Lane center, lane boundaries
• Actions: Steer, speed up, brake
• Goals: Stay in current lane
• Environment: Freeway
15
Examples of agent types (using their PAGE descriptions)
1-Agent Type : Medical diagnosis system
Percepts : Symptoms, findings patient’s answers
Actions : Questions, tests, treatments
Goals : Healthy patient, minimize costs
Environment : Patient, hospital.
2-Agent Type : Satellite image analysis system
Percepts : Pixels of varying intensity, color
Actions : Print a categorization of scene
Goals : Correct categorization
Environment : Images from orbiting satellite
16
Agent Programs
The early version of agent programs will have a simple form, e.g.
function SKELETON-AGENT(percept) returns action
static: memory // the agent’s memory of the world
memory <= UPDATE-MEMORY(memory, percept)
action <= CHOOSE-BEST-ACTION(memory)
memory <= UPDATE-MEMORY(memory, action)
return action
Each time this function is called (invoked), the agent’s memory
is updated with the new percept, the best action is chosen, and
the fact the action was taken in also stored in memory.
17
Each agent program uses some internal data structures that are
updated as new percepts arrive.
These data structures are modified by the agent’s decision making
procedures, to generate an action choice. This choice is passed on
to the architecture to be executed.
Note that:
a) The agent program receives only one percept as input. It is the job
of the agent to build up a percept sequence in memory, if it needs to. In
some environments, no percept sequence needs be stored. In complex
environments, the complete sequence cant be stored!
b) The goal (or performance measure) is NOT part of the program.
18
The simplest way to write the agent program is –
a LUT (look up table), e.g. see the following agent program:
function TABLE-DRIVEN-AGENT(percept) returns action
static: percepts // a sequence, initially empty
table // a table indexed by percept sequences,
initially fully specified
append percept to the end of percepts
action <= LOOKUP(percepts, table)
return action
The above lookup table agent keeps track of the (entire) percept
sequence and just looks up the best action by using the sequence
as the index into the table. The LUT (table) contains the appropriate
action for all possible percept sequences.
This proposal is doomed (for certain types of agents) e.g. Chess
playing agent (would need about 35100 entries in the LUT)
This could not be built.
19
Some Agent Types
• 1-Simple reflex agents
– are based on condition-action rules, implemented with an
appropriate production system. They are stateless devices
which do not have memory of past world states.
• 2-Reflex agent with internal state
• which is used to keep track of past states of the world.
• 3-Agents with goals
– are agents that, in addition to state information, have goal
information that describes desirable situations. Agents of this
kind take future events into consideration.
• 4-Utility-based agents
An agent that has an explicit utility function can make rational
decisions.
20
1- Simple Reflex Agent
• Decisions based on current percept only
– No memory
– Has problems if environment is not fully
observable.
Simple Reflex Agent
sensors
What the world
is like now
What action I
should do now
Condition - action rules
effectors
Environment
21
function SIMPLE-REFLEX-AGENT(percept) returns action
static: rules // a set of condition-action rules
state <= INTERPRET-INPUT(percept)
rule <= RULE-MATCH(state, rules)
action <= RULE-ACTION[rule]
return action
The simple reflex agent works by finding a rule whose condition
(i.e. the LHS) matches the current situation (defined by the percept)
and then performing the action associated with that rule.
The INTERPRET-INPUT function generates an abstracted
description of the current state from the percept (this can be difficult).
The RULE-MATCH function returns the first rule in the set of rules
that matches the given state description (i.e. LHS = state description).
22
2-Reflex agent with internal state
function REFLEX-AGENT-WITH-STATE (percept) returns action
static: state, a description of the current world state
rules, a set of condition-action rules
state  UPDATE-STATE (state, percept)
rule  RULE-MATCH (state, rules)
action  RULE-ACTION [rule]
state  UPDATE-STATE (state, action)
return action
A reflex agent with internal state works by finding a rule whose
condition matches the current situation (as defined by the percept and
the stored internal state) and then doing the action associated with
that rule.
23
Reflex agent with internal state
sensors
What the world
is like now
What action I
should do now
Condition - action rules
effectors
Environment
State
How the world evolves
What my actions do
24
3-Agents with goals
• Knowing the state of the environment is not enough sometimes to
be able to decide what to do, e.g. an agent comes to a cross roads -
which way to turn, L?, R?, straight ahead? The decision depends on
Where the agent wants to go, i.e. it needs GOAL information.
Goal information describes which situations are desirable.
The agent’s program can combine this goal information with
information about the results of its possible actions in order to
choose actions that achieve the goal.
This can be easy or difficult. Search (Chs 3 to 5) and Planning
(Chs. 11 to 13) deal with the topic of finding action sequences to
achieve the agent’s goals.
25
Agent with goals
sensors
What the world
is like now
What action I
should do now
Goals
effectors
Environment
State
How the world evolves
What my actions do
What it will be like
if I do action A
26
4- Utility-based Agents
Goals are not enough to generate high quality behavior, e.g.
there are many ways to arrive at a destination, but some routes are
quicker, safer, cheaper.
Goals provide only a crude distinction between “happy” and
“unhappy” states.
A more general performance measure would allow comparisons
between different world states depending upon how happy they
would make the agent if achieved.
happiness = utility (i.e. satisfaction derived from)
If one world state is preferred by an agent over another, then
the first state has higher utility to the agent.
27
Utility-based agent
sensors
What the world
is like now
What action I
should do now
Utility
effectors
Environment
State
How the world evolves
What my actions do
What it will be like
if I do action A
How happy I will
be in such as a state
28
Utility is a function that maps a state to a real number.
This number measures the “degree of happiness” of the agent.
A utility function allows rational decisions in 2 cases where goals
have trouble -
a) When there are conflicting goals (e.g. speed vs. safety),
(the utility function will supply the needed tradeoff).
b) When there are several goals (none of which can be achieved
with certainty). The utility function can weigh up the probability
of success with the importance of the goals.
Ch. 16 shows that any rational agent can be described as having
a utility function.
29
Properties of environments
Actions are done by the agents on the environment, which in turn
provides percepts to the agent.
Different kinds of environments affect the design of agents.
Environment programs can be used as testbeds for agent programs.
Kinds of Environments (5 examples)
a) Accessible vs. Inaccessible
b) Deterministic vs. Nondeterministic
c) Episodic vs. Nonepisodic
d) Static vs. Dynamic
e) Discrete vs. Continuous
30
a) Accessible vs. Inaccessible
An environment is accessible if the agent’s sensors can detect the
environment’s complete state. (An environment is effectively
accessible if the sensors detect all aspects of the environment
needed to choose the action).
b) Deterministic vs. Nondeterministic
An environment is deterministic if its next state is completely
determined by its current state and the actions performed by
the agent.
31
c) Episodic vs. Nonepisodic
An environment is episodic if the agent’s experience is divided into
“episodes”, i.e. percept-action cycles, where the quality of the action
does not depend on previous cycles (episodes), i.e. the cycles are
“history independent”. The episodes do not depend on previous
actions.
d) Static vs. Dynamic
If the environment can change while the agent is deciding its action,
the environment is said to be dynamic. Static environments are
easier to deal with for agents. They don’t have to keep looking.
32
e) Discrete vs. Continuous
An environment is discrete if there are a finite number of distinct,
clearly defined percepts and actions, e.g. chess (there are a finite
number of moves at each turn).Taxi driving is continuous - there
are a continuous range of taxi and other vehicle speeds and
positions etc.
Different environments require different kinds of agent programs.
The most difficult environments are inaccessible, nondeterministic,
nonepisodic, dynamic and continuous.
33
Environment Programs
To simulate an agent, you will need an environment simulator too.
These environment simulators have the broad structure of the
pseudo code as shown in the next slide.
The environment simulator (program) does the following -
a) Takes an agent as input
b) Gives each agent the right percept and receive back an action
c) Updates the environment based on the action
The environment is defined by -
a) its initial state
b) its update function
34
procedure RUN-ENVIRONMENT(state, UPDATE-FN,
agents, termination)
inputs: state // the initial state of the environment
UPDATE-FN // to modify the environment
agents // a set of agents
termination // a predicate to test when finished
repeat
for each agent in agents do
PERCEPT[agent] <= GET-PERCEPT(agent, state)
end
for each agent in agents do
ACTION[agent] <= PROGRAM[agent]
(PERCEPT[agent])
end
state <= UPDATE-FN(actions, agents, state)
until termination(state)
35
Mobile agents
• Programs that can migrate from one machine to another.
• Execute in a platform-independent execution environment.
• Require agent execution environment (places).
• Mobility not necessary or sufficient condition for agenthood.
• Practical but non-functional advantages:
– Reduced communication cost
– Asynchronous computing (when you are not connected)
• Two types:
– One-hop mobile agents (migrate to one other place)
– Multi-hop mobile agents (roam the network from place to
place)
• Applications:
– Distributed information retrieval.
– Telecommunication network routing.
36
Summary
• An agent perceives and acts in an environment, has an architecture
and is implemented by an agent program.
• An ideal agent always chooses the action which maximizes its
expected performance, given percept sequence received so far.
• An autonomous agent uses its own experience rather than built-in
knowledge of the environment by the designer.
• An agent program maps from percept to action & updates its
internal state.
– Reflex agents respond immediately to percpets.
– Goal-based agents act in order to achieve their goal(s).
– Utility-based agents maximize their own utility function.
• Representing knowledge is important for successful agent design.
• Some environments are more difficult for agents than others. The
most challenging environments are inaccessible, nondeterministic,
nonepisodic, dynamic, and continuous.

More Related Content

What's hot

Artificial Intelligence Chapter two agents
Artificial Intelligence Chapter two agentsArtificial Intelligence Chapter two agents
Artificial Intelligence Chapter two agentsEhsan Nowrouzi
 
Robotics and agents
Robotics and agentsRobotics and agents
Robotics and agentsritahani
 
Chapter 2 intelligent agents
Chapter 2 intelligent agentsChapter 2 intelligent agents
Chapter 2 intelligent agentsLukasJohnny
 
Agents_AI.ppt
Agents_AI.pptAgents_AI.ppt
Agents_AI.pptsandeep54552
 
Artificial intelligence introduction
Artificial intelligence introductionArtificial intelligence introduction
Artificial intelligence introductionmelchismel
 
Robotics lover
Robotics loverRobotics lover
Robotics loverPunk Pankaj
 
Artificial Intelligence PEAS
Artificial Intelligence PEASArtificial Intelligence PEAS
Artificial Intelligence PEASMUDASIRABBAS9
 
Jarrar.lecture notes.aai.2011s.ch2.intelligentagents
Jarrar.lecture notes.aai.2011s.ch2.intelligentagentsJarrar.lecture notes.aai.2011s.ch2.intelligentagents
Jarrar.lecture notes.aai.2011s.ch2.intelligentagentsPalGov
 
Introduction To Artificial Intelligence
Introduction To Artificial IntelligenceIntroduction To Artificial Intelligence
Introduction To Artificial IntelligenceNeHal VeRma
 

What's hot (13)

Ai Slides
Ai SlidesAi Slides
Ai Slides
 
Artificial Intelligence Chapter two agents
Artificial Intelligence Chapter two agentsArtificial Intelligence Chapter two agents
Artificial Intelligence Chapter two agents
 
Artificial Intelligent Agents
Artificial Intelligent AgentsArtificial Intelligent Agents
Artificial Intelligent Agents
 
Robotics and agents
Robotics and agentsRobotics and agents
Robotics and agents
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Chapter 2 intelligent agents
Chapter 2 intelligent agentsChapter 2 intelligent agents
Chapter 2 intelligent agents
 
Agents_AI.ppt
Agents_AI.pptAgents_AI.ppt
Agents_AI.ppt
 
Artificial intelligence introduction
Artificial intelligence introductionArtificial intelligence introduction
Artificial intelligence introduction
 
Robotics lover
Robotics loverRobotics lover
Robotics lover
 
Artificial Intelligence PEAS
Artificial Intelligence PEASArtificial Intelligence PEAS
Artificial Intelligence PEAS
 
Jarrar.lecture notes.aai.2011s.ch2.intelligentagents
Jarrar.lecture notes.aai.2011s.ch2.intelligentagentsJarrar.lecture notes.aai.2011s.ch2.intelligentagents
Jarrar.lecture notes.aai.2011s.ch2.intelligentagents
 
Introduction To Artificial Intelligence
Introduction To Artificial IntelligenceIntroduction To Artificial Intelligence
Introduction To Artificial Intelligence
 
M2 agents
M2 agentsM2 agents
M2 agents
 

Similar to Lec 2-agents

m2-agents.pptx
m2-agents.pptxm2-agents.pptx
m2-agents.pptxRitwikNayan
 
IntelligentAgents.ppt
IntelligentAgents.pptIntelligentAgents.ppt
IntelligentAgents.pptjuwel16
 
AI_02_Intelligent Agents.pptx
AI_02_Intelligent Agents.pptxAI_02_Intelligent Agents.pptx
AI_02_Intelligent Agents.pptxYousef Aburawi
 
Artificial intelligence(03)
Artificial intelligence(03)Artificial intelligence(03)
Artificial intelligence(03)Nazir Ahmed
 
Lecture 2 agent and environment
Lecture 2   agent and environmentLecture 2   agent and environment
Lecture 2 agent and environmentVajira Thambawita
 
Intelligent (Knowledge Based) agent in Artificial Intelligence
Intelligent (Knowledge Based) agent in Artificial IntelligenceIntelligent (Knowledge Based) agent in Artificial Intelligence
Intelligent (Knowledge Based) agent in Artificial IntelligenceKuppusamy P
 
aiNew.pptx
aiNew.pptxaiNew.pptx
aiNew.pptxRiCK569935
 
Lecture 4 (1).pptx
Lecture 4 (1).pptxLecture 4 (1).pptx
Lecture 4 (1).pptxSumairaRasool6
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptxDharaDarji5
 
ai-slides-1233566181695672-2 (1).pdf
ai-slides-1233566181695672-2 (1).pdfai-slides-1233566181695672-2 (1).pdf
ai-slides-1233566181695672-2 (1).pdfShivareddyGangam
 
CS Artificial intelligence chapter 2.pptx
CS Artificial intelligence chapter 2.pptxCS Artificial intelligence chapter 2.pptx
CS Artificial intelligence chapter 2.pptxethiouniverse
 
AI Basic.pptx
AI Basic.pptxAI Basic.pptx
AI Basic.pptxDharaDarji5
 
CS4700-Agents_v3.pptx
CS4700-Agents_v3.pptxCS4700-Agents_v3.pptx
CS4700-Agents_v3.pptx0137RajatThakur
 
Unit2: Agents and Environment
Unit2: Agents and EnvironmentUnit2: Agents and Environment
Unit2: Agents and EnvironmentTekendra Nath Yogi
 
2.IntelligentAgents.ppt
2.IntelligentAgents.ppt2.IntelligentAgents.ppt
2.IntelligentAgents.pptGopiSuresh8
 

Similar to Lec 2-agents (20)

m2-agents.pptx
m2-agents.pptxm2-agents.pptx
m2-agents.pptx
 
IntelligentAgents.ppt
IntelligentAgents.pptIntelligentAgents.ppt
IntelligentAgents.ppt
 
Week 3.pdf
Week 3.pdfWeek 3.pdf
Week 3.pdf
 
Lecture 2 Agents.pptx
Lecture 2 Agents.pptxLecture 2 Agents.pptx
Lecture 2 Agents.pptx
 
AI_02_Intelligent Agents.pptx
AI_02_Intelligent Agents.pptxAI_02_Intelligent Agents.pptx
AI_02_Intelligent Agents.pptx
 
Artificial intelligence(03)
Artificial intelligence(03)Artificial intelligence(03)
Artificial intelligence(03)
 
Lecture 2 agent and environment
Lecture 2   agent and environmentLecture 2   agent and environment
Lecture 2 agent and environment
 
Intelligent (Knowledge Based) agent in Artificial Intelligence
Intelligent (Knowledge Based) agent in Artificial IntelligenceIntelligent (Knowledge Based) agent in Artificial Intelligence
Intelligent (Knowledge Based) agent in Artificial Intelligence
 
aiNew.pptx
aiNew.pptxaiNew.pptx
aiNew.pptx
 
Lecture 4 (1).pptx
Lecture 4 (1).pptxLecture 4 (1).pptx
Lecture 4 (1).pptx
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
 
AI week 2.pdf
AI week 2.pdfAI week 2.pdf
AI week 2.pdf
 
ai-slides-1233566181695672-2 (1).pdf
ai-slides-1233566181695672-2 (1).pdfai-slides-1233566181695672-2 (1).pdf
ai-slides-1233566181695672-2 (1).pdf
 
CS Artificial intelligence chapter 2.pptx
CS Artificial intelligence chapter 2.pptxCS Artificial intelligence chapter 2.pptx
CS Artificial intelligence chapter 2.pptx
 
AI Basic.pptx
AI Basic.pptxAI Basic.pptx
AI Basic.pptx
 
CS4700-Agents_v3.pptx
CS4700-Agents_v3.pptxCS4700-Agents_v3.pptx
CS4700-Agents_v3.pptx
 
AI Lesson 02
AI Lesson 02AI Lesson 02
AI Lesson 02
 
Unit2: Agents and Environment
Unit2: Agents and EnvironmentUnit2: Agents and Environment
Unit2: Agents and Environment
 
2.IntelligentAgents.ppt
2.IntelligentAgents.ppt2.IntelligentAgents.ppt
2.IntelligentAgents.ppt
 

More from Taymoor Nazmy

Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systemsTaymoor Nazmy
 
Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systemsTaymoor Nazmy
 
Artificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicTaymoor Nazmy
 
Artificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-searchArtificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-searchTaymoor Nazmy
 
Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-Taymoor Nazmy
 
Image processing 2
Image processing 2Image processing 2
Image processing 2Taymoor Nazmy
 
Image processing 1-lectures
Image processing  1-lecturesImage processing  1-lectures
Image processing 1-lecturesTaymoor Nazmy
 
Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Taymoor Nazmy
 
Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Taymoor Nazmy
 
Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-Taymoor Nazmy
 
Software Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-iSoftware Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-iTaymoor Nazmy
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
Software Engineering Lec 3-project managment
Software Engineering Lec 3-project managmentSoftware Engineering Lec 3-project managment
Software Engineering Lec 3-project managmentTaymoor Nazmy
 
Software Engineering Lec 2
Software Engineering Lec 2Software Engineering Lec 2
Software Engineering Lec 2Taymoor Nazmy
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
presentation skill
presentation skillpresentation skill
presentation skillTaymoor Nazmy
 

More from Taymoor Nazmy (20)

Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systems
 
Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systems
 
Artificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logic
 
Artificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-searchArtificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-search
 
Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-
 
Image processing 2
Image processing 2Image processing 2
Image processing 2
 
Image processing 1-lectures
Image processing  1-lecturesImage processing  1-lectures
Image processing 1-lectures
 
Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--
 
Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Software Engineering Lec 8-design-
Software Engineering Lec 8-design-
 
Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-
 
Software Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-iSoftware Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-i
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Software Engineering Lec 3-project managment
Software Engineering Lec 3-project managmentSoftware Engineering Lec 3-project managment
Software Engineering Lec 3-project managment
 
Software Engineering Lec 2
Software Engineering Lec 2Software Engineering Lec 2
Software Engineering Lec 2
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
Lec 6-
Lec 6-Lec 6-
Lec 6-
 
presentation skill
presentation skillpresentation skill
presentation skill
 
Lec 4
Lec 4Lec 4
Lec 4
 
Lec 3
Lec 3Lec 3
Lec 3
 
Lec 2
Lec 2Lec 2
Lec 2
 

Recently uploaded

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 

Recently uploaded (20)

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 

Lec 2-agents

  • 2. 2 What is AI? Many definitions, most fit into one of four categories: Systems that act humanly Systems that think humanly Systems that act rationally Systems that think rationally
  • 3. 3 Intelligent Agents and Artificial Intelligence • Human mind as network of thousands or millions of agents all working in parallel. To produce real artificial intelligence, we should build computer systems that also contain many agents and systems. • An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators • • 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;
  • 4. 4 Intelligent agents: their environment and actions environment percepts actions ? agent sensors effectors An agent perceives its environment via sensors and acts in that environment with its effectors. Hence, an agent gets percepts one at a time, and maps this percept sequence to actions (one action at a time)
  • 5. 5 Agents Properties: 1-Autonomy • A system is autonomous to the extent that its own behavior is determined by its own experience and knowledge. • Therefore, a system is not autonomous if it is guided by its designer according to a priori decisions. • To survive agents must have: – Enough built- in knowledge to survive. – Ability to learn.
  • 6. 6 2-Reactivity • 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)
  • 7. 7 3-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
  • 8. 8 4-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
  • 9. 9 5-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
  • 10. 10 Other Properties • Other properties, sometimes discussed in the context of agency: • mobility: the ability of an agent to move around an electronic network. • benevolence: 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. • learning/adaption: agents improve performance over time
  • 11. 11 The Vacuum Cleaner Agent Percepts: Location, contents Actions: Left, Right, Suck.
  • 12. 12 Structure of intelligent agents • Agent program: a program that implements the mapping from percepts to actions • Architecture: the platform to run the program. • Agent = architecture + program • Before designing an agent program, we need to know - • a) the percepts (P) • b) the actions (A) • c) the goals (or performance measure of the agent) (G) • d) its environment (E)
  • 13. 13 A more specific example: 1-Automated taxi driving system • Percepts: Video, sonar, speedometer, engine sensors, microphone, … • Actions: Steer, accelerate, brake, horn, speak/display, … • Goals: Maintain safety, reach destination, maximize profits (fuel, tire wear), obey laws, provide passenger comfort, … • Environment: urban streets, freeways, traffic, weather, customers, …
  • 14. 14 Interacting Agents Collision Avoidance Agent (CAA) • Percepts: Obstacle distance, velocity, trajectory • Actions: Steer, speed up, brake, blow horn, signal (headlights) • Goals: Avoid running into obstacles • Environment: Highway Lane Keeping Agent (LKA) • Percepts: Lane center, lane boundaries • Actions: Steer, speed up, brake • Goals: Stay in current lane • Environment: Freeway
  • 15. 15 Examples of agent types (using their PAGE descriptions) 1-Agent Type : Medical diagnosis system Percepts : Symptoms, findings patient’s answers Actions : Questions, tests, treatments Goals : Healthy patient, minimize costs Environment : Patient, hospital. 2-Agent Type : Satellite image analysis system Percepts : Pixels of varying intensity, color Actions : Print a categorization of scene Goals : Correct categorization Environment : Images from orbiting satellite
  • 16. 16 Agent Programs The early version of agent programs will have a simple form, e.g. function SKELETON-AGENT(percept) returns action static: memory // the agent’s memory of the world memory <= UPDATE-MEMORY(memory, percept) action <= CHOOSE-BEST-ACTION(memory) memory <= UPDATE-MEMORY(memory, action) return action Each time this function is called (invoked), the agent’s memory is updated with the new percept, the best action is chosen, and the fact the action was taken in also stored in memory.
  • 17. 17 Each agent program uses some internal data structures that are updated as new percepts arrive. These data structures are modified by the agent’s decision making procedures, to generate an action choice. This choice is passed on to the architecture to be executed. Note that: a) The agent program receives only one percept as input. It is the job of the agent to build up a percept sequence in memory, if it needs to. In some environments, no percept sequence needs be stored. In complex environments, the complete sequence cant be stored! b) The goal (or performance measure) is NOT part of the program.
  • 18. 18 The simplest way to write the agent program is – a LUT (look up table), e.g. see the following agent program: function TABLE-DRIVEN-AGENT(percept) returns action static: percepts // a sequence, initially empty table // a table indexed by percept sequences, initially fully specified append percept to the end of percepts action <= LOOKUP(percepts, table) return action The above lookup table agent keeps track of the (entire) percept sequence and just looks up the best action by using the sequence as the index into the table. The LUT (table) contains the appropriate action for all possible percept sequences. This proposal is doomed (for certain types of agents) e.g. Chess playing agent (would need about 35100 entries in the LUT) This could not be built.
  • 19. 19 Some Agent Types • 1-Simple reflex agents – are based on condition-action rules, implemented with an appropriate production system. They are stateless devices which do not have memory of past world states. • 2-Reflex agent with internal state • which is used to keep track of past states of the world. • 3-Agents with goals – are agents that, in addition to state information, have goal information that describes desirable situations. Agents of this kind take future events into consideration. • 4-Utility-based agents An agent that has an explicit utility function can make rational decisions.
  • 20. 20 1- Simple Reflex Agent • Decisions based on current percept only – No memory – Has problems if environment is not fully observable. Simple Reflex Agent sensors What the world is like now What action I should do now Condition - action rules effectors Environment
  • 21. 21 function SIMPLE-REFLEX-AGENT(percept) returns action static: rules // a set of condition-action rules state <= INTERPRET-INPUT(percept) rule <= RULE-MATCH(state, rules) action <= RULE-ACTION[rule] return action The simple reflex agent works by finding a rule whose condition (i.e. the LHS) matches the current situation (defined by the percept) and then performing the action associated with that rule. The INTERPRET-INPUT function generates an abstracted description of the current state from the percept (this can be difficult). The RULE-MATCH function returns the first rule in the set of rules that matches the given state description (i.e. LHS = state description).
  • 22. 22 2-Reflex agent with internal state function REFLEX-AGENT-WITH-STATE (percept) returns action static: state, a description of the current world state rules, a set of condition-action rules state  UPDATE-STATE (state, percept) rule  RULE-MATCH (state, rules) action  RULE-ACTION [rule] state  UPDATE-STATE (state, action) return action A reflex agent with internal state works by finding a rule whose condition matches the current situation (as defined by the percept and the stored internal state) and then doing the action associated with that rule.
  • 23. 23 Reflex agent with internal state sensors What the world is like now What action I should do now Condition - action rules effectors Environment State How the world evolves What my actions do
  • 24. 24 3-Agents with goals • Knowing the state of the environment is not enough sometimes to be able to decide what to do, e.g. an agent comes to a cross roads - which way to turn, L?, R?, straight ahead? The decision depends on Where the agent wants to go, i.e. it needs GOAL information. Goal information describes which situations are desirable. The agent’s program can combine this goal information with information about the results of its possible actions in order to choose actions that achieve the goal. This can be easy or difficult. Search (Chs 3 to 5) and Planning (Chs. 11 to 13) deal with the topic of finding action sequences to achieve the agent’s goals.
  • 25. 25 Agent with goals sensors What the world is like now What action I should do now Goals effectors Environment State How the world evolves What my actions do What it will be like if I do action A
  • 26. 26 4- Utility-based Agents Goals are not enough to generate high quality behavior, e.g. there are many ways to arrive at a destination, but some routes are quicker, safer, cheaper. Goals provide only a crude distinction between “happy” and “unhappy” states. A more general performance measure would allow comparisons between different world states depending upon how happy they would make the agent if achieved. happiness = utility (i.e. satisfaction derived from) If one world state is preferred by an agent over another, then the first state has higher utility to the agent.
  • 27. 27 Utility-based agent sensors What the world is like now What action I should do now Utility effectors Environment State How the world evolves What my actions do What it will be like if I do action A How happy I will be in such as a state
  • 28. 28 Utility is a function that maps a state to a real number. This number measures the “degree of happiness” of the agent. A utility function allows rational decisions in 2 cases where goals have trouble - a) When there are conflicting goals (e.g. speed vs. safety), (the utility function will supply the needed tradeoff). b) When there are several goals (none of which can be achieved with certainty). The utility function can weigh up the probability of success with the importance of the goals. Ch. 16 shows that any rational agent can be described as having a utility function.
  • 29. 29 Properties of environments Actions are done by the agents on the environment, which in turn provides percepts to the agent. Different kinds of environments affect the design of agents. Environment programs can be used as testbeds for agent programs. Kinds of Environments (5 examples) a) Accessible vs. Inaccessible b) Deterministic vs. Nondeterministic c) Episodic vs. Nonepisodic d) Static vs. Dynamic e) Discrete vs. Continuous
  • 30. 30 a) Accessible vs. Inaccessible An environment is accessible if the agent’s sensors can detect the environment’s complete state. (An environment is effectively accessible if the sensors detect all aspects of the environment needed to choose the action). b) Deterministic vs. Nondeterministic An environment is deterministic if its next state is completely determined by its current state and the actions performed by the agent.
  • 31. 31 c) Episodic vs. Nonepisodic An environment is episodic if the agent’s experience is divided into “episodes”, i.e. percept-action cycles, where the quality of the action does not depend on previous cycles (episodes), i.e. the cycles are “history independent”. The episodes do not depend on previous actions. d) Static vs. Dynamic If the environment can change while the agent is deciding its action, the environment is said to be dynamic. Static environments are easier to deal with for agents. They don’t have to keep looking.
  • 32. 32 e) Discrete vs. Continuous An environment is discrete if there are a finite number of distinct, clearly defined percepts and actions, e.g. chess (there are a finite number of moves at each turn).Taxi driving is continuous - there are a continuous range of taxi and other vehicle speeds and positions etc. Different environments require different kinds of agent programs. The most difficult environments are inaccessible, nondeterministic, nonepisodic, dynamic and continuous.
  • 33. 33 Environment Programs To simulate an agent, you will need an environment simulator too. These environment simulators have the broad structure of the pseudo code as shown in the next slide. The environment simulator (program) does the following - a) Takes an agent as input b) Gives each agent the right percept and receive back an action c) Updates the environment based on the action The environment is defined by - a) its initial state b) its update function
  • 34. 34 procedure RUN-ENVIRONMENT(state, UPDATE-FN, agents, termination) inputs: state // the initial state of the environment UPDATE-FN // to modify the environment agents // a set of agents termination // a predicate to test when finished repeat for each agent in agents do PERCEPT[agent] <= GET-PERCEPT(agent, state) end for each agent in agents do ACTION[agent] <= PROGRAM[agent] (PERCEPT[agent]) end state <= UPDATE-FN(actions, agents, state) until termination(state)
  • 35. 35 Mobile agents • Programs that can migrate from one machine to another. • Execute in a platform-independent execution environment. • Require agent execution environment (places). • Mobility not necessary or sufficient condition for agenthood. • Practical but non-functional advantages: – Reduced communication cost – Asynchronous computing (when you are not connected) • Two types: – One-hop mobile agents (migrate to one other place) – Multi-hop mobile agents (roam the network from place to place) • Applications: – Distributed information retrieval. – Telecommunication network routing.
  • 36. 36 Summary • An agent perceives and acts in an environment, has an architecture and is implemented by an agent program. • An ideal agent always chooses the action which maximizes its expected performance, given percept sequence received so far. • An autonomous agent uses its own experience rather than built-in knowledge of the environment by the designer. • An agent program maps from percept to action & updates its internal state. – Reflex agents respond immediately to percpets. – Goal-based agents act in order to achieve their goal(s). – Utility-based agents maximize their own utility function. • Representing knowledge is important for successful agent design. • Some environments are more difficult for agents than others. The most challenging environments are inaccessible, nondeterministic, nonepisodic, dynamic, and continuous.