<< Click to Display Table of Contents >> Navigation: Using SMILE > Influence diagrams |
Influence diagrams (IDs) introduced by Howard and Matheson (1984), are acyclic directed graphs modeling decision problems under uncertainty. An ID encodes three basic elements of a decision: (1) available decision options, (2) factors that are relevant to the decision, including how they interact among each other and how the decisions will impact them, and finally, (3) the decision maker’s preferences over the possible outcomes of the decision making process.
Influence diagrams use three 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 DSL_network::AddNode is DSL_LIST (short for "List of decisions").
•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, specified as an DSL_Dmatrix object. Value nodes can be children of decision and chance nodes. Pass DSL_TABLE to DSL_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 section of the reference manual 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 DSL_MAU with DSL_network::AddNode to create a MAU node. Note that APIs for expression-based MAU nodes are available in the DSL_mau class derived from DSL_nodeDef (so casting is required).
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 the same APIs. However, the interpretation of the numbers stored in DSL_Dmatrix objects retrieved with DSL_nodeVal::GetMatrix is extended. The matrices are indexed by the set of nodes called indexing parents. Indexing parents 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 DSL_nodeVal::GetIndexingParents to retrieve indexing parents. 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.