Artificial Intelligence-3
Agents
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; various motors for actuators(effectors).
Agents 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
Vacuum-cleaner world
Percepts: location and state of the environment,e.g., [A,Dirty], [B,Clean]
Actions: Left, Right, Suck, NoOp
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.
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
Task Environment
Before we design an intelligent agent, we must specify its “task environment”: PEAS: Performance -Measure-Environment -Actuators -Sensors
- 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
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.
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?
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
The simplest kind of agent is the simple reflex agent. These agents select actions on the basis of the current percept, ignoring the rest of the percept history.
The most effective way to handle partial observability is for the agent to keep track of the part of the world it can’t see now.
That is, the agent should maintain some sort of internal state that depends on the percept history and thereby reflects at least some of the unobserved aspects of the current state
Knowing something about the current state of the environment is not always enough to decide what to do.
Goals alone are not enough to generate high-quality behavior in most environments.
References:
- Prateek Joshi, “Artificial Intelligence with Python : A Comprehensive Guide to Building Intelligent Apps for Python Beginners and Developers”, 1 st Ed., Packt Publishing, 2017.
- Stuart Russell and Peter Norvig, “Artificial Intelligence: A Modern Approach” , 3rd Ed., Prentice Hall, 2010.