Business Rules (BRs)

Get Complete Project Material File(s) Now! »

Definitions and state of the art

In this Chapter we introduce the three key concepts which we make use of in this thesis: Business Rules (BRs), Machine Learning (ML), and Mathematical Pro-gramming (MP). In the first section, we introduce the notion of Business Rules used in industry and research, then formally define BR programs. In the second section, we formalize our learning problem and relate our problem to conventional Machine Learning theory. The third section introduces Mathematical Program-ming definitions and conventions, as MP is the main component of the learning algorithm introduced in this thesis.

Business Rules (BRs)

BRs are a rules-based programming language in which writing a program consists of defining rules such as “If the person requesting this loan has negative balance on a bank account, Then refuse this loan request and watch that account”. BRs are very popular in corporate environments as a way of automating decision man-agement.
In this section, we first informally explore the uses of BRs in industry and research, and how they relate to this thesis. We then formally define BR programs and their interpreters, and we justify the simplifications used in the rest of the thesis compared to the BR execution algorithms used in commercial products.

BRs in industry and research

Any organization, from the smallest start-up to the largest governmental agency, must constantly make decisions of all kinds, from the most convoluted budget assignment to the simplest YES/NO binary choice. Automated decision manage-ment has existed for years as a way to save time and rationalize some of the most repetitive decisions an organization must take. This mostly applies to large com-panies which have well-defined business policies to be applied in circumstances where either traceability or compliance is needed.
Used for automated decision management, Business Rules are a popular way of modeling operational decisions, such as generating quotes for insurance com-panies, transaction processing for financial companies, or price computation in retail. Business Rules Management Systems (BRMS) such as IBM Operational Decision Management (ODM), previously known as ILOG JRules, are used by corporations of all sizes to let business experts automate their expertise while still using an easily understandable approximation of natural language [91]. BRMS are commercialized in multiple forms, which also include FICO Decision Management Suite [42], TIBCO Business Process Management Suite [123], Pega Robotic Pro-cess Automation [96], RedHat JBoss BRMS [61], OpenRules [93], and ServiceNow [112], and others. The Java Rules engine JESS [62] also sees some industrial use. One of the most popular characteristics of BRMS is their ease of use: business processes are defined by business analysts who do not often have a Computer Sci-ence background, which justifies the choice of BRs – as a “programming language for non-programmers” – to encode the decisions which are part of those processes.
This ease of use stems from the fact that BRs have a streamlined syntax which makes writing BR programs as elegant as declarative programming languages. This characteristic is emphasized by using pseudo-natural language to bridge the gap between the machine definition of objects (both classes and methods) and their business definition. Every sector of business can find uses for BRMS, from banks (e.g. for loan validation) to car companies (e.g. for car models and options pricing) to insurance companies (e.g. for fraud detection).
The primary strength of BRs compared to other decision management sys-tems lies in its agility. As business environments change, business policies must inevitably adapt. It has become increasingly frequent due to globalization, which accelerates regulation and market changes. Organizations have to conform with more and more regulations, market demand evolves faster and faster, and com-petition reacts and must be reacted to with increasingly short delays. BRMS allow business experts with no advanced computer knowledge to write and modify BRs, after the initial intervention of the I.T. department to devise semi-natural, domain-specific rule languages. Furthermore, BRMS include practical lifecycle management of BR programs such as modifying BRs which are already deployed to production, along with the usual versioning and collaborative working features.
The initial idea which later led to BRs appeared under the name of Production Rules in the 1970s as a knowledge representation system [37] originating as a psy-chological model of human reasoning behavior [85, 86]. In the 1980s, the Artificial Intelligence research community implemented the knowledge representation sys-tem used in Production Rules as defined by the modeling community into Expert Systems. They were first theorized [29, 74] then implemented in expert systems such as R1 [143], MYCIN [21, 83], EMYCIN [21, 40], or OPS5 [94, 95]. OPS5 in particular was based on the Rete algorithm [43], which is still in use in many BRMS today. The commercial successors of OPS5 included CLIPS [30], Jess [62],
Nexpert [87], and ILOG Rules [59], which evolved into the BR engine currently used by ODM.
As the popularity of Expert Systems faded, the utility of Production Rules as a business decision modeling tool was quickly apparent to the business community, where they gained the name of Business Rules. Although Ronald Ross wrote the very first book about business rules in 1994 [107] and claims to be “the father of business rules” [108], a number of other authors contributed to the definition and expanded use of business rules as an approach to representing business knowledge [53, 54, 18], going as far back as Knolmayer in 1993 [68]. Methodologies have been defined, in particular the Business Rules Manifesto by the Business Rules Group [19].
Expert Systems were progressively replaced by the current form of BRMS, as the decline in popularity of Expert Systems led to the use of standardized BR engines as direct implementations of BRs as defined by the business modeling community: where once Rules engines aimed to intelligently produce a handful of strategic or expert decisions, they now automate thousands of operational and routine decisions.
The defining characteristics of BRMS which any further improvement must take into account and respect are thus automation – the ability to apply one specified action to any number of relevant examples – and accessibility – an ease of use which can allow a Business Analyst to use the interface without issue. The goal of this thesis is to investigate the use of Machine Learning (ML) to modify BRs in an automated fashion. This would allow BRMS to combine their natural advantage – the ease of programming which makes them understandable by business experts – with their ML competitors’ best advantage – the ability to take advantage of the vast amounts of data naturally produced by businesses in the age of the Internet. Rules related programming languages in computer science today can broadly be separated in two categories, which must not be confused [136]:
• Inference systems are closest to logic programming languages, they use Logic Rules and allow for both forward and backward chaining to deduce facts or prove theorems given rules and facts. Prolog [99] is an example of rule-based inference system. Datalog [36] can also be used as a query language for deductive databases. Logic Rules are also used in constraint programming, e.g. in the form of Constraint Handling Rules [27].
• Production systems are closest to standard imperative programming lan-guages, they use Production Rules which can dynamically affect the value of variables at execution time. In query languages such as Datalog [1], which use inference engines, this means allowing for negations in heads of rules, in-terpreted as deletions of facts. In expert systems such as OPS5 [94], which use production engines, this means using assignment operations. In terms of logic programming, the presence of assignments means that inference in production systems can be non-monotonic.
The Business Rules we study are part of the second family, they have side effects which in turn affect the conditions of other rules, thus making logical inference impractical (in particular backwards chaining).
Inference systems have been explored in many different ways. Multiple infer-ence languages exist [1] with different reasoning systems, which allow backward chaining, forward chaining, and negation as failure to different degrees. While our focus is not on Logic Rules, it must be noted that many applications of Rules systems use Logic Rules rather than Production Rules – or rather, they fall into the overlap which consists of two functionally equivalent classes of Rule systems: Business Rules where actions do not modify existing variable values; and Logic Rules which only consider forward chaining, with neither backward chaining nor negation as failure. One such example is the research in using a rule-based repre-sentation system to organize and execute legal reasoning [71, 70].
Recent research in Production Rules systems has been mostly limited to their applications as a knowledge representation method, such as in [110]. An important part of that focus is dedicated to the combination of Production Rules and Ontolo-gies, as two complementary and synergistic knowledge representations methods: Production Rules focus on the description and execution of business logic while Ontologies focus on the description and structure of domain knowledge [92, 82, 8]. This has led to the SWRL standard proposal [122], which combines the OWL on-tology format with the RuleML rules format. Other areas of research in Production Rules systems include handling uncertainty [2] and automated explanation.
We choose to focus on BRs as a commonly used way of encoding business knownledge and automating decisions [46, 58] of interest to IBM. While Produc-tion Rules can be represented by declarative logic programs [105, 119], such a transformation does not bring us closer to a learning algorithm for our problem: existing Logic Rules learning algorithms aim to learn relationships, in the fash-ion of association rule learning (see Sec. 2.2). As we are trying to refine existing BR programs so as to satisfy a statistical goal, we wish to learn parameters in Production Rules rather than to learn Rules themselves, which makes relationship learning irrelevant to our research.
To avoid confusion, we hereafter call Business Rules (BRs) the constituents of a computer program meant to be executed by a BRMS or similar BR execution engine, while what is called a business rule by the Business Rules Group is referred to explicitly as a business modeling rule when necessary. In the example from earlier, the business modeling rule “Loan requests made while the borrower has a negative balance on one of his bank accounts are to be refused, and such accounts must then be watched” might be decided by a business analyst. Such rules can be written in natural language using an if-then template:
If the person requesting this loan has negative balance on a bank account (2.1)
Then refuse this loan request and watch that account
In this example, the phrase “the person requesting this loan has negative balance on a bank account” is the condition, and the phrase “refuse this loan” is the action associated with this business modeling rule. A set of such rules can be written as a BR program given an appropriate representation of the business objects referred to in business modeling rules, e.g. as a well-defined set of objects and classes, called a Business Object Model in ODM.

READ  Dynamic Data Identification Strategy

 A formal definition of BRs

The origin of BRs as a knowledge representation system and the later focus on implementations of BRs as business tools have lead to a lack of studies on BRs as a programming language. That is the starting point we choose to use for the contributions in this thesis. A BR is an if-then statement in which if is followed by a boolean expression, called the condition, and then is followed by a sequence of assignment instructions, called the action1. This action can include non monotonic effects, unlike the consequence clause of Logic Rules.
The syntax of BRs is straightforward, as it is aimed at non-programmers. In particular, it avoids explicit occurences of loops and function calls, which non-programmers may find difficult to understand. BRs eliminates the need for explicit loops – by making them implicit in the interpreter – and can fulfill the role of function calls (code factorization) by using what we call in this thesis typed meta-variables.
Most BRMS use typed meta-variables to simplify their users’ task. We explain how those work, then show that the expressive power of such a BR programming language is the same as one that does not use meta-variables at all.
In the rest of this thesis, we often use self-explanatory pseudo-code to describe programming language behavior. The use of the keywords if … then .. end if, while … do … end while, True and False as well as the function () and the symbol do not refer to a specific implementation of computer instructions, but rather to familiar concepts of computer science, namely if-then statements, while loops, Boolean values, variable type evaluation and affectation of a value to a variable.
We also use basic arithmetic and boolean syntax.

Table of contents :

1 Introduction 
1.1 Motivation
1.2 The contributions
1.3 The approach
2 Definitions and state of the art 
2.1 Business Rules (BRs)
2.1.1 BRs in industry and research
2.1.2 A formal definition of BRs
2.2 Machine Learning (ML)
2.2.1 Statistical goal learning
2.2.2 Computational Learning theory
2.3 Mathematical Programming (MP)
2.3.1 MP formalism
2.3.2 MP solvers
3 BR programs 
3.1 Turing-Completeness of BR programs
3.1.1 Turing-Completeness
3.1.2 Basic Turing-completeness Proof
3.2 Constructive proof and resulting Operational Semantics
3.2.1 BR form of WHILE programs
3.2.2 WHILE form of BR programs
3.2.3 A Structural Operational Semantics for BR programs
3.3 Learnability of the statistical goal learning problem
3.3.1 PAC-Learnability
3.3.2 Complete unlearnability
4 MP based algorithm 
4.1 General Iteration Bounded BR programs
4.1.1 IBBR programs in two BR languages
4.1.2 Complexity of IBBR programs
4.1.3 Declarative form of an IBBR programs
4.2 A learning algorithm: MP
4.3 Linear Iteration Bounded BR programs
4.3.1 Linear BR programs
4.3.2 Example: Decision Trees
4.4 An algorithm for LIBBR programs
4.4.1 A learning algorithm: MIP
4.4.2 A learning algorithm: MILP
4.5 Theoretical complexity
5 General statistical goal learning 
5.1 Learning quantized distributions
5.2 Upper bound on a specific output value’s probability
5.3 Almost uniform distribution
6 Experimental work 
6.1 Parsing ODM
6.2 Experimental data on learning LIBBR
6.2.1 Experimental setup
6.2.2 Validating the learning algorithm
6.2.3 Testing performance
6.2.4 Testing other statistical goal learning problems
7 Discussion 
7.1 A formal study of BRs
7.2 New learning algorithms
7.3 Industrial applications
7.4 Conclusion
A Complete proof of some theorems
A.1 Complete proof of Theorem 4.8
A.2 Complete proof of Theorem 4.9
A.3 Complete proof of Theorem 4.10

GET THE COMPLETE PROJECT

Related Posts