(Tutorial)
This tutorial shows you how to implement a
small influence diagram in the Hugin GUI. It requires that you have
already constructed the Bayesian network from the
first tutorial . The influence
diagram you are about to implement is the one modeled in the
introduction to influence
diagrams in the
getting started section. It
helps plantation owner Apple Jack to decide whether or not to give
his apple tree, which is losing its leaves, some treatment. The
qualitative representation of the influence diagram is shown in
figure 1.
|
Figure
1: The qualitative representation of the influence
diagram used for decision making in Apple
Jacks plantation |
Open the BN for Editing
First, you must open the BN
constructed in the first tutorial if it is not already open. Here
is how to do it:
- Select "Open" from the
"File" menu
- Enter the name of the BN file
("apple.hkb"). You can do this by selecting it from the
list of BN files (which have the "hkb" extension).
In figure 2, the
BN has been opened and the Hugin GUI is currently working in
"edit" mode. We need to be in "edit" mode to
edit the BN, so if your network window shows the BN in
"run" mode, press the "edit" mode tool button.
If you opened it in "edit" mode, you do not need to do
anything.
|
| Figure
2: The open BN from the first tutorial in "edit"
mode. |
Copying Nodes
In the influence diagram in figure 1, there are
three nodes very similar to those that we already have. In this
case, the Hugin GUI allows you to copy a group of nodes and paste
them in another area of the network pane. Here is how to do it:
- Create a rectangle selection with the
mouse cursor around all three nodes (drag a rectangle by holding
down the left mouse button)
- Select "Copy Nodes" from the
"Edit" menu in the Hugin GUI window tool bar
- Select "Paste Nodes" from the
"Edit" menu in the Hugin GUI window tool bar
- Move the new group of nodes to a spot
where there is room for them
The Hugin GUI
generates new names and labels for the new nodes. You can keep the
names and change the labels to Sick', Dry', and Loses'
(you cannot use "Sick'" as the name because it
contains the prime character which is illegal in names). Do you
remember how to change the labels?:
- Select the node with the mouse
cursor
- Enter "Node Properties" by
pressing the node properties tool (the left most tool button in
the tool bar of the network window)
- Change the "Label" field
- Press the "OK" button
You perform the
steps above for all three new nodes. Your network should then look
as the one in figure 3.
|
| Figure
3: The BN extended with Sick', Dry', and
Loses' |
The next step is
to add causal arrows from Sick to Sick' and from Dry to
Dry'. If you do not remember how to do this, these steps will
help you create one from Sick to Sick':
- Press the causal arrow tool
- Drag an arrow from Sick to Sick'
with the left mouse button (while holding down the SHIFT key)
Holding down the
SHIFT key enables you to create more causal arrows sequentially
without having to press the causal arrow tool again and again.
Adding a Utility Node
So far, the network we have constructed is
still a BN. Now, we shall make the first change making it an
influence diagram. This change is the addition of a utility node.
The utility node we shall add is the Harv node (see figure 1)
representing the utility gained from the harvest. Here is how to
add it:
- Press the utility tool (to the right of
the causal arrow tool)
- Click somewhere in the network pane (a
good place would be in the lower right corner besides the
Loses' node
- Change the name and label of the new
utility node to "Harv"
The harvest
depends on the state of Sick' and thus there is an arrow from
Sick' to Harv. Add this arrow:
- Press the causal arrow tool
- Drag an arrow from Sick' to
Harv
The utility of
the harvest was specified to that found in table 1.
|
Sick'="sick" |
Sick'="not" |
| 3000 |
20000 |
|
| Table 1:
U(Harv). |
You enter the
values of table 1 into the utility table of Harv as follows:
- Choose the Harv node as the currently
active node by selecting it from the drop down list below the
tool bar or simply by double clicking it
- Enter the values from table 1 in the
utility table in the node edit pane
Continue >>