Task 3: Understanding undefined decisions
As discussed in the previous task, an incomplete rule set can be made complete by either specifying a default value or generating missing rules. However, some decision-making problems cannot produce a decision for all cases and result in undefined decisions.
Consider the complete and overlap-free decision table from Task 1, but with the sixth row removed (the row that covers sports photography with a low budget):

Sports photography requires an APS-C or full-frame sensor. As these sensors are unavailable within a low budget, no sensor format can be determined. Therefore, the decision is undefined.
Adjusting decision diagrams
Decision-making problems that allow undefined decisions differ from the problems that are described in Task 8: Adding a final decision node: after decision making, each input data node and decision node must either have a value or be undefined:
- Single-valued nodes
-
Each single-valued node has one of two evaluation states: defined or undefined. When it is defined, it has a value of its associated data type.
The evaluation of a node's direct predecessors determines whether the decision node is defined or undefined. When defined, the predecessors uniquely determine the node's value.
- Multi-valued nodes
-
Multi-valued nodes follow similar rules, with an important distinction: being undefined differs from having an empty list. When a multi-valued node is defined, it has a list of values (possibly empty), where each value matches the associated output type.
As with single-valued nodes, the evaluation of direct predecessors determines whether the decision node is defined or undefined. When defined, the predecessors uniquely determine the list of values.
- Completeness: For each case, the decision logic must either determine a value (or list of values) for the decision node or mark the decision as undefined.
- Consistency: When the decision logic encounters the same case multiple times across different scenarios, it must always determine the same value (or list of values) or always mark the decision as undefined.
With overlap-free rules, these requirements can be satisfied by using a method that prioritizes applicable rules over marking decisions as undefined.
A decision logic cannot determine a value for a decision node in one scenario and mark it as undefined for the same case in another scenario. If a value is determined in the first scenario, the applicable rule must also apply in the second scenario since both cover the same case.
When nodes can be undefined, it introduces new cases where one or more direct predecessors are undefined. By default, if a decision logic does not explicitly handle cases with undefined predecessors: the decision node is marked as undefined when any direct predecessor is undefined. Rules are not applicable because they require defined predecessor values.
Decision logic can explicitly handle undefined predecessors by using dedicated rule language predicates that test whether a predecessor node is defined or undefined. With explicit handling, rules can then detect undefined predecessor nodes and determine specific values for the decision node based on this information.
Exercise: Running a decision model
- Reopen the decision model that you created in Task 8: Adding a final decision node.
- Go to the Run tab and create a test data set with the following values:
- level: professional
- subject: sports
- budget: 2000
- weight limit: 1000
- equipped with tilt screen: false
- lens requirements: telephoto lens
- Click Run.
- Inspect the node values in the run history and note the value for the sensor format node.
- Duplicate the test data set and change the budget to 400.
- Click Run. Does the sensor format node have a value? Do its successor nodes have values? How are undefined nodes marked in the run history?
Lessons learned
A decision logic based on an overlap-free incomplete rule set has the following characteristics:
- Each rule can make a decision independently based on available information for all cases where it applies.
- At most one rule is applicable in each case.
- An undefined decision results when no rule is applicable.
Special rule language predicates enable the decision logic to check whether a predecessor node is undefined and handle those cases.
Limitations
All decision logics discussed so far assume that at most one rule is applicable in each case. The next task demonstrates how to define decision logic with overlapping rules.