Intro To Expert Systems

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 21

Introduction to

Expert Systems
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 I
n
t
Knowledge
e
Base
r
f
a
Inference c
Engine 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
Ship
isa has-part

Ocean Oil
Engine Hull
Liner Tanker
has-part isa isa
has-part

Swimming Queen
Liverpool Boiler
Pool Mary
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 If-needed
Due Date: Sept. 30, 2000
Length:40 pages
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
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

You might also like