One of the most widely used models of knowledge representation and manipulation is the production system. Rule-based systems may be thought of as a subclass of production systems. Production systems are conceptually simple and, when implemented as shells in “canned” form, may be developed with a minimum of specialized programming. Examples of such system shells are OPS5, CLIPS, and Corvid
The production system paradigm and rule-based systems (RBS)
Productions in production systems are specified by a set of condition–action pairs. Specification of conditions in the form of “if” statements and actions via “then” yields the familiar rule-based system representation. Production systems may also be thought of as a subset of pattern-directed systems, systems in which production applications are driven by input (or initial) data patterns.
The concept of chaining and inference directions
Chaining is an important concept in the implementation of a rule-based system. It is typical that the consequents of some rules are the antecedents to others. These links form potential “chains,” which are logical links or paths through the system rulebase. A forward-chaining (or antecedentdriven) production system attempts to form chains from the initial fact base to a database containing the goal. A backward or consequent-driven paradigm attempts to form (conditionally) chains backward from a goal database to the initial facts database. Hybrid strategies involve both forward and backward chaining.
Expert System Examples
Many ESs have been developed and are currently in operation. An early example of a commercially successful system is XCON from Digital Equipment, which configured computer systems. XCON was written in OPS5, a rule-based programming language. Other historically significant examples include MYCIN and CADUCEUS, used for medical diagnosis, and PROSPECTOR, which guided geological prospecting. When PROSPECTOR found a molybdenum deposit worth $100 million (U.S.), this application gained respect.
Expert System Challenges and Limitations
One might expect the performance of expert systems, which could tirelessly and exhaustively consider every possibility associated with a problem, to outperform humans in a spectrum of applications. This is currently not the case. ES developers have discovered that knowledge acquisition can be slow, expensive, and iterative. Furthermore, systems tend to be “brittle” in the sense that slight modifications in the application lead to unacceptable deviations in ES performance.
Reasoning With Uncertainty
Unfortunately, knowledge may seldom be put into the rule-based if-then form without some concern for concepts such as impreciseness, ambiguity, and uncertainty. Although several techniques (e.g., fuzzy systems) are treated more fully elsewhere, the incorporation of measures of uncertainty in the representation as well as the inference (manipulation) strategy leads to more realistic ES implementations.
Rule-Based Expert Systems and Intelligent Agents
The notion of agents brings together a number of technologies and research areas, including artificial intelligence, software engineering, robotics, and distributed computing. Agents are a powerful, natural metaphor for conceptualizing, designing, and implementing many complexes, distributed applications. A quantitative definition is “an agent is an encapsulated computer system that is situated in some environment, and that is capable of flexible, autonomous action on behalf of its user (or owner) in that environment in order to meet prespecified design objectives.”
Many internet applications may be enhanced with the perception of intelligent behavior. This “intelligent” enhancement may be achieved using a rule-based or agent-based computational paradigm. Examples include e-commerce, diagnosis, and compliance monitoring.