Solving a Decision Net by Node Absorption

Usually you solve a decision net by compiling, but if you know about node absorption (link reversal), you may want to use that.  When solving by node absorption, there must be only one utility node and it must not have any children.  Also the net must have all no-forgetting links added before solving.

Choose Network ® Optimize Decisions, and Netica will attach to each decision node its optimal decision function.  Taken together, the decision functions from each of the decision nodes form a policy which maximizes the expected value of the utility node.  In the Messages window Netica will print the expected utility of following this policy.  It will also put up a table dialog box showing the decision function for the first decision node.  You can use the node selector in the upper left to see the decision functions for other nodes.

For the umbrella example, the decision will be:

Forecast

Best decision

sunny

dont_take_umbrella

cloudy

dont_take_umbrella

rainy

take_umbrella

 

And “Expected utility = 77” will be printed in the Messages window.

The node absorption can also be done manually.  Select all the nodes and then click the image\StarTOOL.gif toolbar button.  The net will be decomposed and only the decision nodes and utility node will be left.  Each decision node will have the optimal decision as its relation, but it may have some parent links removed.  Any removed links are ones that are irrelevant to the decision.  All the utility node’s parents will be removed, and it will have the maximized expected value as its table.  After observing the tables (and perhaps copying and pasting them to a new net), you can restore the original net by choosing Edit ® Undo.

Alternatively, you can absorb the nodes one-by-one, but you must pick a legal order (Netica will tell you if you try to use a wrong order).