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.
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