Influence diagrams

<< Click to Display Table of Contents >>

Navigation:  Using SMILE Wrappers >

Influence diagrams

Influence diagrams use two additional node types next to chance (CPT and canonical) and deterministic nodes:

Decision nodes represent variables that are under control of the decision maker and model available decision alternatives, modeled explicitly as possible states of the decision node. They have no numerical parameters, only a discrete set of outcomes. Decision nodes can be children of decision and chance nodes. The node type identifier passed to Network.addNode is Network.NodeType.DECISION.

Value nodes, i.e., a measure of desirability of the outcomes of the decision process. They are quantified by the utility of each of the possible combinations of outcomes of the parent nodes. Value nodes can be children of decision and chance nodes. Pass Network.NodeType.UTILITY to Network.addNode to create a value node.

Multi-attribute utility (MAU) nodes, which combine value nodes to form a multi-attribute utility function. The function can be specified as a set of weights of a linear function (in such case, the node becomes an additive linear utility, ALU) or any expression that refers to identifiers of the value node parents. See the Equations reference chapter for a list of available functions. MAU nodes can be children of decision, value, and other MAU nodes. If decision parents exist, the definition of the MAU node contains a separate set of weights or expressions for each combination of decision parents. Use Network.NodeType.MAU with Network.addNode to create a MAU node. By default, the MAU node is defined by weights. To use expressions, call Network.setMauExpressions.

As is the case with Bayesian networks, the values calculated by influence diagram inference algorithms are stored in node values and can be accessed through Network.getNodeValue. However, the interpretation of the numbers returned by getNodeValue is extended. The matrices are indexed by the set of nodes called indexing parents. These are are unobserved decision nodes that precede the current node or unobserved chance nodes that are predecessors of decision nodes and should have been observed before the decisions can be made. Call Network.getIndexingParents to retrieve indexing parent handles, or Network.getIndexingParentIds to get indexing parent identifiers. The set of outcomes of indexing parents is called a policy. After a successful inference in an influence diagram, node values are:

for chance and deterministic nodes: posterior probabilities for each policy

for decision nodes: expected utilities for all outcomes and for each policy

for value and MAU nodes: expected utility for each policy

See Tutorial 4 for a simple influence diagram demo program.