In mid 60s, the General-purpose Problem Solver (GPS) was developed in attempt to apply human intelligence into programs to solves problems. However, it was not successful. Untill late 70s, expert systems were successfully developed and scientists realized that knowledge is the primary driving force for computer programs to solve problems.
Expert System (ES), also called Knowledge-based system (KBS), is one of the categories of Artificial Intelligence (AI). Expert Systems are application systems that imitate people's way of thinking in problem solving by using human or expert knowledge as a rule in making decision. Expert Systems are different from normal application programs. While normal application programs generally come up with a solution by doing algorithmic calculations, expert systems solve problems by reasoning.
There are two main parts in an expert system:
1.The knowledge base.
Like human brains, both factual knowledge and heuristic knowledge are included in a knowledge base of an expert system. Factual knowledge is the general knowledge from textbooks that everyone agrees on. In opposite, heuristic knowledge is not from textbooks; it is come from one's experience. It can be seen as the knowledge of judgment and logical reasoning based on factual knowledge.
2.The inference or reasoning engine.
This part of the expert system is the brain of an expert system, it uses knowledge in the knowledge base to perform reasoning in order to solve problem. An IF-THEN rule is used for reasoning in an expert system. That is, if the condition in the if-clause is met, then the conclusion in the then-clause can be made. There are two methods in problem solving. The first one is backward chaining (goal-directed reasoning), such that the goal or the conclusion is known and the expert system has to reason backwards on how the conclusion is made. The second one is forward chaining (data-driven reasoning), such that the expert system uses given facts and conditions to go forward and come up with a conclusion.
Since there is knowledge that is uncertain, expert systems also perform reasoning with uncertainty, which is the rule to use process reasoning by using uncertain knowledge and data. One of the examples of reasoning with uncertainty is the fuzzy logic.
Expert systems are developed in AI languages such as LISP or PROLOG. It is easier to build an expert system by using shells, such that experts only have to enter necessary knowledge of a certain task into a shell with built-in inference code in stead of programming everything from scratch. However, one should know that knowledge is the most critical thing in any expert system. So, the most important concern in developing expert systems is to accumulate high-quality knowledge.
Disadvantages of an expert system:
Advantages of an expert system: