Dr. Bob Moore in his DMCommunity.org post “What is a ‘Decision’?” considers different definitions of a “Business Decision” and “Business Decision Logic”, which Bob, Ron Ross, and I have recently been discussing in the context of the March DMC Challenge. Below I will share my point of view.

First of all, it’s important to stress that we are talking not about any ‘decision’ but ‘Operational Business Decision’ which provides a solution for an operational business problem. The majority of such problems can be considered as a special case of the classical Constraint Satisfaction Problem (CSP) defined in the famous book by S.Russell and P.Norvig “Artificial Intelligence: a Modern Approach” [5]. So, I simply applied the Russell/Norvig’s definition to our business problem.

We can define theoperational business problemby a set of decisionvariables,

X={X_{1}, X_{2},…, X_{n}}, and a set of rules, R={R_{1}, R_{2},…, R_{m}}. Each variable X_{i}has a nonemptydomainD_{i}of possiblevalues. Each rule R_{i }defines relationships between different variables from a subset of X and specifies the allowable combinations of values for that subset.

Then adecisioncan be defined as a solution for such problem that is an assignment of values to all unknown decision variables, { X_{i}=v_{is}, X_{j}=v_{jt}, …}, that satisfies all the rules from R.

There can be multiple alternative decisions for the problem. The problem may include a special variable calledobjectivewhich depends on some other variables. Then anoptimal decisionis the one that minimizes/maximizes the objective.

I understand that this definition may look “too technical”. But actually, they do not assume mathematical knowledge beyond a definition of a set like R = { R_{1}, R_{2},…, R_{m} }. It simply gives short names (X, R, v_{js}) to the concepts which are defined in “plain English” in the DMN specification [1] and were discussed by Ron and Bob. You may find specific examples of X and R sets in [2] and [3].

I guess some people will be really confused that a decision is a*n assignment of values to variables*, but it is exactly what a solution to the described above problem is.

Please note these definitions are pure declarative and say nothing about “HOW” rules (as relationships between variables) are defined and/or how decisions will be produced.

However, in practice, the structure of the operational business rules is usually much more limited to compare with generic constraints used by a CSP. It makes a problem resolution mechanism much simpler and potentially leads to an “automatically generated system” based on a deterministic problem definition whether it uses rules defined in DMN or in SBVR.

In 2011 I published the above definition along with an implementation approach [2] when an off-the-shelf constraint solver is used as a rule engine to automatically solve a business problem limited to the business rules defined in accordance with the TDM methodology [4]. In 2016 [3] I extended this approach to DMN [1] but pointed out that we can solve automatically only the problems defined by a DMN subset (such as TDM) but additional research is needed for problems that use aggregations, loops, and other complex DMN constructs.

References:

[1] The Decision Model and Notation, Version 1.2

[2] Representing and Solving Rule-Based Decision Models with Constraint Solvers,**
**Jacob Feldman, RuleML 2011 – America, LNCS 7018, pp. 208-221, 2011, Springer-Verlag Berlin Heidelberg 2011

[3] What-If Analyzer for DMN-based Decision Models, Jacob Feldman, Proceedings of the RuleML 2016 Challenge (RuleML and DecisionCAMP-2016), July 6-9, 2016, New York, NY

[4] von Halle, B., Goldberg, L.: The Decision Model: A Business Logic Framework Linking Business and Technology. Auerbach Publications/Taylor & Francis Group, LLC (2009)

[5] Artificial Intelligence: a Modern Approach, Third Edition, S.Russell, P.Norvig, 2010