Expert systems

Expert Systems

Expert Systems

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) .

History

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."

Applications

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.

Technologies

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.

Current Research

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

Bibliography

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.

Show all research tools

Cite this article
Pick a style below, and copy the text for your bibliography.

  • MLA
  • Chicago
  • APA

Desiano, Salvatore Domenick. "Expert Systems." Computer Sciences. 2002. Encyclopedia.com. 31 May. 2012 <http://www.encyclopedia.com>.

Desiano, Salvatore Domenick. "Expert Systems." Computer Sciences. 2002. Encyclopedia.com. (May 31, 2012). http://www.encyclopedia.com/doc/1G2-3401200375.html

Desiano, Salvatore Domenick. "Expert Systems." Computer Sciences. 2002. Retrieved May 31, 2012 from Encyclopedia.com: http://www.encyclopedia.com/doc/1G2-3401200375.html

Learn more about citation styles

Free newspaper and magazine articles

LEADING EXPERTS: ONE MANAGER'S EXPERIENCE
Magazine article from: Research-Technology Management; 3/1/2004
Extrajudiciary Technical Experts and Consultants' Society and the standard on...
Magazine article from: Annals of DAAAM &amp; Proceedings; 1/1/2008
Expert Witnesses: No Longer The Untouchables.(Paul Wynne Jones v Sue Kaney)
News Wire article from: Mondaq Business Briefing; 4/4/2011

Pictures from Google Image Search

Click to see an enlarged picture
Click to see an enlarged picture
Click to see an enlarged picture

See more pictures of Expert systems