Lecture 09
Machine Learning
Outline
•
Expert System Intro
•
Application of expert system
•
Uses
•
Components of expert system
•
Disadvantages
Expert Systems
•
Assist human expert when
integrating
various
decisions
Introduction
Definitions
•
A computer program designed to model the
problem-solving ability of a human expert.
Expert Systems Design and Development by Durkin
•
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.
Introduction to Expert Systems by Ignizio
•
A computer system which emulates the
decision-making
ability
of a human expert.
Expert Systems: Principles and Programming by
Applications of Expert Systems
Peachtree:
Applications of Expert Systems
DENDRAL: Used to
identify the structure of
chemical compounds.
First used in 1965
Applications of Expert Systems
DESIGN ADVISOR:
Gives advice to
designers of
processor chips
MYCIN:
Medical system for
Applications of Expert Systems
PROSPECTOR:
Used by geologists to identify
sites for drilling or mining
PUFF:
Medical system
for diagnosis of respiratory
conditions
XCON
Why Use an Expert System?
•
Experts are not always available. An expert system can be used
anywhere
,
any time
.
•
Decreased
decision making
time
•
Preserves knowledge
–
Builds up the corporate memory of the firm
•
Provide novice with
expert advice
on a specific subject.
•
Wide distribution of rare
human knowledge
•
Aids in
training
new employees.
•
Improves worker
productivity
.
•
Provides
second opinion
in critical situations.
When to use an Expert System?
●
Ultimate users agree that
payoff
will be high
●
Application is
knowledge
intensive
●
A
human
expert
exists
●
Not
a
natural-language
intensive application
●
A
wide
range
of
test cases
are available
The main players in the expert system are the:
1.
Expert System:
An expert system is a computer program using
expert knowledge to attain high levels performance in a narrow
problem area.
2.
Domain Expert:
He is an articulate, knowledge person with a
reputation for producing good solutions to problems in a
particular field.
3.
Knowledge Engineer:
He is a human, usually with a background in
computer science and AI, who knows how to build expert systems.
4.
Expert System Building Tool:
It is the programming language used
by the knowledge engineer or programmer to build the Expert
system.
5.
The user:
He is the human who uses the expert system once it is
developed.
Expert System Development Life
Cycle
1.
Assessment
•
Determine feasibility & justification of the problem
•
Define overall goal and scope of the project
•
Resources requirement
•
Sources of knowledge
2.
Knowledge Acquisition
•
Acquire the knowledge of the problem
•
Involves meetings with expert
Expert System Development Life Cycle
3.
Design
–
Selecting knowledge representations approach and problem
solving strategies
–
Defined overall structure and organization of system knowledge
–
Selection of software tools
–
Built initial prototype
–
Iterative process
4.
Testing
–
Continual process throughout the project
–
Testing and modifying system knowledge
–
Study the acceptability of the system by end user
Expert System Development Life Cycle
5.
Documentation
–
Compile all the projects information into a
document for the user and developers of the
system such as:
•
User manual
•
diagrams
•
Knowledge dictionary
6.
Maintenance
Expert System Shells:
•
In general the systems were constructed as a set of
declarative representations (
rules
).
•
Combined with an
interpreter
for those rules, it was
possible
to
separate
the
interpreter
from
the
domain-specific
knowledge
and thus to create a system that
could be used to construct new expert systems by adding
new knowledge to the new
problem
domain
.
•
The resulting interpreters are called as "
Shells
".
Components of an Expert System
•
The
knowledge
base
is the collection of
facts
and
rules
which describe all the knowledge about the
problem
domain
.
•
The
inference
engine
(
Brain of ES
) is the part of the
system that chooses which facts and rules to
apply
when trying to solve the user’s query.
•
The
user
interface
is the part of the system which
takes in the user’s query in a readable form and
passes it to the inference engine. It then displays the
results to the user.
Components of an Expert System
Dialogue Module (User Interface)
System Do you have fever?
User Yes
System Do you have bad throat?
User No
System Do you have cough?
User Yes
System Are you suffering from running nose?
User Yes
System Are you suffering from headache?
Knowledge Representation
•
Representing the knowledge
–
Rules
–
Frames
–
Semantic Networks
–
Propositional and Predicate Logic
RULES
A formal way of specifying a recommendation, directive,
expressed as,
"IF premise (idea) THEN conclusion“
Rule based knowledge representation centers on the use of
IF
condition
THEN
action statements.
Ex: - if the patient was an insulator before 1965, then the
patient
directly handled asbestos (fibrous minerals).
This sort of matching is what is called "
INFERENCE
CHAINS
".
Rules and Facts
•
Rules:
–
IF the car doesn’t run and the fuel gauge reads empty THEN fill the
gas tank.
–
IF there is flame, THEN there is a fire.
–
IF there is smoke, THEN there may be a fire.
–
IF there is a siren, THEN there may be a fire.
•
Facts:
–
The car doesn’t run
–
There is a flame
–
There is smoke
–
There is a siren
•
The meaning of firing a rule:
Rules for a Credit Application
Mortgage application for a loan for $100,000 to $200,000
If there are no previous credits problems, and
If month net income is greater than 4x monthly loan payment, and
If down payment is 15% of total value of property, and
If net income of borrower is > $25,000, and
If employment is > 3 years at same company
Then accept the applications
FRAME
•
A frame is
a data structure
with
typical knowledge about a
particular object or concept.
•
Frames were first proposed by
Marvin Minsky
in the 1970s.
•
Each frame has its own name
and a set of
attributes
associated
with it.
Carrier, Name, Flight,
Date, … Gate
are slots in the
frame
Boarding pass
.
•
Frames provide a natural, concise way to
represent knowledge.
•
Frames are an early application of
object-oriented programming for expert
systems.
•
A knowledge engineer refers to, what is an
equivalent of an object in OOP, as a frame
SEMANTICNET:
•
A semantic network
– a classic AI representation technique used for propositional information
– a propositional net
•
A proposition
– a statement that is either true or false
•
A semantic net
– a labeled, directed graph
•
The structure of a semantic net is
shown graphically in terms of nodes
and the arcs connecting them.
– Nodes are sometimes referred to as objects
– arcs as links or edges
– The links are used to express relationships
– Nodes are to represent physical objects, concepts, or situation
•
Two types of commonly used links are
–
IS-A, and
–
A-KIND-OF
•
IS-A means "is an instance of' and refers to a
specific member of a class
–
A class is related to the mathematical concept of a
set in that it refers to a group of objects
–
For example,
•
{3, eggs, blue, tires, art}
A Semantic Net with IS-A and A-Kind-Of (AKO) links
Expert System Tools
• PROLOG
– A programming language that uses backward chaining.
• ART-IM (Inference Corporation)
– Following the distribution of NASA's CLIPS, Inference Corporation implemented a forward-chaining only derivative of ART/CLIPS called ART-IM.
• ART (Inference Corporation)
– In 1984, Inference Corporation developed the Automated Reasoning Tool (ART), a forward chaining system.
• CLIPS
– NASA took the forward chaining capabilities and syntax of ART and introduced the "C Language Integrated Production System" (i.e., CLIPS) into the public domain.
• OPS5 (Carnegie Mellon University)
– OPS5 (Carnegie Mellon University) – First AI language used for Production System (XCON)
• Eclipse (The Haley Enterprise, Inc.)