An influence
diagram is used instead of a Bayesian network (BN) when working
with decision making. To some extend it is possible to construct a
model for decision making with a pure BN but the concepts of
utility and decisions are not explicitly covered. An influence
diagram is simply a BN 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 BN constructed in the apple tree example
from the
introduction to BNs.
The Apple Tree Example
Again we find ourselves in Apple Jack's
apple plantation. You should remember the BN in figure 1.
|
Figure
1: The BN constructed in
the "introduction to
BNs". |
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 BN which will then no longer be a
BN. 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 the Hugin GUI and let it do
the calculations.