Third edition of Artificial Intelligence: foundations of computational agents, Cambridge University Press, 2023 is now available (including the full text).

9.3.2 Policies

A policy specifies what the agent should do under all contingencies. An agent wants to find an optimal policy - one that maximizes its expected utility.

A policy consists of a decision function for each decision variable. A decision function for a decision variable is a function that specifies a value for the decision variable for each assignment of values of its parents. Thus, a policy specifies what the agent will do for each possible value that it could sense.

Example 9.14: In Example 9.11, some of the policies are
  • Always bring the umbrella.
  • Bring the umbrella only if the forecast is "rainy."
  • Bring the umbrella only if the forecast is "sunny."

There are eight different policies, because there are three possible forecasts and there are two choices for each of the forecasts.

Example 9.15: In Example 9.13, a policy specifies a decision function for CheckSmoke and a decision function for Call. Some of the policies are
  • Never check for smoke, and call only if there is a report.
  • Always check for smoke, and call only if it sees smoke.
  • Check for smoke if there is a report, and call only if there is a report and it sees smoke.
  • Check for smoke if there is no report, and call when it does not see smoke.
  • Always check for smoke and never call.

In this example, there are 1,024 different policies (given that each variable is binary). There are 4 decision functions for CheckSmoke. There are 28 decision functions for Call; for each of the 8 assignments of values to the parents of Call, the agent can choose to call or not.