Rule-Based Systems

Anshul Jain

22 Apr 2020

Introduction to Rule Based Systems:

In the past few years, technology has experienced a drastic change. Be it in the field of computer science (CS) or artificial intelligence (AI), new, more advanced research and inventions have given way machines that deliver excellence and help us imitate human knowledge. However, these new inventions are a result of numerous technologies that work behind the scenes and enable them to deliver services that are on par with us humans. Rule-Based Expert System is one such technology, which is being used extensively across sectors to develop artificial intelligence applications and systems.

Therefore, today, we will explore the concept of the rule-based system (RBS) and try to understand its role in research and development.

What are Rule-Based Systems (RBS)?

Present in the heart of automated processes, Rule-Based System technology helps develop knowledge-based systems and applications, that is, intelligent programs and software capable of providing specialized problem-solving expertise in a specific subject by utilizing domain-specific knowledge. In rule-based systems, knowledge is encoded in the form of facts, goals, and rules and is used to evaluate and manipulate data.

These are, in short, computer systems that use rules to perform a variety of tasks like diagnoses, solve a problem, interpretation, or to determine a course of action in a particular situation. Moreover, these are applied to systems involving human-crafted or curated rule nodes and can be used to perform lexical analysis to compile or interpret computer programs, or in natural language processing.

The rule-based expert systems consist of three important elements:

  • Set of Facts: These are assertions or anything relevant to the beginning state of the system.
  • Set of Rules: It contains all actions that should be taken within the scope of a problem and specify how to act on the assertion set. Here, facts are represented in an IF-THEN form.
  • Termination Criteria or Interpreter: Determines whether a solution exists or not, as well as when to terminate the process.

Rule-Based System Example:

A domain-specific expert system that uses rules to make deductions or narrow down choices is one of the most popular as well as the classic example of rule-based systems. Furthermore, recent advancement in technology has given way to the development of modern machines and systems like:

  • IKEA Virtual Assistant.
  • Diagnostics Oriented Rockwell Intelligence System (DORIS).
  • Machine for Intelligent Diagnosis (MIND).

Features of Rule-Based Systems:

Widely used in Artificial Intelligence, Rule-Based Expert System is not just only responsible for modeling intelligent behavior in machines and building expert system that outperform human expert(s) but also helps:

  • Composed of combined knowledge of human experts in the problem domain.
  • Represent knowledge in a highly declarative way.
  • Enables the use of several different knowledge representations paradigms.
  • Supports implementation of non-deterministic search and control strategies.
  • It helps describe fragmentary, ill-structured, heuristic, judgemental knowledge.
  • It is robust and can operate with uncertain or incomplete knowledge.
  • Helps with rule-based decision making examples monitoring, control, diagnostics, service, etc.

Components of Rule-Based Systems:

The rule-based expert system architecture is an amalgamation of four (4) important components that are focused on different aspects of the problem in hand. From assessing the information to helping machines reach the goal state, these components are integral for the smooth functioning of rule-based systems. These are:

  • Rule Base: This is a list of rules that is specific to a type of knowledge base, which can be rule-based vs. model-based, etc.
  • Semantic Reasoner: Also known as the inference engine, it infers information or takes necessary actions based on input and the rule base in the knowledge base. Semantic reasoner involves a match-resolve-act cycle, wherein:
    • Match: A section of the production rule system is matched with the contents of the working memory to obtain a conflict, which consists of various instances of the satisfied productions.
    • Conflict-Resolution: When the production system is matched, one of the production instances in the conflict is chosen for execution, to determine the progress of the process.
    • Act: Finally, the production instance executed in the above phase is executed, which impacts the contents of the working memory.
  • Working Memory: Stores temporary information or data.
  • User Interface: It is the connection to the outside world, input and output signals are sent and received.

Now that we have covered the basics of Rule-Based systems, let us try and answer “What is rule-based approach?”.

Construction of Rule-Based Systems:

Before we move on to discuss the types of rule-based systems, we need to understand its construction, as it plays a crucial role in how the system evaluated the information. The construction of rule-based systems is based on a specific type of logic, such as Boolean logic, fuzzy logic, and probabilistic logic and is categorized into:

  • Knowledge-Based Approach: It is a knowledge-based construction that follows a traditional engineering approach, which is domain-independent. Here, it is important to acquire requirements as well as necessary knowledge before identifying the relationships between attributes.
  • Data-Based Approach: This data-based construction follows a machine learning approach, which, like the earlier approach, is domain-independent. This rule-based approach is subdivided into:
    • Supervised Learning.
    • Unsupervised Learning.

Types of Rule-Based Systems:

Like expert systems, rule-based systems can also be categorized into:

  • Forward Chaining: Also known as data-driven reasoning, forward chaining is a data-driven technique that follows a deductive approach to reach a conclusion.
  • Backward Chaining: Often used in formulating plans, backward chaining is an alternative to forward chaining. It is a goal-driven technique that follows an inductive approach or associative reasoning.

Advantages of Rule-Based Systems:

Being one of the core technologies responsible for making machines capable of rule-based learning, rule-based systems offer a range of advantages like:

  • Rule-based programming is easy to understand.
  • It can be built to represent expert judgment in simple or complicated subjects.
  • The cause-and-effect in Rule-Based Systems is transparent.
  • It offers flexibility and an adequate mechanism to model several basic mental processes into machines.
  • Mechanizes the reasoning process.

Disadvantages of Rule-Based Systems:

Though exceptionally beneficial, rule-based systems have certain drawbacks associated with them, such as:

  • They require deep domain knowledge and manual work.
  • Generating rules for a complex system is quite challenging and time-consuming.
  • It has less learning capacity, as it generates results based on the rules.

Difference Between Rule Based System and Machine Learning:

Machine learning is among the few techniques of artificial intelligence that is time and again compared with Rule-Based Systems to comprehend their uniqueness. Hence, a discussion on the latter cannot be complete without a comparison between Rule-Based Systems and Machine Learning:

Rule-Based Systems

  • It is a simplified form of Artificial Intelligence.
  • It is based on Facts and Rules.
  • Labor intensive and hard to implement.
  • Deliver excellent performance within a narrow domain.
  • Limited to human coded information.

Machine Learning

  • Machine Learning is an application of Artificial Intelligence.
  • It is based on models.
  • Easy to implement and use.
  • It helps deliver more accurate results.
  • It effortlessly deals with complex and excessive data.


One of the first most successful AI approaches, Rule-Based Systems, is paving the way to the development of large and complex applications, with limited efforts. These systems are helping programmers as well as machines to tackle problems with numerous pattern nodes and solve tasks at a higher level of abstraction using human-like thinking and reasoning capabilities. Even though it offers a few limitations, there is no doubt with the ever-evolving technology it too will evolve to be more flexible, effective, and suitable.