NEWS 

Building a Hugin Knowledge Base using Influence Diagrams

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.

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

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

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

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

Hugin Expert A/S · Gasværksvej 5 · DK·9000 Aalborg · Denmark · Phone +45 9655 0790 · Fax +45 9655 0799 · info@hugin.com
© Copyright 2004 · All rights reserved · Copyright Policy