The Inference Approach to Business Rules Modelling
The inference1 approach to business rules modelling is drawn from knowledge engineering theory. A program that uses the inference approach to modelling business rules is known as an expert system.
An expert system contains knowledge derived from an expert in some domain. This knowledge is used to help individuals using the expert system solve some problem in that domain. An expert system whose knowledge is expressed in rule form is called a rule-based system.
An expert system has the following components:
- Knowledge base – domain-specific problem solving knowledge
- Facts – what we know at any time about the problem that we are working on
- Rules – atomic relationships between the facts
- Inference Engine – applies the knowledge in the knowledge base to problem solving
An expert system employs an inference engine to use information in the knowledge base to deduce a conclusion when given some facts. It is an algorithm (or series of steps) used to solve a problem. A knowledge base is a collection of information stored in a structured fashion.
The inference approach to business rules modelling involves atomic rules (rules that cannot be broken down any further) and an inference algorithm that determines, from known facts, which of the atomic rules should be applied, and in what order, to determine a new fact or facts. This algorithm does not need a human to directly express the steps required to determine those facts. The rules are in the form IF <some conditions> THEN <some consequences>.
Inference in a rule-based system involves:
- Selection of rule candidates that can be used to solve a particular problem
- Choice of one rule to execute at each step in the process of deducing a conclusion
- Deduction of a conclusion
Inference is achieved using a forward-chaining algorithm or a backward-chaining algorithm. A backward-chaining algorithm works backward from a conclusion to be proved to determine if there are known facts that can be used to prove the truth of the conclusions. A forward-chaining algorithm works from the initial facts to infer the conclusion (i.e. concluding fact). A commonly used forward-chaining algorithm is the RETE algorithm.
- To clarify, we do not intend the term ‘inference’ to imply all possible algorithms that provides an answer. We specifically intend the term `inference’ to exclude algorithms that are comprised entirely of formally declared logic.
