Artificial Intelligence
Dr. Piyush Joshi
IIIT Sri City
Intelligent Agent
 An agent is anything that can be viewed as perceiving its environment through sensors and
 acting upon that environment through actuators.
  An agent’s choice of action at any given instant can depend on the entire
  percept sequence observed to date, but not on anything it hasn’t perceived
Intelligent Agent Example
                       OF – Object Found
                       O NF – Object Not Found
Rational Agent
  A rational agent is one that does the right thing—conceptually speaking, every entry in
  the table for the agent function is filled out correctly.
  If the sequence is desirable, then the agent has performed well. This notion of desirability is
  captured by a performance measure that evaluates any given sequence of environment
  states.
  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.
  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.
Specifying the Task Environment:
PEAS Description
  PEAS (Performance, Environment, Actuators, Sensors)
  Make PEAS description for the Object recognition by a robot?
Properties of task environments
  Fully observable vs. partially observable
  If an agent’s sensors give it access to the complete state of the
  environment at each point in time.
  A task environment is effectively fully observable if the
  sensors detect all aspects that are relevant to the choice of action.
  An environment might be partially observable because of noisy and
  inaccurate sensors or because parts of the state are simply missing
  from the sensor data.
Properties of task environments
  Single agent vs. Multiagent
  An agent solving a crossword puzzle by itself is clearly in a single-agent
  environment.
  Chess is a competitive multiagent environment.
Single agent vs. Multiagent
  Taxi-driving environment, on the other hand, avoiding collisions maximizes the
  performance measure of all agents, so it is a partially cooperative multiagent
  environment.
  It is also partially competitive because, for example, only one car can occupy a parking
  space.
Properties of task environments
  Episodic vs. Sequential
  In an episodic task environment, the agent’s experience is divided into atomic episodes. In
  each episode the agent receives a percept and then performs a single action.
  An agent that has to spot defective parts on an assembly line bases each decision on the
  current part, regardless of previous decisions; moreover, the current decision doesn’t affect
  whether the next part is defective.
Properties of task environments
  Episodic vs. Sequential
  In sequential environments, on the other hand, the current decision could affect all future
  decisions.
  Chess and taxi driving are sequential.
  Short-term actions can have long-term consequences.
Properties of task environments
  Static vs. Dynamic:
  If the environment can change while an agent is deliberating, then we say the environment is
  dynamic for that agent; otherwise, it is static.
Properties of task environments
  Discrete vs. continuous:
  The discrete/continuous distinction applies to the state of the environment, to the way time is
  handled, and to the percepts and actions of the agent.
  The chess environment has a finite number of distinct states.
  Taxi driving is a continuous-state and continuous-time problem: the speed and location of
  the taxi.
Types of agents
Simple reflex agents
  These agents select actions on the basis of the current percept, ignoring the rest of the
  percept history.
  For example, the vacuum agent is a simple reflex agent, because its decision is based only
  on the current location and on whether that location contains dirt.
Simple reflex agents
  The agent will work only if the correct decision can be made on the basis of only the current
  percept—that is, only if the environment is fully observable.
  if car-in-front-is-braking then initiate-braking.
Model-based reflex agents
  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.
Model-based reflex agents
  Updating this internal state information as time goes by requires two kinds of knowledge to
  be encoded in the agent.
      We need some information about how the world evolves independently of the agent.
      (overtaking car now closer than a moment ago)
      We need some information about how the agent’s own actions affect the world. (the
      agent turns the steering wheel clockwise, the car turns to the right)
Model-based reflex agents
  Regardless of the kind of representation used, it is seldom possible for the agent
  to determine the current state of a partially observable environment exactly.
  Instead, the box labeled “what the world is like now” represents the agent’s “best
  guess” (or sometimes best guesses).
  For example, an automated taxi may not be able to see around the large truck that
  has stopped in front of it and can only guess about what may be causing
  the hold-up. Thus, uncertainty about the current state may be unavoidable, but the
  agent still has to make a decision.
Goal-based agents
  Knowing something about the current state of the environment is not always enough to
  decide what to do.
  For example, at a road junction, the taxi can turn left, turn right, or go straight on. The
  correct decision depends on where the taxi is trying to get to.
Goal-based agents
  In other words, as well as a current state description, the agent needs some sort of goal
  information that describes situations that are desirable.
  Agent keeps track of the world state as well as a set of goals it is trying to achieve, and
  chooses an action that will (eventually) lead to the achievement of its goals.
Utility-based agents
  A model-based, utility-based agent. It uses a model of the world, along with a utility
  function that measures its preferences among states of the world.