Expert systems are artificial intelligence (AI) tools that capture the expertise of knowledge workers and provide advice to (usually) non-experts in a given domain. Expert systems use computer programs that contain a knowledge database for a particular area along with an inference mechanism—usually a set of rules of deduction—that enables the program to solve problems that would normally be handled by humans. The outcome of expert system calculations are recommendations of one or more courses of action.
KNOWLEDGE REPRESENTATION SYSTEMS
Expert systems, also known as knowledge representation systems, utilize computerized models that capture the knowledge of one or more subject matter experts (SMEs) and store it in the framework that is most appropriately suited to the reasoning processes that the SMEs use in their problem-solving behavior. Such systems are created by a specialized systems analyst called a knowledge engineer, whose task is to interview the expert and/or observe his problem-solving behavior, then determine the most appropriate form(s) of knowledge representation to model the expert's problem-solving techniques. This process, called knowledge acquisition, is perhaps the most difficult and time-consuming aspect of expert systems development. It requires both technical and people skills on the part of the knowledge engineer, who must establish rapport with the domain expert, maintain a productive relationship during the interviewing process, and recognize the required mapping from the expert's explanations to the appropriate knowledge representation. The knowledge engineer then encodes the expert's knowledge into a knowledge base, which is a repository of the expert's knowledge in a particular representational structure. Some of the most common knowledge representations are described below.
In addition to the knowledge base, an expert system includes an automated reasoning mechanism called an inference engine that performs calculations and/or logical processes to produce the results of a particular problem-solving session. The explanation facility of an expert system provides the user with an explanation of the reasoning process that was used to achieve the conclusion or recommendation. Each knowledge representation has a corresponding inference technique. Three very common knowledge representations are rule-based systems, frame-based systems, and case-based systems.
UNCERTAINTY IN ARTIFICIAL INTELLIGENCE
The types of problems that AI systems try to solve are often fraught with uncertainties. Sometimes SMEs are uncertain
about the conclusions they may draw based on the facts that are presented to them. In addition, the facts themselves may not be clear-cut; they may be in error, incomplete, or ambiguous. Thus, AI systems must have the ability to reason and draw some inference even in the face of such uncertainties. AI systems do this in many ways. Two common approaches are described below.
Rules with Confidence Factors. This approach to uncertainty combines probability with logic. It enhances rule-based systems with probability-like numbers that represent the confidence in either a fact or an inferred conclusion. For example, consider this rule:
If the engine will not start but it will turn over, then the injection system is bad.
In some cases the facts are uncertain. Suppose the user is uncertain whether the engine starts or whether it turns over. If the user is 70 percent sure that the engine does not start and 80 percent sure that the engine turns over, then the conclusion of a bad injection system will be uncertain as well. A typical inference with this uncertainty is to multiply the two probabilities. In this case, 70 percent times 80 percent results in 56 percent confidence that the injection system is bad.
Furthermore, the rule itself may be uncertain. An expert may be only 60 percent sure that an engine that does not start and turns over implies a bad injection system. In this case, even if the user were 100 percent sure that the engine does not start but does turn over, the confidence in the conclusion of a bad injection system would be only 60 percent.
The inference process propagates the uncertainties through to the conclusions, so that the expert system tells the user not only what its recommendation is, but also the level of confidence in the recommendation.
An example of an expert system using rules can be found in the Department of Veterans Affairs within their OneVA initiative, which seeks to improve service by implementing improved information technology. A component of this initiative is the creation of an “expert system for the determination of potential benefits.” This expert system utilizes a rule-based approach that analyzes customer data to determine proper eligibility levels.
Fuzzy Logic Systems. One of the most difficult obstacles facing the construction of expert systems is the inherent fuzziness of much human communication. Consider the question “Is this item expensive?” Here, “expensive” implies that the item costs a good deal of money. But how, even with data about prices, does one determine if an item is expensive? What is expensive to one person may be quite inexpensive to another. This is a case of linguistic ambiguity, where one word may have different meanings depending on context.
Fuzzy logic deals with linguistic ambiguity by mapping precise values (e.g., price, temperature, age in years) onto imprecise concepts (e.g., expensive, cold, young) via a membership function. The imprecise concept is called a fuzzy set, and the membership function measures the degree to which a precise value belongs in the fuzzy set.
Consider Figure 1, which shows three fuzzy sets related to the price of a product: inexpensive, moderate, and expensive. The membership functions are the solid and dashed lines in the graph. The X-axis shows the crisp value (actual price) and the Y-axis shows the degree of membership of a particular crisp value in each of the fuzzy sets. The price of $10 has 100 percent membership in the inexpensive set and 0 percent membership in each of the others. By contrast, the $100 price has 100 percent membership in the expensive set and 0 percent in the others. The $50 price has some degree of membership in all of the sets; it has 100 percent membership in the moderate set, but also some small degree of membership in both the others.
Consider this rule:
If the price is expensive then do not buy the product.
Such a rule will not fire at all if the price is $10. It will fire with 100 percent strength if the price is $100. It will fire with a much lower strength if the price is $50. This is the main idea behind fuzzy logic systems.
Fuzzy logic systems are used in many applications. They are commonly embedded in control systems, such as regulating automatic braking systems in cars and auto focusing in cameras.
In theory, expert systems can be applied to any domain of human knowledge. Researchers have focused on improving and expanding the kind of human thinking that can be imitated by computer systems. During the 1990s, developments in expert systems focused on applying computer models to banking and finance, forecasting, security, manufacturing, marketing, and many other business areas and industries. Specifically, areas such as loan applications, fraud detection, inventory management, enterprise resource planning, and supply-chain management found useful applications of expert systems.
With the success of these systems, there was an explosion of work on expert systems during the late 1990s and early 2000s, primarily focused on attempting to refine decision-making algorithms. This research led to the creation of a field known as computational intelligence, which is the current successor to artificial intelligence. Computational intelligence represents an evolution of expert-systems thinking, improving decision-making procedures by incorporating techniques such as neural networks, Swarm intelligence, fractals, and chaos theory. The field of computational intelligence is fairly new, and its techniques, tools, and goals are not as yet fully solidified. Researchers within this field expect exciting breakthroughs in intelligence-modeling and expert-systems developments during the early part of the twenty-first century, but the full power and potential of developing expert systems remains unclear.
SEE ALSO Artificial Intelligence
Andina, Diego, and Duc Truong Pham, eds. Computational Intelligence. Dordrecht: Springer, 2007.
Bertino, E., G.P. Zarri, and B. Catania. Intelligent Database Systems. Boston: Addison-Wesley, 2001.
Jackson, Peter. Introduction to Expert Systems. 3d ed. Boston: Addison-Wesley, 1998.
Liu, Ying, et. al., eds. Advances of Computational Intelligence in Industrial Systems. Berlin: Springer, 2008.
Metaxiotis, K., and J. Psarras. “Expert Systems in Business: Applications and Future Directions for the Operations Researcher.” Industrial Management & Data Systems 103, no. 5/6 (2003): 361–368.
Expert systems, also called "rule-based systems," are computer programs or sets of programs that use knowledge of a domain (a specific field or discipline) to act as an expert in that domain. Expert systems have been built for dozens of sub-fields in medicine, business, and science, making this one of the most successfully commercialized branches of artificial intelligence (AI) .
During the early years of artificial intelligence, computer scientists primarily developed programs that solved well-defined, self-explanatory problems (e.g., game playing, machine translation, or symbolic integrations). These programs required clever reasoning techniques to manipulate the logical and mathematical problems they were presented, but they did not require much knowledge beyond those techniques.
In the 1960s researchers began to realize that to solve many interesting problems, the programs would not only need to be able to interpret the problems, but they would need background knowledge to understand them fully. Through the late 1960s and early 1970s, Bruce Buchanan developed DENDRAL at Stanford University as an attempt to address that problem. DENDRAL was one of the first expert systems written. It was designed to use mass spectrometry and other chemical information to deduce the molecular structure of chemical compounds. DENDRAL's knowledge of chemistry consisted of hundreds of rules describing the interactions of chemical compounds. These rules were the result of more than ten years of collaboration between chemists, geneticists, and computer scientists.
On March 8, 1982, expert systems gained public and corporate attention with a cover story in Business Week subtitled "Computers Are Starting to Reason, Make Judgments, and Learn. By 2000, They Will Be Radically Altering Society."
Users of expert systems are often knowledgeable in the domain of the system, but are not experts themselves. The expert system gathers information by presenting the user with a series of questions. That information is integrated with its stored rules (knowledge) to generate more specific questions. In some cases (e.g., medical diagnosis), the expert system can suggest actions for the user to take (e.g., a culture or blood test) to gather more information. Eventually, the expert system delivers a decision or conclusion, often accompanied by an explanation of how it was reached.
Expert systems allow users to leverage the knowledge of experts without requiring their presence. These systems, though limited to fields where questions can be precisely stated, are useful in any field where experts are rare, expensive, or inaccessible. They can both automate a lengthy decision process and deal with large quantities of data that might overwhelm a human.
Even the broad categories to which expert systems have been applied are too numerous to list, though a particularly comprehensive, if dated, list can be found in the Expert Systems Catalog of Applications (1993). In medicine, systems have been applied to ECG (electrocardiography) interpretation, cancer prognosis, athlete health monitoring, infant development, antimicrobial therapy, depression therapy, skin disease diagnosis, and many other domains. Industrial applications include air traffic control, automobile diagnostics, supply chain planning, blast furnace control, power grid management, automobile design, elevator design, locomotive repair, agriculture, and manufacturing facility layout. Scientific systems have also been designed for weather prediction, analytical chemistry, electronic circuit design and analysis, space shuttle maintenance, and hazardous waste management.
While there are many full and partial successes, expert systems have limitations. Though they no longer cost $500,000 to develop as they did in the 1970s, they are still expensive to design. Their development requires the careful, long-term attention of both the programmers encoding the knowledge and the experts providing it. They tend to work only in very narrow domains, and their accuracy can degrade without warning if a problem approaches the limits of the system's knowledge. Finally, they are only as good as the experts from whom they were programmed; unlike experts, they cannot advance the state of the art or reach novel conclusions (though they can often reach surprising conclusions that an expert might overlook). If rules are programmed incorrectly, the engine will reach incorrect conclusions or fail without warning and sometimes without indication.
Expert systems consist of two primary components: a knowledge base and an inference engine. The knowledge base is a set of rules encoding the expert's knowledge of the field. The inference engine is the set of techniques that manipulates that knowledge with respect to user input.
To develop an expert system, programmers and experts collaborate, often for several years, to develop the knowledge base. The rules are then extensively tested on problems with known solutions and field-tested on new problems under an expert's supervision. The team then determines which rules are responsible for problems or errors in the system's conclusions, and corrects those rules. This process is repeated until the system is considered reliable enough to be used by non-experts.
Although the knowledge base must be developed from scratch for any given problem, the inference engine can often be adapted in whole or in part from previous systems. One popular category of tools is the "expert system shell," a pre-packaged engine that is ready to run with the "simple" addition of a rule set. Other tools only provide parts of engines that a programmer can assemble to build a custom engine quickly.
Inference engine techniques have been an active research topic since 1970. In the "brute-force" approach, the engine literally tries every possible answer to the problem until it finds a solution. This only works in domains where a program can list all of the possible solutions (e.g., checkers or certain logical problems) and is often prohibitively slow.
The "heuristic search" method is an improvement that uses heuristics to narrow down the list of possible answers before trying them. While this often allows the system to find the solution substantially faster, heuristics are, by definition, not always correct. In some cases, a heuristic will actually eliminate the correct answer. Once the system realizes that the correct answer was eliminated, it will retrace its steps, reversing the narrowing effect of each heuristic it used, until it finds the answer.
In many cases, it is not possible to check an answer for correctness; the only way to find a solution is to show, using strict logic, that the input the user provided proves a conclusion. For these cases, "production systems" are used with rules encoded as if-then statements (e.g., "if it is a bird, then it has wings"). The system can then trigger rules using information provided by the user (e.g., "it is a bird") to reach provable conclusions. By taking those conclusions and using them to trigger other rules, the system can reach more complex conclusions. In some cases, the system can use heuristics to "guess" a possible conclusion. In these cases, the system works backward from the guessed conclusion by trying to find a chain of rules to prove it.
There are many variations on these broad categories of systems. Most current systems keep track of how conclusions were reached so that they can provide plain-English explanations. These explanations assist the user in evaluating the conclusions. Some systems can work with rules that are not always correct by assigning them a certainty (probability of being correct). By combining these certainties as rules are chained, the system can produce a conclusion (or several) and tell the user how certain those conclusions are. Fuzzy logic allows a system to deal with qualitative information (e.g., "the fish is large") by interpreting the qualitative statement as several possible quantitative meanings, each with some amount of certainty. For example, the statement "the fish is large" might be interpreted as "there is an 80 percent chance that the fish is larger than 20 pounds, a 90 percent chance that it is larger than 10 pounds…" "Predicate logic" systems can manipulate logical rules far more complex than if-then statements to reach conclusions. Beyond logical rules, more advanced systems can store knowledge as "semantic nets," "frame systems," or "structured objects," among other representations.
The widespread commercial applications of expert systems have given rise to research topics focusing on both system effectiveness and usability. Better plain-English explanations lead to more reliable systems. Techniques for accelerating the encoding of knowledge into rules reduce the time-consuming process of creating a knowledge base. Alternative methods for representing those rules, even by using multiple methods within a single system, increase the representative power of a rule set. Inference-engines with improved techniques for manipulating rules can reach more complex solutions, and engines that use multiple techniques can use them to complement and check each other. Inference techniques designed for reuse can simplify the complex and labor-intensive process of creating engines.
see also Artifical Intelligence; Decision Support Systems; LISP; Neural Networks.
Salvatore Domenick Desiano
Durkin, John. Expert Systems Catalog of Applications. Akron, OH: Intelligent Computer Systems, 1993.
Edmunds, Robert A. The Prentice Hall Guide to Expert Systems. Englewood Cliffs, NJ: Prentice Hall, 1988.
Jackson, Peter. Introduction to Expert Systems, 3rd ed. Harlow, United Kingdom: Addison Wesley Longman, 1999.