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:

  1. Knowledge base – domain-specific problem solving knowledge
  2. Facts – what we know at any time about the problem that we are working on
  3. Rules – atomic relationships between the facts
  4. 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:

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.

  1. 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.

<< Back Next >>