The key components of an expert system are the knowledge base, the inference system, the data base, and the user interface.
The knowledge base is the heart of an expert system, and there are many different methods for representing knowledge in AI software. The designer can choose among predicate calculus, lists, frames, semantic networks, scripts, and production rules. On the other hand, it has been determined through considerable experience that one of the best methods of knowledge representation for expert systems is production rules. Most commercial and experimental expert systems use the popular IF-THEN rule format.
Production Rules are popular because their format is extremely flexible. Almost any kind of knowledge can be written to fit the IF-THEN rule format. Such rules are generally easy to write, and it is relatively easy to build an impressive knowledge base quickly.
Another important part of an expert system is the database. It is sometimes called a global database because it contains a broad range of information about the current status of the problem being solved. The database is a portion of the working memory where the current status of the problem-solving process is stored.
It is also referred to as the fact base because it records facts about the problem. Knowledge facts are stored there initially. Then new facts as they are gleaned from the inference process, are added. The fact base keeps track of all that is known during the inferencing operations.
Among the important things stored in the database are the initial conditions of the problem to be solved. Usually the expert system asks the user for some beginning input. It may ask questions for which answers must be typed in, or it may present a menu of options from which the user must choose. This information gives the expert system a starting point to begin the search process.
The inference engine begins its search, matching the rules in the knowledge base against the information in the data base. As each rule is examined, actions caused when a rule fires may change the content of the database, thereby updating the status of the problem. New facts become available to use in the decision-making process. In addition, special functions such as a request for additional information from the user, may be triggered,
The database also stores a list of rules that have been examined, fired and in what sequence. This helps to keep track of the process. The rule sequence can be given later if the user requires an explanation of the reasoning process.
The function of the inference engine is hypothesis proving. When the hypothesis is given to the expert system, the inference engine first checks to see if the hypothesis is stored in the database. If it is, the hypothesis is considered to be a proven fact, and no further operation is necessary. Usually the hypothesis is not there and must be proven by inferencing. As the various rules are fired, new facts are derived and ultimately the hypothesis is either proved or disproved.
User Interface is the remaining of the expert system, which is a piece of software that lets the user communicate with the system. The user interface asks questions or presents menu choices for entering initial information in the database. It provides a means of communicating the answer or solution once it has been found. Any intermediate communication during the problem-solving process are taken care of by the user interface.