Rule-based systems have roots in AI

The broad field of artificial intelligence (AI) calls for computers to do tasks that require human intelligence. AI marries the computing field with disciplines like cognitive psychology, philosophy, logic, linguistics and even neurophysiology. There are different constructs and mechanisms, such as rules, to represent the way our minds work. One AI application type is the expert system, or knowledge-based system.

Most commercial expert systems are rule-based systems, which capture the knowledge and reasoning of a human expert and stores it in the form of rules. A rule-based system is composed of a knowledge or rules base, an inference engine and a set of case-specific data. (See Fig. 2.) A rule in one of these systems normally consists of 'if then else' conditions on the left side and actions on right side of the statement, such as "If x is book and x is listed on New York Times bestseller then cost is discounted." Each rule consists of a premise (x is a book and x is listed on New York Times bestseller) and a conclusion (book is discounted).

Fig. 2: Expert systems

Most expert systems are rule-based systems which are composed of a knowledge base, an inference engine and a set of case-specific data.
Source: EBG Consulting Inc.


The rule language is typically declarative (non-procedural) -- without implied order or flow of control, as the actual processing of the rules is performed by a separate component, the inference engine. The inference engine uses optimized algorithms such as RETE or TREAT to evaluate the conditions of the rules in the rules base, determine which ones are eligible to fire at any point in time, and in cases where there are multiple rules eligible to fire, it determines the order of firing

Rule-based systems emerged in the early 1970s and have become widespread since commercial products became available in the 1980s. In addition, points out Margaret Thorpe of Tangram, a Washington, D.C. consultancy, a number of the techniques used for efficient rule processing of active databases (ones that support general integrity constraints and triggers) originated in early AI rule-based systems.

Rule-based systems use two techniques, forward chaining and backward chaining.

Forward chaining, or data driven reasoning, draws new conclusions from existing data, adding these conclusions to working memory. This approach is most useful when all the initial facts are known, and users want to find out what new facts are true.

Backward chaining, or goal-driven reasoning, is effective when you know what the conclusion might be, or have a specific hypothesis to test. You are seeking the truth value of that goal or hypothesis.

-- Ellen Gottesdiener