A brief history and technical review of the expert system research

The expert system is a computer system that emulates the decision-making ability of a human expert, which aims to solve complex problems by reasoning knowledge. It is an important branch of artificial intelligence. In this paper, firstly, we briefly introduce the development and basic structure of the expert system. Then, from the perspective of the enabling technology, we classify the current expert systems and elaborate four expert systems: The Rule-Based Expert System, the Framework-Based Expert System, the Fuzzy Logic-Based Expert System and the Expert System Based on Neural Network.


Introduction
The expert system is a computer system that emulates the decision-making ability of a human expert, which aims to solve complex problems by reasoning knowledge. In 1959, Newell, Shaw and Simon developed the General Problem Solver (GPS) [1], which is a summary of the thinking activity for people to solve problems. They found that when people solving problems, the thinking activities include three steps: 1. developing a rough plan; 2. according to the memory of the axiom, theorem and problemsolving plan, solving the problem according to plan; 3. in the implementation of the problem-solving process, constantly analyzing the method and purpose, and revising the plan.
In 1965, according to the requirements of the National Aeronautics and Space Administration, the Stanford University successfully developed the DENDRAL system [2]. By the pre-entered rule of thumb, the DENDRAL system can automatically generate molecular structures that can interpret spectral data. The program is a first successful program that uses the knowledge of the problem itself rather than the complex search technology. The DENDRAL guides artificial intelligence researchers to realize that the intelligent behavior relies not only on interference methods but also on the knowledge used in their interference. Researchers begin to build the program that uses the rules of the code to represent the knowledge to solve the input problem.
Since then, MIT has developed the MACSYMA system [3], as a mathematician's assistant, which uses heuristics to transform algebraic expressions. After continuous expansion, it can solve more than 600 kinds of mathematical problems, including calculus, matrix operation, solving equation, etc. The successful development of these systems makes the expert system widely concerned by academia and engineering. Many researchers in the process of developing expert systems have realized that knowledge representation, knowledge utilization and knowledge acquisition are three basic issues of artificial intelligence systems.
In the late 1980s, the Framework-Based Expert System began to enter people's vision. Because of its higher ability to represent descriptive and behavioral object information, a Framework-Based Expert System could handle more complex problems than the Rule-Based Expert System. At the same time, the study of the expert system encountered difficulties, exposing the defects of artificial intelligence systems, such as narrow application areas, knowledge acquisition difficulties, reasoning mechanism and so on. Researchers need to get rid of the dilemma by exploring the basic point of view and the use of new techniques and theories.
With the rising of neural network and statistical learning, machine learning has become a new research hotspot in artificial intelligence. Naturally, people thought that if the machine learning technology applied to the expert system, the reasoning performance of the expert system would be promoted. The fuzzy logic, as another new area, was the same applied to the expert system. Now, all kinds of different expert system blossom, expert system research has entered a new period of prosperity. Today, the demand for expert systems is further enhanced, and people are eager to use expert system to solve more complex problems.

The Basic Structure of the Expert System
The basic structure of an expert system consists of the following parts: knowledge base, working memory, reasoning machine, interpreter and human-computer interaction interface. The knowledge base is used to store expert system expertise, including facts and rules. In the process of building a knowledge base, the knowledge base should be able to acquire new knowledge, expressing and storing knowledge in a way that the computer can accomplish. The working memory is responsible for storing the input fact. The reasoning machine matches the facts in the working memory with the knowledge and gets new information. The intermediate information obtained during processing should also be stored in a storage unit. The interpreter is responsible for interpreting the results of the inference engine output, including explaining the correctness and reason of the conclusion.

The Classification of the Expert System
According to the working principle, the expert system can be sorted into four classes: the Rule-Based Expert System, the Frame-Based Expert System, the Fuzzy Logic-Based Expert System and the Expert System Based on Neural Network. This section will briefly introduce the model structure of these four expert systems.

The Rule-Based Expert System
The Rule-Based Expert System is the earliest type of expert systems and the most common way for researchers to build expert system. The expert system, which is completed by production rules, has been integrated into various research areas to help researchers solve all kinds of problems with pre-input knowledge.
The structure of the expert system is usually composed of three parts, including production rule, database and control strategy. Production rule is a "conditional + result" structure of the statement. For example, the condition: "if a species is a dinosaur", the result: "then the species is a reptile". If the condition in the statement is met, the result of the rule can be executed.
The database is responsible for storing the conditions and results in the production rule statement. When the production rule is executed, the corresponding condition is called from the database and the rule result is put into the database as a condition for other rules.
The role of the control strategy is to explain how to apply the rules, that is, in the process of solving the problem to select the appropriate rules. The process from selecting rules to performing operations is usually the case that a problem contains several conditions, looking for matching conditions from the database, and finding the rules for the corresponding conditions. When more than one condition is matched, you need to sort the strategy to decide which rule to use first. After the rule is selected, the operation (result) section of the rule is executed. The operation of the control strategy is usually performed in a module ("inference engine"). The inference process of the inference engine can be divided into both forward and reverse.
The Rule-based Expert System has many advantages. Using the "condition -outcome" statement to express knowledge rules is very natural for humans. At the same time, in the Rule-based Expert System, knowledge and reasoning are stored and processed separately, in line with people's daily habits. However, some shortcomings also hindered the further development of such expert system. For example, when a rule matches a condition, the expression of the statement must be written strictly in accordance with the statement in the database, even if the relative subtle differences are rejected because of the matching accuracy requirements. In addition, the speed of the Rule-based Expert System is not dominant compared to other types of expert systems, since the entire rule set in the database needs to be scanned when a rule is used.

The Framework-Based Expert System
In 1975, Minsky proposed a data structure that encodes a concept-related information and calls this data structure as "frame" [4]. The framework contains the name of the concept, the label slot of the main attribute/feature, and the possible values of each attribute, or the process of capturing procedural information about the concept. When a particular instance of the concept is encountered, the relevant eigenvalue of the instance is entered into the framework, which is called the instance.
The framework can be used for reasoning. The framework contains multi-aspect information of a concept that can be used even if the information itself is not observed. For example, whether or not we can see the roots, because the "tree" contains the "root" of the label, so we can think that the tree has root.
When looking for a framework to describe the current instance, it will often fail to match the situation. Specific examples will correspond to some frame fragments that used to match the candidate frames. The framework is usually used when most of the structure of a frame can be matched, since each frame contains information that can allow mismatches of attributes (features) to increase the fault tolerance of the frame. In addition, we can also save the framework of the search process to optimize the direction of the test until we find the most appropriate framework.
The Framework-Based Expert System uses the framework in the database to handle the specific issues of the input and output new information through the inference engine. A framework represents a concept of "class", and a framework may be a "subclass" of another framework, such as the "man" framework is a subset of the "human" framework. Some subclass-and-class relationships are semantic types, such as "I am" + "New York", "New Jersey", "Los Angeles".
The subclass framework inherits all the properties of its parent class framework, eliminating the need to reenter the properties of the process. However, we should pay attention to some special circumstances: some subclasses and their father class may be in a common property differences. When a frame belongs to multiple frames at the same time, it also inherits the properties of all these frames.

The Fuzzy Logic-Based Expert System
In 1965, American mathematician L. Zadeh first proposed the concept of fuzzy set, marking the birth of fuzzy mathematics [5]. Fuzziness refers to the indiscriminate nature of objective things or attributes, and there is a series of transitional states between them, without obvious dividing line. The fuzzy theory allows people to use mathematical tools to deal with the non-precise phenomenon in the real world.
In the Fuzzy Logic-Based Expert System, the fuzzy logic is the basis of expert system reasoning. This kind of reasoning method uses fuzzy rule as a prerequisite, and uses fuzzy language rule to deduce an approximate fuzzy judgment conclusion. The fuzzy language rules include the Generalized Modus Ponens (GMP) and the Generalized Modus Tollens (GMT).
The GMP rule can be expressed as: Prerequisite 1: x is A '. Precondition 2: If x is A, then y is B. Conclusion: y is B '. The GMT rule can be expressed as: premise 1: y is B, premise 2: If x is A, then y is B, Conclusion: x is A'. A, A', B, and B' in the above formula are fuzzy sets, and x and y are linguistic variables. The fuzzy function A → B is considered as a "if -then" statement, forming a fuzzy reasoning rule.
The result of fuzzy reasoning is a fuzzy set, but in practical, a certain output value is required. The fuzzy decision is the process of obtaining a single value representing a fuzzy set. The simplest method is the maximum membership method, which takes the maximum value of membership in all fuzzy sets as output.
The advantage of the Fuzzy Logic-Based Expert System is that it can express the high skill of expert skills and has enough robustness, and can also carry out heuristic and tentative reasoning. However, this kind of expert system has difficulty in obtaining knowledge and its reasoning depends on fuzzy knowledge base, learning ability is not strong, prone to error.

The Expert System Based on Neural Network
The neural network model is fundamentally different from the logical system described above. In the neural network, knowledge is no longer transformed into explicit rules by manual processing, but is automatically acquired by the learning algorithm and produces its own implicit rules. Compared with the traditional expert system, the neural network has more powerful function: it is more efficient than the traditional serial operation; it has a certain degree of fault tolerance; the weight of the neural network connection can be changed, etc.
The neural network acquires knowledge automatically through learning instances. Experts provide examples and expectations of the solution, neural network learning algorithm constantly modify the weight distribution of the network, achieving a stable output after training. Since the input and output of the neural network are numerical, it is necessary to encode the instance when using the neural network to acquire the knowledge.
The Expert System Based on Neural Network also has inherent weaknesses: the system performance is limited by the training sample set. In the case of improper sample set selection or too little sample, the neural network's induction reasoning ability is very poor. In addition, the neural network is unable to explain its own reasoning process and the significance of storing knowledge, because its model is based on human superficial neural activity.
At present, the most commonly used neural network model includes BP model, ART, CMAC, SOM and so on. Different models can be applied to specific requirements of the expert system.

Conclusions
After decades of efforts, people have gradually developed a variety of expert systems based different principles. From the Rule-Based Expert System to the Expert System Based on Neural Network, each generation of expert systems has its own advantages. Based on the rules, the framework of the expert system, although subject to their own technical constraints, but because of their relatively easy encoding, the two types of expert systems is still useful in dealing with relatively simple problems. The Fuzzy Logic-Based Expert System can reflect the fuzzy phenomenon in reality, imitating the process of human inexact reasoning to complete its work, playing a very important role in many fields. The Expert System Based on Neural Network uses neural network to further improve their ability and expand the scope to acquire knowledge, and uses large-scale parallel processing to improve the system reasoning ability. Of course, how to make the neural network to explain the process of their own reasoning is still one of the difficulties, but this does not affect such experts in the field to show their talents. In the future, with the further development of neural network technology, we can expect a more powerful expert system based on this technology. At the same time, we also look forward to the emergence of new technologies in the expert system.