Return to CSL home page
Return to KEG

Expert Systems Tutorial

Module 2

Components of an Expert System

Module 1 Module 3

This module describes the components of an expert system. An expert system consists of these three components:

Structure

Expert systems generally follow this structure:
Each component will be described in the following sections.

Knowledge Base

Inference Engine

The inference engine controls overall execution of the rules. It searches through the knowledge base, attempting to pattern match facts or knowledge present in memory to the antecedents of rules. If a rule's antecedent is satisfied, the rule is ready to fire and is placed in the agenda. When a rule is ready to fire it means that since the antecedent is satisfied, the consequent can be executed.

Salience is a mechanism used by some expert systems to add a procedural aspect to rule inferencing. Certain rules may be given a higher salience than others, which means that when the inference engine is searching for rules to fire, it places those with a higher salience at the top of the agenda.

There are two types of chaining: forward and backward. In forward chaining, the expert system is given data and chains forward to reach a conclusion. In backward chaining, the expert system is given a hypothesis and backtracks to check if it is valid.

Inferencing is to computers what reasoning is to humans.

Uncertainty

Uncertainty in expert systems can be handled in a variety of approaches. Here are some of them, with brief descriptions: Certainty Factors are used as a degree of confirmation of a piece of evidence. Mathematically, a certainty factor is the measure of belief minus the measure of disbelief. Here is an example:

If the light is green
then
OK to cross the street cf 0.9

The rule in the example says: I am 90% certain that it is safe to cross the street when the light is green.

There are certain advantages and disadvantages to certainty factors. They are easy to compute and can be used to easily propagate uncertainty through the system. However, they are created partly ad hoc. Also, the certainty factor of two rules in an inference chain is calculated as independent probabilities.

Dempster-Shafer Theory does not force belief to be assigned to ignorance or refutation of a hypothesis. For example, belief of 0.7 in falling asleep in class does not mean that the chance of not falling asleep in class is 0.3

Bayesian Networks are based on Bayes Theorem:

P(H|E) = P(E|H)P(H)
         ----------
            P(E)

Bayes Theorem gives the probability of event H given that event E has occurred. Bayesian networks have their use, but are often not practical for large systems. There is also a problem with the uncertainty of user responses.

Fuzzy Logic

Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of a partial truth -- truth values between completely true and completely false. In fuzzy logic, everything is a matter of degree.

Some people think that fuzzy logic is a contradiction of terms. Fuzzy logic is a logic OF fuzziness, not a logic which is ITSELF fuzzy. Fuzzy sets and logic are used to represent uncertainty, which is crucial for the management of real systems. A fuzzy expert system is an expert system that uses a collection of fuzzy membership functions and rules to reason about data. Every rules fires to some degree.

The fuzzy inferencing process becomes much more complicated, expanding to 4 steps:

  1. Fuzzification
  2. Inference
  3. Composition
  4. Defuzzification
I won't describe the fuzzy inferencing process in detail. For a complete description, check this reference.


You must have Netscape 2.0 to do the Post Test, or you will crash!
Module 1 Post Test Module 3

For more information send mail to: keg@csl.carlisle.army.mil