Third edition of Artificial Intelligence: foundations of computational agents, Cambridge University Press, 2023 is now available (including the full text).
9.3.1 Decision Networks
A decision network (also called an influence diagram) is a graphical representation of a finite sequential decision problem. Decision networks extend belief networks to include decision variables and utility. A decision network extends the single-stage decision network to allow for sequential decisions.
In particular, a decision network is a directed acyclic graph (DAG) with chance nodes, decision nodes, and a utility node. This extends single-stage decision networks by allowing both chance nodes and decision nodes to be parents of decision nodes. Arcs coming into decision nodes represent the information that will be available when the decision is made. Arcs coming into chance nodes represents probabilistic dependence. Arcs coming into the utility node represent what the utility depends on.
A no-forgetting agent is an agent whose decisions are totally ordered, and the agent remembers its previous decisions and any information that was available to a previous decision. A no-forgetting decision network is a decision network in which the decision nodes are totally ordered and, if decision node Di is before Dj in the total ordering, then Di is a parent of Dj, and any parent of Di is also a parent of Dj. Thus, any information available to Di is available to Dj, and the action chosen for decision Di is part of the information available at decision Dj. The no-forgetting condition is sufficient to make sure that the following definitions make sense and that the following algorithms work.
As part of this network, the designer must specify the domain for each random variable and the domain for each decision variable. Suppose the random variable Weather has domain {norain,rain}, the random variable Forecast has domain {sunny,rainy,cloudy}, and the decision variable Umbrella has domain {takeIt,leaveIt}. There is no domain associated with the utility node. The designer also must specify the probability of the random variables given their parents. Suppose P(Weather) is defined by
P(Weather=rain)=0.3.
P(Forecast|Weather) is given by
Weather | Forecast | Probability |
norain | sunny | 0.7 |
norain | cloudy | 0.2 |
norain | rainy | 0.1 |
rain | sunny | 0.15 |
rain | cloudy | 0.25 |
rain | rainy | 0.6 |
Suppose the utility function, Utility(Weather,Umbrella), is
Weather | Umbrella | Utility |
norain | takeIt | 20 |
norain | leaveIt | 100 |
rain | takeIt | 70 |
rain | leaveIt | 0 |
There is no table specified for the Umbrella decision variable. It is the task of the planner to determine which value of Umbrella to select, depending on the forecast.
Note that the diagnostic assistant that is deciding on the tests and the treatments never actually finds out what disease the patient has, unless the test result is definitive, which it typically is not.
In this sequential decision problem, there are two decisions to be made. First, the agent must decide whether to check for smoke. The information that will be available when it makes this decision is whether there is a report of people leaving the building. Second, the agent must decide whether or not to call the fire department. When making this decision, the agent will know whether there was a report, whether it checked for smoke, and whether it can see smoke. Assume that all of the variables are binary.
The information necessary for the decision network includes the conditional probabilities of the belief network and
- P(SeeSmoke|Smoke,CheckSmoke); how seeing smoke depends on whether the agent looks for smoke and whether there is smoke. Assume that the agent has a perfect sensor for smoke. It will see smoke if and only if it looks for smoke and there is smoke. [See Exercise 9.6.]
- Utility(CheckSmoke,Fire,Call); how the utility depends on
whether the agent checks for smoke, whether there is a fire, and
whether the fire department is called. Figure 9.10 provides
this utility information.
CheckSmoke Fire Call Utility yes yes call -220 yes yes do not call -5020 yes no call -220 yes no do not call -20 no yes call -200 no yes do not call -5000 no no call -200 no no do not call 0 This utility function expresses the cost structure that calling has a cost of 200, checking has a cost of 20, but not calling when there is a fire has a cost of 5,000. The utility is the negative of the cost.