Major Characteristics of an Expert System

The Structure of an Expert System

The established definition of an "expert system" relies on the main abilities ascribed to human "experts", viz., they have specific expertise in some area(s). This expertise can be categorized as having "domain knowledge" and some ability (innate, learned, etc.) to apply that knowledge to solve problems within the domain.

An important realization in the design of software soltions: techniques employed by "automatic devices" (computer hardware, software, mechanical devices, automobile-airbags, expert systems) provide simplifications of possible solutions to a simplification of the problem. These simplifications are necessary because the real process may

The human model (of intelligent behavior) is partially explainable by:

The computerized model follows a similar design:

Expert System Traditional Program
Working memory Variables
Knowledge Base Files
Inference Engine Program logic

Definition: knowledge base - the part of expert system that contains the domain (and possibly other types of) knowledge.

Definition: working memory - facts newly discovered (by inference from the knowledge base and other working memory contents; or from input to system.)

Definition: inference engine - algorithm which uses knowledge base and working memory to infer (items are then added to the working memory, or sometimes to the knowledge base.)

Components of an Expert System

Fundamental Components

  1. knowledge base (long term memory)
  2. inference engine (rules; logic)
  3. working memory (short term memory; blackboard)

    The following may not be actually delimited in an examination of a particular expert system:

  4. knowledge acquisition subsystem
  5. user interface (e.g. text-based, GUI, electronic interface)

    The following is sometimes omitted from definitions of an expert system, but is usually considered necessary:

  6. explanation facility (justifier)

    how it arrived at its conclusions;
    why it needs some requested information;

    What about neural networks?

Characteristics of an Expert System

Knowledge Engineering

Definition: knowledge engineering - the process of building an exp. system.

K.E. essentially includes

  1. acquiring knowledge from human expert (or other source)


  2. encoding it into a system.

Steps in the knowledge engineering process (cf., waterfall and spiral methods of software design)

                    Phase 1
                              <-------- reformulation ------------------
                    Assessment                                          |
                       |                                                |
         Requirements  |                                                |
                       V                                                |
                    Phase 2                                             |
                                         <-- Explorations ------        |
                    Knowledge Acquisition                       |       |
                       |                                        |       |
         Knowledge     |                                        |       |
                       V                                        |       |
                    Phase 3                                     |       |
                           <- refinements ------                |       |
                    Design                      |               |       |
                       |                        |               |       |
         Structure     |                        |               |       |
                       V                        |               |       |
                    Phase 4                     |               |       |
                           -------------------------------------        |
                    Test                                                |
                       |                                                |
         Evaluation    |                                                |
                       V                                                |
                    Phase 5                                             |
                    Documentation                                       |
                       |                                                |
         Product       |                                                |
                       V                                                |
                    Phase 6                                             |

Waterfall Development Model

Wikipedia explanation of waterfall model

Spiral Development Model

Wikipedia explanation of spiral model

Agile Software Development Model
Wikipedia explanation of Agile Software Development model