Expert Systems - Computer Science Department

Download Report

Transcript Expert Systems - Computer Science Department

Expert Systems and Their
Applications
John Paxton
Montana State University
August 14, 2003
Bozeman
Definitions
• A model and associated procedure that
exhibits, within a specific domain, a
degree of expertise in problem solving that
is comparable to that of a human expert.
(Ignizio)
• An expert system is a computer system
which emulates the decision-making ability
of a human expert. (Giarratono)
Characteristics
• Operates in a narrow domain
• Separates knowledge from processing
• Can explain how a particular conclusion is
reached
• Can explain why specific data is needed
• Permits inexact reasoning
• Can make mistakes
• Changes are easy to incorporate
Components
• Program = Algorithm + Data Structure
• Expert System = Inference Engine +
Knowledge
Usage (2002)
Area
Production/Ops Mgmt
Finance
Information Systems
Marketing/Transactions
Accounting/Auditing
International Business
Human Resources
Other
Percentage
48%
17%
12%
10%
6%
3%
2%
2%
Why Use an Expert System?
1. Helps preserve knowledge--builds up the
corporate memory of the firm.
2. Helps if expertise is scarce, expensive,
or unavailable.
3. Helps if under time and pressure
constraints.
4. Helps in training new employees.
5. Helps improve worker productivity.
Architecture
KNOWLEDGE
BASE
USER
INTERFACE
INFERENCE
ENGINE
WORKING
MEMORY
Knowledge Base
• Contains facts
antacid (Imodium)
• Contains rules
if traveler (x) and stomach-pains (x)
then take (y, antacid (y))
Inference Engine
• Rules that match working memory are
identified and then fired.
• This updates working memory and the
knowledge base.
• The process is repeated.
Inference Engine
• Conflict Resolution
– fire all matching rules
– fire the first matching rule
– fire the highest priority matching rule
– fire the most specific rule
– fire the rule that uses the most recent data
Inference Engine
• Forward Chaining. Starting with the data,
a conclusion is reached.
cat (Mulder)
cat (x)  mammal (x)
• Backward Chaining. Starting with a
hypothesis, it works backwards to the
data.
Uncertainty Sources
• Weak implications
• Imprecise language (e.g. “often”)
• Unknown data
• Combining views of different experts
Uncertainty
• Certainty Factors.
• Dempster-Shafer Theory.
• Bayesian Networks.
• Fuzzy Logic.
Certainty Factors
IF the light is green
THEN it is ok to cross the street
cf = 0.9
+ easy to compute
+ easy to propagate
- somewhat ad hoc
- all certainty factors are independent
Bayesian Reasoning
Based on Baye’s Theorem and standard
probability theory
P(H|E) = P(E|H) * P(H) / P(E)
Birthday Surprise
• What is the probability that 2 people in a
room of 30 share a birthday?
• P = 1 – 365/365 * 364/365 * … *336/365 ≈
0.70
Fuzzy Logic
1. Fuzzification (120 kph = 0.95 fast)
2. Inference (IF speed is “fast” THEN
stopping distance is “short”)
3. Composition (0.8 “short” and 0.7 “short”
= 0.7 “short”)
4. Defuzzification (0.7 “short” = 20 meters)
People Involved
•
•
•
•
•
Domain Expert
Knowledge Engineer
Programmer
Project Manager
End User
Building an Expert System
•
Problem assessment




•
determine the problem’s characteristics
identify the main participants
specify the project’s objectives
determine the resources needed
Data and knowledge acquisition


collect and analyze data and knowledge
make key concepts of the system design
explicit
Building an Expert System
•
Development of a prototype system




•
choose a tool
transform data and represent knowledge
design and implement prototype
test the prototype
Development of a complete system




prepare a detailed design for a full scale system
collect additional data and knowledge
develop the user interface
implement the complete system
Building an Expert System
• Evaluation and revision of a complete
system (look for inconsistencies and
incompleteness)
• Integration and maintenance of system
 make arrangements for technology transfer
 establish an effective maintenance program
Building a Fuzzy Expert System
1. Specify the problem. Define linguistic
variables.
2. Determine the fuzzy sets.
3. Construct the fuzzy rules.
4. Encode the fuzzy sets, fuzzy rules and
fuzzy inference procedures into the
expert system.
5. Evaluate and tune the system.
Expert System Shell
• CLIPS is a productive development and
delivery expert system tool which provides
a complete environment for the
construction of rule and/or object based
expert systems. Created in 1985, CLIPS is
now widely used throughout the
government, industry, and academia.
CLIPS features
• Allows for many types of knowledge
representation (e.g. rules and procedures)
• Portable (written in C)
• Extensible
• Embeddable
• Interactive Development
• Verification and Validation support
• Fully documented
• Public Domain!
Advantages
• Natural Language representation
• Uniform structure
• Separates knowledge from processing
• Can deal with incomplete and uncertain
knowledge
Disadvantages
• Opaque relations between rules
• Ineffective search strategy
• Typically can’t learn
Commercial Applications
• National Semiconductor Manufacturing
(Singapore) – troubleshoot recurrent equipment
breakdowns
• Work and Income New Zealand (a.k.a. Social
Welfare Department) - deal with questions of
eligibility, allowances and benefit amounts
• GE Capital Global Consumer Finance - help
identify risk, retain customers and target
prospects
Commercial Applications
• Department of Industry and Fisheries,
Tasmania – assist the delivery of
information to farmers
• Misselbrook and Weston stores – detect
in-store fraud
• Channel 4 TV (UK) – sequence
commercial breaks
• Tokyo Nissan - how to increase domestic
demand
Commercial Applications
• Rockwell Aerospace and NASA - enables
the user to quantify molecular and
particulate contamination requirements for
solar arrays, thermal control surfaces, or
optical sensors
• Meiji Mutual Life Insurance Company select the most suitable product, along
with a reason for the choice, from Meiji's
range of 37 individual oriented products
Questions?