Introduction to Influence Diagrams

An influence diagram is used instead of a Bayesian belief network (Bbn) when working with decision making. To some extend it is possible to construct a model for decision making with a pure Bbn but the concepts of utility and decisions are not explicitly covered. An influence diagram is simply a Bbn extended with utility nodes and decision nodes. Having these two new types of nodes, we also need to have a name for the old node type. We shall call these nodes chance nodes.

We shall present the concept of influence diagrams by extending the Bbn constructed in the apple tree example from the introduction to Bbns.

The Apple Tree Example

Again we find ourselves in Apple Jack's apple plantation. You should remember the Bbn in figure 1.

Figure 1: The Bbn constructed in the introduction to Bbns.

Apple Jack now wants to decide whether or not to invest some resources in giving the tree some treatment. To construct a model for this, we first add three nodes very similar to those already in the network. The new nodes Sick', Dry', and Loses' represent the same as the old nodes - only in the future at the time of harvest. These nodes are added in figure 2.

Figure 2: Addition of similar nodes representing the harvest time expectations of the state of the tree.

The new nodes can be in the same states as the old nodes: Sick' can be either "sick" or "not" - Dry' can be either "dry" or "not" - and Loses' can be either "yes" or "no". In the new model, we expect a causal dependency from both the old Sick node to the new Sick' node and the old Dry node to the new Dry' node. This is because we expect that if the tree is sick now, it is very likely that this will not change in the future. Of course the strength of the dependency depends on how far out in the future we look. Perhaps one could also have a dependency from Loses to Loses' but we have not done so in this model.

Apple Jack has the opportunity to do something about his problem. He can try to heal the tree with some treatment to get rid of the possible sickness. If he expects that the losing of leaves is caused by drought, he might save his money and just wait for rain. The action of giving the tree some treatment is now added as a decision node to the Bbn which will then no longer be a Bbn. Instead it will be the influence diagram shown in figure 3. Action nodes are represented by rectangles.

Figure 3: Addition of a decision node for treatment.

The Treat decision node has the states "treat" and "not". As you see, we have modeled the influence diagram with an arrow from Treat to Sick'. This is because we expect the treatment to have impact on the future health of the tree.

Before the influence diagram is finished, we need to specify the utility function enabling us to calculate the expected utility of a decision. This is done by adding utility nodes to the diagram each contributing with one part of the total utility. The utility nodes are added in figure 4. Utility nodes are represented by rhombi.

Figure 4: The complete qualitative representation of the influence diagram used for decision making in Apple Jacks plantation.

The utility node Cost gathers information about the cost of the treatment while Harv represents the utility at the time of the harvest. It depends on the state of Sick' indicating that the production of apples depends on the health of the tree.

Figure 4 shows the complete qualitative representation of the influence diagram. To get the quantitative representation as well, we need to construct the conditional probability table (cpt) for each chance node and the utility table for each utility node. A decision node does not have any table.

The following tables show one way of how the cpts of the chance nodes could be specified.

Sick="sick" Sick="not"
0.1 0.9
Table 1: P(Sick).
Dry="dry" Dry="not"
0.1 0.9
Table 2: P(Dry).
  Dry="dry" Dry="not"
Sick="sick" Sick="not" Sick="sick" Sick="not"
Loses="yes" 0.95 0.85 0.90 0.02
Loses="no" 0.05 0.15 0.10 0.98
Table 3: P(Loses | Sick, Dry).
  Treat="treat" Treat="not"
Sick="sick" Sick="not" Sick="sick" Sick="not"
Sick'="sick" 0.20 0.01 0.99 0.02
Sick'="not" 0.80 0.99 0.01 0.98
Table 4: P(Sick' | Sick, Treat).
  Dry="dry" Dry="not"
Dry'="dry" 0.60 0.05
Dry'="not" 0.40 0.95
Table 5: P(Dry' | Dry).
  Dry'="dry" Dry'="not"
Sick'="sick" Sick'="not" Sick'="sick" Sick'="not"
Loses'="yes" 0.95 0.85 0.90 0.02
Loses'="no" 0.05 0.15 0.10 0.98
Table 6: P(Loses' | Sick', Dry').

The following tables show how the utility tables of the utility nodes could be specified. I did not know what unit to use, so I chose one randomly among European currencies which resulted in Portuguese Escudos:

Sick'="sick" Sick'="not"
3000 20000
Table 7: U(Harv).
Treat="treat" Treat="not"
-8000 0
Table 8: U(Cost).

The purpose of our influence diagram is to be able to calculate the action of the Treat node giving you the highest expected utility. This is a very tricky job if you are to do it without the help from a computer and we shall not do it here. In stead, we suggest that you now try to go through the two tutorials describing how to implement this influence diagram in HUGIN Runtime and let it do the calculations.


Back