Expert Systems

Expert system, a computer program that uses artificial-intelligence methods to solve problems within a specialized domain that ordinarily requires human expertise.

The first expert system was developed in 1965 by Edward Feigenbaum and Joshua Lederberg of Stanford University in California, U.S. Dendral, as their expert system was later known, was designed to analyze chemical compounds. Expert systems now have commercial applications in fields as diverse as medical diagnosis, petroleum engineering, and financial investing.

In order to accomplish feats of apparent intelligence, an expert system relies on two components: a knowledge base and an inference engine. A knowledge base is an organized collection of facts about the system's domain. An inference engine interprets and evaluates the facts in the knowledge base in order to provide an answer. Typical tasks for expert systems involve classification, diagnosis, monitoring, design, scheduling, and planning for specialized endeavours.

Facts for a knowledge base must be acquired from human experts through interviews and observations. This knowledge is then usually represented in the form of if-then rules (production rules): If some condition is true, then the following inference can be made (or some action taken). The knowledge base of a major expert system includes thousands of rules. A probability factor is often attached to the conclusion of each production rule and to the ultimate recommendation, because the conclusion is not a certainty. For example, a system for the diagnosis of eye diseases might indicate, based on information supplied to it, a 90 percent probability that a person has glaucoma, and it might also list conclusions with lower probabilities. An expert system may display the sequence of rules through which it arrived at its conclusion; tracing this flow helps the user to appraise the credibility of its recommendation and is useful as a learning tool for students.

Human experts frequently employ heuristic rules, or rules of thumb, in addition to simple production rules, such as those gleaned from engineering handbooks. Thus, a credit manager might know that an applicant with a poor credit history, but a clean record since acquiring a new job, might actually be a good credit risk. Expert systems have incorporated such heuristic rules and increasingly have the ability to learn from experience. Expert systems remain aids to, rather than replacements for, human experts.

How does an expert system work?

Modern expert knowledge systems use machine learning and artificial intelligence to simulate the behavior or judgment of domain experts. These systems can improve their performance over time as they gain more experience, just as humans do.

Expert systems accumulate experience and facts in a knowledge base and integrate them with an inference or rules engine -- a set of rules for applying the knowledge base to situations provided to the program.

The inference engine uses one of two methods for acquiring information from the knowledge base:

An expert system relies on having a good knowledge base. Experts add information to the knowledge base, and nonexperts use the system to solve complex problems that would usually require a human expert.

The process of building and maintaining an expert system is called knowledge engineering. Knowledge engineers ensure that expert systems have all the necessary information to solve a problem. They use various knowledge representation methodologies, such as symbolic patterns, to do this. The system's capabilities can be enhanced by expanding the knowledge base or creating new sets of rules.

What are the components of an expert system?

There are three main components of an expert system:

The knowledge base
This is where the information the expert system draws upon is stored. Human experts provide facts about the expert system's particular domain or subject area are provided that are organized in the knowledge base. The knowledge base often contains a knowledge acquisition module that enables the system to gather knowledge from external sources and store it in the knowledge base.
The inference engine
This part of the system pulls relevant information from the knowledge base to solve a user's problem. It is a rules-based system that maps known information from the knowledge base to a set of rules and makes decisions based on those inputs. Inference engines often include an explanation module that shows users how the system came to its conclusion.
The user interface
This is the part of the expert system that end users interact with to get an answer to their question or problem.

Applications of expert systems*

Examples of expert systems

Expert systems that are in use include the following examples:

Advantages of expert systems*

Challenges of expert systems*