Anda di halaman 1dari 11

Introduction to

Expert Systems

Chapter 8

Other Resources
http://www.cee.hw.ac.uk/~alison/ai3notes/chapter2_5.html
Handout at ECE Office

What is an Expert System


An Expert System is a computer program that simulates
human intelligence and behavior in specific and limited
domains
It is composed of three major modules:
A Knowledge Base
An Inference Engine
A User Interface

Expert System Major Components

Expert Systems are Good For


Limited domains where expert knowledge is
available
Providing expert opinion in remote sites
Enhance the performance of tasks by applying
heuristic expert knowledge
Planning, Troubleshooting, Robotic manipulation,
Exploration, Process Control

Expert Systems Are Not Good


For

Representing temporal knowledge


Representing spatial knowledge
Performing commonsense reasoning
Recognizing the limits of their ability
Handling inconsistent knowledge

Conventional vs. Symbolic


Programming
Representations and use of data vs. Representations and
use of knowledge
Algorithmic processing vs. Heuristic processing
Repetitive vs. Inferential process
Effective manipulation of large data bases vs. Effective
manipulation of large knowledge bases

Overall Architecture
Working Memory
Knowledge
Base

Inference
Engine

I
n
t
e
r
f
a
c
e

Terminology
Knowledge Engineering: The discipline of acquiring,
encoding and using human domain knowledge to develop a
computer application
Expert System: A computer program that uses domain
knowledge to perform a specific task usually human
experts perform
Knowledge Base: A set of rules and facts describing the
domain of an application
Inference Engine: A program that imposes a general
control strategy on how the system is working
Working Memory: A set of facts describing a particular
consultation
Interface: A program that links the user with the Expert
System

Knowledge Base
Models domain knowledge usually in the form of rules,
frames, or semantic nets
Probabilistic models and fuzzy models can be used to
model uncertainty
A typical Expert System has several hundred rules
A Knowledge base can become very complex and its has
to be consistent at all times
Knowledge acquisition tools can be used to build and
maintain a Knowledge Base

Rules
IF the infection is pimary-bacteremia
AND the site of the culture is one of the sterile sites
AND the suspected portal of entry is the gastrointestinal
tract
THEN there is suggestive evidence (0.7) that infection is
bacteroid.

Semantic Networks
isa

has-part

isa

Ocean
Liner
has-part
Swimming
Pool

Oil
Tanker
isa

Queen
Mary

has-part

Ship

isa

Liverpool

Engine

Hull

has-part
Boiler

Frames
Progress Report
Author: John Allen (default)
Topic:
Due Date:
Length: 2 pages (default)

If-added
If-removed

isa
Author: Mary Smith
Topic: Biological Classification
Project
Due Date: Sept. 30, 2000
Length:40 pages

If-needed

Inference Engine
Considering that the Knowledge Base encodes domain
knowledge and expertise in terms of rules and facts there
are three variations for the inference engine:
Forward Chaining or Data Driven (essentially Modus Ponens)
Backward Chaining or Hypothesis Driven
Mixed (i.e. Forward and Backward Chaining combined)

Most Expert Systems assume that the Inference Engine


strategy is monotonic
Several Expert Systems allow for reasoning under
uncertainty
Probabilistic (MYCIN, Bayes, Demster-Shafer)
Fuzzy
Non-monotonic (Truth Maintenance Systems)

Inference and Logic


Modus Ponens:
A1, A2, A1 & A2 => B
B
Modus Tolens:
not A2, A1 => A2
not A1

Issues on Building Expert Systems


Lack of Resources
Personnel
Expert System tools

Inherent limitations of Expert System tools


Performing knowledge acquisition
Refining Knowledge Bases
Handling mixed representation schemes

Expert Systems take long time to build

Pitfalls in Choosing Problems


Difficult problem chosen and inadequate resources
available
The problem the Expert System is about to solve does not
warrant the development effort
The problem the Expert System addresses is very general
or complex

Choosing a Problem

The need for a solution must justify the costs involved in development. There
must be a realistic assessment of the costs and benefits involved.
Human expertise is not available in all situations where it is needed. If the
``expert'' knowledge is widely available it is unlikely that it will be worth
developing an expert system.
The problem may be solved using symbolic reasoning techniques. It shouldn't
require manual dexterity or physical skill.
The problem is well structured and does not require (much) common sense
knowledge. Common sense knowledge is notoriously hard to capture and
represent. It turns out that highly technical fields are easier to deal with, and
tend to involve relatively small amounts of well formalised knowledge.
The problem cannot be easily solved using more traditional computing
methods. If there's a good algorithmic solution to a problem, you don't want to
use an expert system.
Cooperative and articulate experts exist. For an expert system project to be
successful it is essential that the experts are willing to help, and don't feel that
their job is threatened! You also need any management and potential users to
be involved and have positive attitudes to the whole thing.
.The problem is of proper size and scope. Typically you need problems that
require highly specialized expertise, but would only take a human expert a
short time to solve (say an hour, max).

Pitfalls on Resource Planning and


Choosing Tools
Adding personnel in order to speed up development time
Management perceives that Expert Systems are just
another computer program
Difficult to model the domain using the chosen tool
Knowledge engineer picks a tool that he/she is familiar
without considering the problem specifics
Decision to built the system using a conventional
programming language
The shell or tool that is used to build the system is not
reliable

Pitfalls Dealing with Expert


Interactions with expert are laborious with small payoff
The expert can not find enough time for the interviews
The experts can not understand the rules and the models
used
The rules provided by the expert are simplistic
The expert is not excited about helping develop the system
The expert is not familiar with computers and doubts that a
computer program can address the problem
So many experts involved, the Knowledge Engineer has
difficulty modeling the domain

10

Pitfalls in the Development Process


The expert knowledge and the inference strategy are not
distinct
After initial development the Knowledge Engineer finds
that important parts of the domain are not addressed
The system has been built using a shell that does not
provide explanation facilities
The system contains a very large number of specialized
rules and its time related performance is poor
The system during testing is found to be of low quality
The users do not understand error messages and can not
edit the rule base
Addition of new rules produces more errors that it fixes

11

Anda mungkin juga menyukai