pict

Building a (Limited Memory) Influence Diagram (Continued)

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 (limited memory) influence diagram (LIMID) is finished and it should look like the one in figure 4. At this point it would be a good idea to save your LIMID.

show_id

Figure 4: The complete influence diagram

Compiling the Limited Memory Influence Diagram

You can now try out the LIMID and hopefully you are eager to see how it works. First, compile the LIMID:

  • Press the compile tool (the right most tool button in the network window tool bar)

The compilation of an influence diagram may produce some of the same errors as described in the first tutorial. If the LIMID does not compile, you have probably made some minor error. Once the influence diagram has been compiled, probabilities and expected utilities are computed under the initial policy. To solve the influence diagram, it is necessary to invoke Single Policy Updating.

What Should Apple Jack Do?

When the LIMID has been compiled, you should do a Single Policy Updating. Now, 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.

appleTree_e

Figure 5: The influence diagram propagated with the evidence that Loses="yes".

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

This finishes the tutorial. You should now be able use the Hugin Graphical User Interface to construct your own (limited-memory) influence diagrams. However, if you want to create large and complex models, you should study the area more than just reading this tutorial.