Artificial intelligence: Expert systems

An expert system is a computer program that provides the knowledge of a human expert to users of the program. The design and development of expert systems involve the application of methods that automate intelligent behavior.

89316882-89258.jpg

Overview

In general, expert systems are knowledge-based computer programs that, in highly restricted domains, perform some functions that are similar to those performed by human experts. Among the intelligent functions performed by expert systems are advising, analyzing, categorizing, diagnosing, explaining, forecasting, identifying, interpreting, justifying, planning, scheduling, and tutoring. In short, expert systems are computer-based systems that provide expert quality solutions to domain-specific problems.

Expert systems do not attempt to simulate human mental mechanisms. As a result, they are not intelligent in the same way that humans are intelligent. Rather, expert systems are able to achieve expert quality solutions to particular problems because they contain a computer representation of the knowledge of human experts. Usually, this knowledge is represented in two forms: as a set of rules in the form of if-then statements and as a set of facts about the problem domain. For example, if the expert system is a program intended to assist mechanics in diagnosing engine problems, then a rule in that program might look like this: IF the engine is getting fuel AND the engine does not start, THEN there is high probability that there is an electrical problem. Facts can represent general knowledge about the problem domain (engines need fuelto operate) or specific knowledge about a particular problem (this engine is getting fuel).

There are four major components of an expert system: knowledge base, global database, inference engine, and user interface. The set of rules and general facts about a problem domain comprise the knowledge base, which is why expert systems are categorized as knowledge-based programs. The global database contains all the particular facts pertaining to a specific problem. Human experts use the same two kinds of information to solve problems: facts and rules.

In addition, human experts use this information for a purpose; they may apply their knowledge to answer a question, to solve a problem, to make a plan, and so on. In doing so, a human expert typically divides the main problem into smaller problems and then brings the appropriate facts and rules to bear on the resolution of these smaller problems. This problem-solving activity can be called a control strategy. A control strategy is necessary because in a complex problem, there are usually too many facts and rules to consider all at once. A major function of an expert's control strategy is to simplify the problem space. One way human experts simplify the problem space is by ignoring applicable rules that are unlikely to contribute to a solution.

Expert systems must also have a control strategy; this is called an inference engine, to emphasize the fact that an expert system's problem-solving ability is not nearly as creative as that of human experts. The inference engine is the computer program or subsystem that searches through the global database and the knowledge base to determine which rules can be applied at any given point to make progress in reaching a solution. The direction of this search may be driven forward, from known facts toward a solution, or it may be driven backward, from a goal to the facts that would have to be true to reach a solution. These two modes are known as forward chaining and backward chaining, respectively. Some inference engines combine these two techniques, using a hybrid search strategy.

Typically, several rules could be applied at any point, so some way is needed to decide which rule to apply and to remember that alternatives could have been tried. In either case, there are potentially a large number of rules and facts to consider when attempting to solve complex problems. Like human experts, expert systems need a way to ignore inapplicable rules. In other words, methods are needed to guide the search in a promising direction. These methods are known as heuristic search strategies, and they vary from system to system and problem to problem.

One general method of controlling the search is to assign an uncertainty measure to each rule. The uncertainty measure reflects the degree of confidence an expert would have in applying a particular rule in the solution of a particular problem. When multiple rules can be applied, the rule with the highest confidence factor is applied by the inference engine. Various logical methodologies can be applied to manipulate the accumulation of uncertainty measures as the expert system finds and applies rules while working toward a resolution. Two methods of handling uncertainty are Bayesian probability theory and the fuzzy-set theory.

The last component of an expert system is the user interface. This is the portion of the system that accepts input from users concerning details of the problem and provides them with various kinds of information, including explanations for intermediate conclusions, requests for additional information, and a final solution if found.

Expert systems, then, are computer programs that use a knowledge base to solve difficult problems in a specific problem domain. They are able to perform at the level of human experts because they are constructed with elaborate knowledge bases and heuristics that are appropriate to their particular and highly restricted problem domains. In addition, expert systems can manage uncertainty and provide users with an explanation of their reasoning. These characteristics are typically lacking in traditional computer programs.

Applications

Expert systems have been used in a wide variety of problem domains. Many early expert systems were designed first as research tools and were then found to have commercial value. For example, Dendral, an artificial-intelligence project conducted in the 1960s, was developed to infer the structure of an organic molecule based on information concerning chemical formula and mass spectrography. In the 1970s, Mycin was designed to diagnose and prescribe treatment for bacterial infections of the blood, while Prospector was developed to determine likely areas for ore deposits based on geological information. Dipmeter Advisor was developed in the 1980s to interpret and analyze the results of oil-drilling data. R1, later Xcon, was designed in 1978 to configure computer equipment appropriate to a client's requirements. These and other expert systems were developed for highly specialized problem domains. They were all able to deal with incomplete information because they possessed a wealth of general knowledge about the problem domain. In addition, expert systems typically have the ability to explain or justify their conclusions. In many cases, this amounts to showing which rules in the knowledge base were used in arriving at a solution.

In general, expert systems provide intelligent assistance in a narrowly defined domain. The nature of the assistance may be advice. For example, an expert system may be provided with an individual's financial data and investment goals; the system can then offer advice about the relative value of potential financial investments.

Another application area involves planning. In a selected domain, an expert system may be provided input data about a particular situation; the system can then develop a plan to manage effectively the situation described. For example, the general problem may be to lay out patterns for a large number of garments of various sizes and shapes to minimize wasted material when cutting fabric. The input data would include the width and length of the material and the number of the various shapes and sizes of pieces to be cut. The system would then develop a plan for cutting the material. If the user thought it was important or relevant to group certain items together, perhaps those to be sewn together later, then the system might provide alternative plans for cutting the material.

Expert systems may also be found in intelligent tutoring systems. An intelligent tutoring system contains a model of a human expert's knowledge about a selected subject domain. As a student is given computer-based instruction in the subject and responds to questions and problems, the system develops a model of the student's knowledge. It then matches the student's knowledge against the expert's knowledge to determine what instructional material is appropriate to present to the student next.

Expert systems are not the best or preferable solution to every problem. If a problem domain is highly structured, with little uncertainty involved, then it is unlikely that an expert system is preferable to conventional automation. However, if the problem domain is somewhat ill structured, involving degrees of uncertainty and human judgment, then an expert-system solution may be appropriate.

One shortcut to developing a new expert system is to use an expert-system shell. An expert-system shell typically has a built-in search-and-control mechanism, eliminating the need to program the central component of the system. In addition, expert-system shells have intuitive, easy-to-use interfaces, making it possible for domain experts and knowledge engineers to enter rules and facts.

In later designs, the object-oriented programming paradigm provided useful tools for the design of expert systems. Object-oriented design emphasizes the data or objects to be manipulated and provides the means for the definition of classes of data with definable properties that can be inherited by or passed along to subclasses. This methodology offers a very high level of abstraction that is amenable to the solution of certain problem types. Object-oriented programming proved especially suited for developing systems based on expert-system shells.

Expert systems have certain disadvantages. The knowledge-acquisition process may be time consuming, which ties up the best domain experts for extended periods of time during development. Because expert systems do not learn or run autonomously, they require modification as new knowledge is added to the knowledge base. As noted, expert systems are feasible only for narrowly defined problem domains.

On the other hand, expert systems offer some unique advantages. They make human expertise more widespread and accessible. In some problem domains, an expert system may be more efficient than conventional automation. Expert systems can provide justifications for their conclusions and can manage to handle incomplete or inconclusive information, unlike conventional programs. In addition, expert systems offer all the advantages of an automated system: they can be placed in locations not suitable for humans, they do not get tired or sick, they can manipulate complex and detailed information relatively quickly, and so on.

Context

Expert systems emerged as a recognized area of applied artificial intelligence in the 1960s with the realization that the principles of artificial intelligence had practical value in solving problems in science, engineering, and medicine. Two aspects of research in artificial intelligence soon found application in expert-system technology: psychological modeling and search strategies.

Many early researchers in artificial intelligence believed that an important step in automating intelligent behavior was to create clear and precise models of human reasoning and problem-solving. Early models of human problem-solving led to the development of production systems. A production system is a general model of computation that is applicable to many problems in artificial intelligence. It contains a set of production rules of the following form: IF condition, THEN action. A second component of a production system is working memory, which represents the current state of the system. Finally, there is a control cycle that recognizes applicable rules, resolves conflicts when multiple rules can be applied, and then applies the rule, which usually adds to the store of information in working memory.

Because production systems were intended to model expert problem-solving techniques, it is no surprise that there is an obvious parallel between the structure of a production system and the general components of an expert system. Research in cognitive science has continued to influence the design and development of expert systems. For example, it is now well established that human experts often do not operate with explicit rules but rather act as if they have combined sets of rules into some kind of private problem-solving language. As a consequence, a major task in constructing an expert system is the acquisition and representation of the highly compiled knowledge of expert problem solvers in a particular problem domain.

The second major aspect of artificial-intelligence research that has proved beneficial to expert-system technology is the study of optimal search paths through various problem spaces, which is a major topic in mathematical graph theory. A graph is a set of nodes and connections, called arcs. In artificial intelligence, the nodes might represent particular situations or states in a problem-solving setting, and the arcs might represent relationships among those states. Graph theory is the study of the variety of ways that graphs can be created and traversed. Using optimal search strategies is important in an expert system because response time is a key factor in the acceptability of any interactive computer system.

In the 1990s, standalone expert systems began to decline in popularity. As programming and computing capabilities advanced, the functions of expert systems were increasingly incorporated into comprehensive business and other targeted application suites, becoming just one part of the overall integrated resources available to professionals in the relevant fields. Additionally, some came to prefer more complex machine learning models of artificial intelligence, which could be continually trained with expanded data and used for more uncertain problems.

Principal terms

EXPERT-SYSTEM SHELL: a tool used to construct expert systems; contains a preprogrammed inference engine and an intuitive method for representing rules and facts

GLOBAL DATABASE: the component of an expert system that represents all the facts of a particular problem or application of the expert system

HEURISTIC SEARCH: a method of searching a large problem space so that promising paths are explored first, potentially expediting the search process

INFERENCE ENGINE: the particular mechanism used by an expert system to perform a search of the knowledge base, resolve conflicts, apply rules, and reach a resolution

KNOWLEDGE BASE: the component of an expert system that represents the rules and general facts pertaining to a particular domain

UNCERTAINTY MEASURE: a confidence factor assigned to the result of applying a particular rule in the knowledge base to the global database

USER INTERFACE: the component of an expert system that interacts with the user, accepting input of problem data and providing output of explanations and solutions

Essay by J. Michael Spector

Bibliography

Barr, Avron, et al., editors. The Handbook of Artificial Intelligence. Vol. 4., Addison, 1989.

Buchanan, Bruce G., and Edward Hance Shortliffe, editors. Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project. Addison, 1984.

Collins, H. M. "Expert Systems and the Science of Knowledge." The Social Construction of Technological Systems: New Directions in the Sociology and History of Technology. Edited by Wiebe E. Bijker, et al., MIT P, 2012, pp. 321–40.

Dreyfus, Hubert L., et al. Mind over Machine: The Power of Human Intuition and Expertise in the Era of the Computer. Free, 1988.

Giarratano, Joseph C., and Gary D. Riley. Expert Systems: Principles and Programming. 4th ed.,Thomson, 2005.

Hafidi, Mohamed, and Taher Bensebaa. "Design and Evaluation of an Adaptive and Intelligent Tutoring System by Expert System." Intelligent Decision Technologies, vol. 7, no. 4, 2013, pp. 253–64.

Khandelwal, Kapil, and Durga Prasad Sharma. "Hybrid Reasoning Model for Strengthening the Problem Solving Capability of Expert Systems." International Journal of Advanced Computer Science and Applications, vol. 4, no. 10, 2013, pp. 88–94.

Newell, Allen, and Herbert A. Simon. Human Problem Solving. Prentice, 1973.

Segura, Jason M., and Albert C. Reiter, editors. Expert System Software: Engineering, Advantages and Applications. Nova Sci., 2012.

Waterman, Donald Arthur. A Guide to Expert Systems. Reading: Addison, 1986.

Winograd, Terry, and Fernando Flores. Understanding Computers and Cognition: A New Foundation for Design. Ablex, 1987.

Winston, Patrick Henry, and Karen A. Prendergast, editors. The AI Business: Commercial Uses of Artificial Intelligence. MIT P, 1984.

Wisbey, Olivia. "Choosing between a Rule-Based vs. Machine Learning System." TechTarget, 12 June 2024, www.techtarget.com/searchenterpriseai/feature/How-to-choose-between-a-rules-based-vs-machine-learning-system. Accessed 21 Jan. 2025.