A Formal Definition of Operational Business Decision

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 the operational business problem by a set of decision variables,
X={X1, X2,…, Xn}, and a set of rules, R={R1, R2,…, Rm}. Each variable Xi has a nonempty domain Di of possible values. Each rule Ri defines relationships between different variables from a subset of X and specifies the allowable combinations of values for that subset.

Then a decision can be defined as a solution for such problem that is an assignment of values to all unknown decision variables, { Xi=vis, Xj=vjt, …}, that satisfies all the rules from R. 
There can be multiple alternative decisions for the problem. The problem may include a special variable called objective which depends on some other variables. Then an optimal decision is 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 = { R1, R2,…, Rm }. It simply gives short names (X, R, vjs) 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 an 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.


[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


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.