A Decision Node and one more Utility Node
Now, you are about to add the decision node
Treat (see figure 1). This is done similar to the way you add
chance nodes and utility nodes:
- Press the decision tool (to the right
of the utility tool)
- Click somewhere in the network pane (a
good place would be to the right of the Dry node)
- Change the name and label of the new
decision node to "Treat"
You add an action to a decision node in the
same way as you add a state to a chance node:
- Choose the Treat node as the currently
active node by selecting it from the drop down list below the
tool bar or simply by double clicking it
- Press the add state tool
- Change the action names to
"treat" and "not"
The Treat decision node has an impact on the
Sick' node so:
- Add an arrow from Treat to
Sick'
The new decision
node represents the decision to give the tree some treatment or
not. If the plantation owner (Apple Jack) chooses to give treatment
this will cost him something which shall be modeled by the Cost
utility node. The Cost node has the utility table shown in table
2.
|
Treat="treat" |
Treat="not" |
| -8000 |
0 |
|
| Table 2:
U(Cost). |
Now, add the Cost
utility node to the influence diagram:
- Add a new utility node (a good place
would be to the right of the Treat node)
- Change the name and label of this node
to "Cost"
- Add an arrow from Treat to Cost
- Fill in table 2 in the utility table of
Cost
Filling in CPTs
When we copied the nodes Sick' and
Dry', they inherited the CPTs of Sick and Dry. However, as both
these nodes have become children of other nodes, their CPTs are no
longer correct. Their new CPTs were specified to those found in
table 3 and table 4.
- Fill in table 3 as the cpt of
Sick'
- Fill in table 4 as the cpt of
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 3:
P(Sick' | Sick, Treat). |
|
|
Dry="dry" |
Dry="not" |
|
Dry'="dry" |
0.60 |
0.05 |
|
Dry'="not" |
0.40 |
0.95 |
|
| Table 4:
P(Dry' | Dry). |
Now, your
influence diagram is finished and it should look like the one in
figure 4. At this point it would be a good idea to save your
influence diagram.
|
| Figure
4: The complete influence diagram |
Compiling the influence diagram
You can now try out the influence diagram and
hopefully you are eager to see how it works. First, compile the
influence diagram:
- Press the compile tool (the right most
tool button in the network window tool bar)
In addition to the errors described in the
first tutorial in the case of
influence diagrams the compiler also checks that there is a
directed path through all of the decision nodes - if not it will
return an error message. If the influence diagram does not compile,
you have probably made some minor error. You should first check
that the causal arrows are correct. Then, go through each of the
CPTs/utility tables of the nodes.
What Should Apple Jack Do ?
When the influence diagram has been compiled,
first imagine that the only thing Jack knows about his tree is that
it is losing leaves. Then, what will be the best thing for him to
do? To find out this, follow these steps:
- Expand the Loses chance node and the
Treat decision node in the node list pane on the left (by double
clicking them)
- Enter the evidence that Loses is
"yes" (by double clicking the "yes"
state)
- Propagate the influence diagram (press
the sum propagation tool)
- Read the expected utility of
"treat" and "not" in the Treat decision
node
You should be
reading something looking like that in figure 5.
|
| Figure
5: The influence diagram propagated with the evidence that
Loses="yes". |
You read 10234.4
as the expected utility of giving treatment and 11514.0 as the
expected utility of not doing anything. This suggests that it will
be best for Apple Jack not to treat the tree.
If you read other values than those specified
above, you have probably mistyped something when filling in the
CPTs. Then, check the CPTs/utility tables of all the nodes.
In a decision situation, your opinion about
what to do will sometimes change when you learn more facts about
your situation. Lets see what happens if Jack knows that it has
been raining a lot lately and that the tree under no circumstances
can be suffering from drought. Then the state of Dry can be set to
"not":
- Enter the evidence that Dry is
"not"
- Propagate the influence diagram
- Read the expected utility of
"treat" and "not" in the Treat decision
node
You should read
9138.33 as the expected utility of giving treatment and 5918.33 as
the expected utility of not doing anything. In this case, it will
obviously be best for Jack to give the tree some treatment.
The reason for the difference between these two
cases is that in the first case, it is likely that the tree is
suffering from drought. Then, of course, the costs of treating the
tree for a sickness will not pay off.
This finishes the tutorial. You should now be
able use the Hugin GUI to construct your own influence diagrams.
However, if you want to create large and complex models, we suggest
that you study the area more.