1.3 Agents Situated in Environments

AI is about practical reasoning: reasoning in order to do something. A coupling of perception, reasoning, and acting comprises an agent. An agent acts in an environment. An agent's environment may well include other agents. An agent together with its environment is called a world.

An agent could be, for example, a coupling of a computational engine with physical sensors and actuators, called a robot, where the environment is a physical setting. It could be the coupling of an advice-giving computer--an expert system--with a human who provides perceptual information and carries out the task. An agent could be a program that acts in a purely computational environment--a software agent.

Figure 1.3: An agent interacting with an environment

Figure 1.3 shows the inputs and outputs of an agent. At any time, what an agent does depends on its

  • prior knowledge about the agent and the environment;
  • history of interaction with the environment, which is composed of
    • observations of the current environment and
    • past experiences of previous actions and observations, or other data, from which it can learn;
  • goals that it must try to achieve or preferences over states of the world; and
  • abilities, which are the primitive actions it is capable of carrying out.

Two deterministic agents with the same prior knowledge, history, abilities, and goals should do the same thing. Changing any one of these can result in different actions.

Each agent has some internal state that can encode beliefs about its environment and itself. It may have goals to achieve, ways to act in the environment to achieve those goals, and various means to modify its beliefs by reasoning, perception, and learning. This is an all-encompassing view of intelligent agents varying in complexity from a simple thermostat, to a team of mobile robots, to a diagnostic advising system whose perceptions and actions are mediated by human beings, to society itself.