Components of Expert Systems

The structure of an expert system varies slightly depending on the application field and problem type, but generally, the typical structure of an expert system is shown in the figure below:

Components of Expert Systems

Alright, let me describe the structure of an expert system.

An expert system typically consists of the following components:

  • Knowledge Base: The knowledge base is the core of the expert system, containing the expert knowledge and experience from a specific domain. The knowledge base can be represented in various forms, such as rule bases, frame bases, case bases, etc.
  • Inference Engine: The inference engine is the “brain” of the expert system, responsible for diagnosing, analyzing, and solving problems based on the knowledge and rules in the knowledge base. The inference engine can employ various reasoning methods, such as forward reasoning, backward reasoning, and fuzzy reasoning.
  • Human-Machine Interface: The human-machine interface is responsible for interacting with users, accepting user inputs, and delivering the expert system’s outputs back to the user. The human-machine interface can take various forms, such as graphical user interfaces or command-line interfaces.
  • Interpreter: The interpreter is responsible for explaining the reasoning process of the expert system, helping users understand how problems are solved. The interpreter can use various explanation methods, such as natural language explanations or graphical explanations.

The structure of an expert system can be adjusted based on different needs. For example, an expert system that needs to handle uncertain knowledge can add a fuzzy reasoning module; an expert system that needs to process large amounts of data can add a database module, etc.

  1. Knowledge Base: The knowledge base of the expert system is used to store the domain knowledge needed to solve actual problems. This includes factual knowledge and heuristic knowledge, where the former consists of publicly defined or previously occurred specific events, and the latter is a summary of experiences gained by domain experts over time. The representation and organizational structure of the knowledge base need to be concise and accurate so that the inference engine can utilize it effectively.

  2. Comprehensive Database: The comprehensive database is the working memory used by the expert system to store various information during the reasoning process. It includes the initial state description of the problem, intermediate results, records of the solving process, and other dynamic information. In contrast to the knowledge base, the content of the comprehensive database is continuously changing during system operation.

  3. Inference Engine: The inference engine is the core of the expert system, responsible for controlling system operations, executing various tasks, and searching and reasoning based on the knowledge base. The inference engine includes reasoning mechanisms and control strategies, supporting multiple reasoning methods like forward reasoning, backward reasoning, and bidirectional reasoning. The design and implementation of the inference engine depend on the nature of the domain problems and the representation methods of knowledge.

  4. Knowledge Acquisition: The knowledge acquisition module is responsible for editing and refining knowledge, converting the experiences of domain experts or knowledge from books into the internal form required by the system, and continuously modifying and supplementing the knowledge base through self-learning functions. This helps the system adapt and improve performance.

  5. Explanation Program: The explanation program serves users, answering various questions posed by users and explaining the system’s reasoning process in a way that is easy for users to understand. The explanation program connects the data and knowledge used during the reasoning process, presenting the reasoning chain to users to enhance their understanding of the dynamic execution of the system.

  6. Human-Machine Interface: The human-machine interface includes the interface with users and the interface with domain experts and knowledge engineers. The user interface handles user commands and questions, initiating the problem-solving process of the system through the interpretation and analysis of user input. The interface with domain experts and knowledge engineers accepts their knowledge input, allowing them to understand the system’s performance and provide feedback to improve the system’s capabilities.

The problem-solving process of an expert system primarily includes searching the knowledge base based on user questions, forming pathways to solve the problems, ranking possible hypothesis solutions, selecting the optimal solution, and solving specific problems. This process repeats until the problem is solved or the system declares that it cannot solve the problem.

Key Points

Components of Expert Systems

1. Knowledge Base: The knowledge base of the expert system is used to store the domain knowledge required to solve practical problems.

2. Comprehensive Database: The comprehensive database is the working memory used by the expert system to store various information needed and generated during reasoning, typically including initial state descriptions of problems, intermediate results, records of the solving process, and answers to user inquiries. Therefore, the comprehensive database is also called a dynamic knowledge base, and its content continuously changes during system operation.

3. Inference Engine: The inference engine, together with the knowledge base, constitutes the core of the expert system.

4. Knowledge Acquisition: The knowledge acquisition module has two main functions: knowledge editing and refinement, and self-learning of knowledge.

5. Explanation Program: The explanation program is user-oriented, responsible for answering various questions posed by users.

6. Human-Machine Interface: The human-machine interface typically includes two parts: one part is the interface between the expert system and the user; the other part is the interface between the expert system and domain experts and knowledge engineers.

Classification of Knowledge in the Knowledge Base

One type is factual knowledge; the other type is heuristic knowledge.

Factual knowledge, although relatively easy to obtain, is indispensable when solving problems.

Heuristic knowledge is a summary of experiences gained by domain experts over time, generally less systematic, harder to understand, and narrower in applicability, but it is very effective in problem-solving, enabling the expert system’s decisions to reach an expert level in the domain.

Functions of the Knowledge Base

The knowledge base must have management functions such as knowledge storage, retrieval, sorting, addition, deletion, and modification.

Reasoning Methods in Expert Systems

Three common reasoning methods in expert systems are: forward reasoning or data-driven reasoning, backward reasoning or goal-driven reasoning, and bidirectional reasoning or hybrid reasoning.

Forward reasoning, also known as data-driven strategy, infers conclusions from conditions.

Forward reasoning is suitable for problems with large goal solution spaces.

Backward reasoning, also known as goal-driven strategy, assumes the conclusion is correct and then verifies whether the conditions are met; if all conditions are satisfied, the conclusion is proven correct; otherwise, another hypothesis is used to infer the conclusion.

Backward reasoning is suitable for problems with smaller solution spaces.

Bidirectional reasoning conducts both forward and backward reasoning simultaneously, aiming to achieve a consistency state between the two processes at some point to obtain the solution to the problem.

Steps to Solve Domain Problems

(1) Search the knowledge base based on the user’s question to find relevant knowledge.

(2) Formulate a pathway to solve the problem based on the relevant knowledge and the system’s control strategy, i.e., a sequence of knowledge operation operators, thus constituting a set of hypotheses.

(3) Rank a group of possible hypothesis solutions for solving the problem and select the optimal hypothesis solution based on certain criteria.

(4) Solve the specific problem based on the selected solution.

(5) If the solution does not actually resolve the problem, backtrack to the next hypothesis solution in the hypothesis sequence and repeat the problem-solving process.

(6) The above process continues until the problem is solved or all solution options declare that the problem is unsolvable by the system.

Leave a Comment