Rule-Based Expert Systems
Download
Report
Transcript Rule-Based Expert Systems
Rule-Based Expert Systems
CPS 4801
About the midterm exam
• Exam on March 13 Tuesday (Tentatively)
• Review on March 8 Thursday
• Grades will be out by March 15, before
spring break.
Strong AI vs. Weak AI
• Strong AI is artificial intelligence that
matches or exceeds human intelligence.
o “Artificial general intelligence”
• The weak AI hypothesis: machines can
demonstrate intelligence, but do not
necessarily have a mind, mental states or
consciousness.
“General purpose” intelligence
vs. Domain-specific intelligence
• “General purpose” intelligence
o Understand how the world works in general
o requires vast amounts of knowledge about the
world.
• Domain-specific intelligence
o Restricted to a particular domain
o Knowledge is deep, but not wide.
o Avoids the world knowledge problem, and is
much more feasible for implementation.
Expert Systems
• Domain expert: A person who has deep
knowledge (in the form of facts and rules)
and strong personal experience in a
particular domain.
• An expert system performs at a human
expert level in a narrow and specialized
domain.
Medical Diagnostics
• simple expert system
• http://familydoctor.org/familydoctor/en/he
alth-tools/search-by-symptom.html
DXplain
DXplain first launched in 1986
–
–
–
Users enter clinical information, then ask DXplain
to provide diagnostic decision support
DXplain knowledge base (KB) covers ~2400
diseases
and over 5000 clinical findings (signs, symptoms,
epidemiologic data, laboratory findings, etc.)
Demo:
http://dxplain.mgh.harvard.edu/dxp/dxp.sdemo.pl
–
Info: http://lcs.mgh.harvard.edu/projects/dxplain.html
GIDEON
Global Infectious Disease and Epidemiology
Network
–
–
–
–
Online application that supports the diagnosis
and treatment of infectious diseases
Organized by country of origin
Updated weekly
Info: http://www.gideononline.com/
Characteristics of
Expert Systems
• Often a tradeoff between accuracy and
speed.
• Expert systems apply heuristics to guide
the reasoning process.
Reasoning + Knowledge + Facts
• Human expertise typically breaks down into:
o Ability to reason
o Knowledge about the domain
o Facts about the particular situation (e.g.
this patient’s symptoms)
• Expert Systems use symbolic reasoning to
solve problems
o Symbols represent facts and rules (i.e.
knowledge)
Characteristics of
Expert Systems
• Expert systems provide explanation facilities
to display reasoning to users.
o How did you come to that conclusion or
diagnosis?
o E.g., Why do you think I have a migraine?
o Well, you have frequent, intense pain in the
temple area, associated with nausea. Also, you
aren’t taking any medications that are likely to
produce these symptoms.
Characteristics of
Expert Systems
• Expert systems make mistakes
o So do human experts!
o Users have to be aware of this possibility
Rules
• Production rules (most commonly used type)
• IF
• THEN
the ‘traffic light’ is green
the action is go
• IF
• THEN
the ‘traffic light’ is red
the action is stop
Rules
• Any rule consists of two parts: the IF part,
called the antecedent (premise or
condition) and the THEN part called the
consequent (conclusion or action).
•
•
•
•
IF <antecedent>
THEN <consequent>
Alternate syntax:
<antecedent> <consequent>
Multiple antecedents
• A rule can have multiple antecedents
joined by the keywords AND (conjunction),
OR (disjunction) or a combination of both.
• IF animal is horse-shaped
• AND animal has stripes
• THEN animal is zebra
• IF animal is hippo
• OR animal is lion
• THEN animal is dangerous
Multiple consequents
• Multiple consequents are possible, and are
connected by conjunctions.
•
•
•
•
IF tsunami alarm is sounding
AND date is not first Monday in month
THEN Condition is dangerous
AND Advice is “move away from the ocean”
Structure of antecedents
and consequents
• The antecedent of a rule incorporates two
parts: an object and its value. The object
and its value are linked by an operator.
• Operators
o is, are, is not, are not are used to assign a
symbolic value to a linguistic object.
o mathematical operators to define an object as
numerical and assign it to the numerical value.
o IF
‘age of the customer’ < 18
o AND ‘cash withdrawal’ > 1000
o THEN ‘signature of the parent’ is required
Semantics of rules
Relation
IF
the ‘fuel tank’ is empty
THEN
the car is dead
Recommendation
IF
the season is autumn
AND
the sky is cloudy
AND
the forecast is drizzle
THEN
the advice is ‘take an umbrella’
Directive
IF
the car is dead
AND
the ‘fuel tank’ is empty
THEN
the action is ‘refuel the car’
Strategy
IF
the car is dead
THEN
the action is ‘check the fuel tank’;
step1 is complete
IF
AND
THEN
step1 is complete
the ‘fuel tank’ is full
the action is ‘check the battery’;
step2 is complete
Heuristic
IF
the spill is liquid
AND
the ‘spill pH’ < 6
AND
the ‘spill smell’ is vinegar
THEN
the ‘spill material’ is ‘acetic acid’
So what are facts?
Rule-based expert system
• An expert system whose knowledge base
(KB) contains a set of production rules.
The Main Players In The Expert
System Development Team
Structure of a rule-based
expert system
Inference Engine
• domain knowledge: IF-THEN rules
• data: facts about the current situation
• When the IF (condition) part of the rule
matches a fact, the rule is fired.
• The matching of the rule IF parts to the facts
produces inference chains (new facts are
discovered).
Database
Fact: A is x
Fact: B is y
Match
Fire
Knowledge Base
Rule: IF A is x THEN B is y
Inference engine
algorithm
• Inference engine compares each rule
with facts it already “knows” about,
matching the antecedent (IF condition)
• When the antecedent matches one or
more known facts, the rule fires and
its consequent (THEN) is executed
Inference Chain
• An inference chain indicates how an expert system
applies rules to reach a conclusion
Rule 1:
IF
Y is true
AND D is true
THEN Z is true
Rule 2:
IF
AND
AND
THEN
Rule 3:
X is true
B is true
E is true
Y is true
IF
A is true
THEN X is true
given: A, B, D, E
A
X
B
Y
Z
E
D
Inference Chain
• An inference chain indicates how an expert system
applies rules to reach a conclusion
Rule 1:
IF
Y is true
AND D is true
THEN Z is true
Rule 2:
IF
AND
AND
THEN
Rule 3:
X is true
B is true
E is true
Y is true
IF
A is true
THEN X is true
given: A, B, D, E
A
X
B
Y
Z
E
D
Inference Chain
• An inference chain indicates how an expert system
applies rules to reach a conclusion
Rule 1:
IF
Y is true
AND D is true
THEN Z is true
Rule 2:
IF
AND
AND
THEN
Rule 3:
X is true
B is true
E is true
Y is true
IF
A is true
THEN X is true
given: A, B, D, E
A
X
B
Y
Z
E
D
Two approaches
• Forward chaining
• Backward chaining
Forward chaining (datadriven search)
• Starts with known data (facts).
• Fire the rules that have an antecedent that
matches facts in the database, and add
any resulting facts to the database.
• Each rule can fire only once.
• Each time only the topmost rule is executed.
• When no more rules can fire, stop.
Forward Chaining
Database
A
B
C
D
Database
A
E
B
C
X
Match
Fire
Match
Knowledge Base
Y&D
Z
X&B&E
Y
A
C
L&M
Database
D
E
X
L
Fire
Knowledge Base
Y&D
Z
X&B&E
Y
X
L
N
A
C
L&M
Cycle 1
X
L
N
A
B
Database
C
D
E
X
L
Y
Match
Fire
Knowledge Base
Y&D
Z
X&B&E
Y
A
C
L&M
Cycle 2
X
L
N
A
B
C
D
E
X
L
Y
Z
Match
Fire
Knowledge Base
Y&D
Z
X&B&E
Y
A
C
L&M
Cycle 3
X
L
N
Forward Chaining
Exercise 1
• Use forward chaining to prove the following:
Forward Chaining Exercise 1
Use forward chaining to prove the following:
• Facts:
A
• Rules fired:
B
C
D
A
A
A & D
Q
R
Q
T
E
X
X
Y
Q
R
S
T
Z
Y
Q
R
S
T
Proven:
Z
Z
Forward Chaining
Exercise 2
• Use forward chaining to prove the following:
Forward Chaining Exercise 2
Use forward chaining to prove the following:
• Facts:
A
• Rules fired:
B
C
D
A
A
A & D
Q
R
Q
T
E
X
X
Y
Q
R
S
T
Z
Y
Q
R
S
T
Z
Cannot prove:
L
–
No more rules
left to fire
Forward Chaining +/• Good for answering “What is the situation?”
kind of questions (e.g. “What kind of animal
is this?”)
• Fires a lot of rules, and generates a lot of
facts that might be irrelevant to the problem
• If our goal is to infer only one particular fact,
the forward chaining inference technique
would not be efficient.
Backward chaining (goaldriven search)
• System has hypothetical solution(s) (e.g.
“The patient has type I diabetes”), and tries
to prove it.
o Find rules that consequents that match the goal.
o If antecedents match the facts, stop.
o If not, make the antecedents the new subgoals,
and repeat.
Backward chaining
algorithm
o At the first iteration, rule(s) with the
desired goal in the consequent are selected
o Stack up and attain many subgoals until....
o If the antecedent matches known data,
the rule is fired and the goal is proven
Z
o Otherwise, if no rules remain,
the desired goal is not proven
Pass 1
Database
A
BC
DE
Y
Knowledge Base
Y&D
Z
X&B&E
Y
A
X
C
L
L&M
N
Goal: Z
Pass 4
Database
AB
CD
E
Backward chaining
Pass 1
Database
A
BC
Pass 2
Database
DE
AB
CD
Pass 3
Database
E
AB
?
Z
E
?
Y
Knowledge Base
Y&D
Z
X&B&E
Y
A
X
C
L
L&M
N
CD
X
Knowledge Base
Y&D
Z
X & B & EY
A
X
C
L
L&M
N
Knowledge Base
Y&D
Z
X & B & EY
A
X
C
L
L&M
N
Goal: Z
Sub-Goal: Y
Sub-Goal: X
Pass 4
Pass 5
Pass 6
Y&D
Z
X&B&E
Y
A
X
C
L
L&M
N
Y&D
Z
X & B & EY
A
X
C
L
L&M
N
Y&D
Z
X & B & EY
A
X
C
L
L&M
N
Backward chaining
AB
Goal: Z
Sub-Goal: Y
Sub-Goal: X
Pass 4
Database
Pass 5
Database
Pass 6
Database
CD
E
AC B
X
Fire
Match
Knowledge Base
Y&D
Z
X & B & EY
A
X
C
L
L&M
N
Sub-Goal: X
DE
X
Match
AC B
Y
Fire
Knowledge Base
Y&D
Z
X&B&E
Y
A
X
C
L
L&M
N
Sub-Goal: Y
DE
X
Y
Z
Fire
Match
Knowledge Base
Y&D
Z
Y
X&B&E
A
X
C
L
L&M
N
Goal: Z
Backward chaining
Exercise 1
• Use backward chaining to prove the
following:
Backward chaining Exercise 1
Use backward chaining to prove the following:
• Facts:
A
B
• Stack of rules:
(subgoals)
• Rules fired:
C
D
E
Q
A & D Q
Q T
T Z
A & D Q
Q T
T Z
T
Z
Proven:
Z
Backward chaining
Exercise 2
• Use backward chaining to prove the
following:
Backward chaining Exercise 2
Use backward chaining to prove the following:
• Facts:
A
B
C
D
• Stack of rules:
(subgoals)
• Cannot prove:
E
N L
L
o Subgoal N cannot be proven
Backward chaining +/• Efficient way to prove or disprove a
particular hypothesis.
• Sometimes more efficient with a small set of
hypotheses
• Less efficient than forward chaining if large
number of hypotheses
Forward vs. backward
chaining
• If an expert first needs to gather some
information and then tries to infer from it
whatever can be inferred, choose the
forward chaining inference engine.
• However, if your expert begins with a
hypothetical solution and then attempts to
find facts to prove it, choose the backward
chaining inference engine.
Forward vs. backward
chaining
• Forward chaining: best for analysis and
interpretation (e.g. DENDRAL (1971)
determines molecular structure of soil
sample).
• Backward chaining: best for diagnosis (e.g.
MYCIN (1976) diagnoses infectious blood
diseases).
Forward + backward
chaining
• Most real expert systems use both.
• Primary inference is backward chaining.
• Switches to forward chaining when new
data is added.
• Minimizes pointless queries to user
(backward chaining), but exploits any facts
that are acquired.
Conflict resolution
Rules with identical antecedents (IF conditions) can
cause conflicts via their consequents (THEN clauses)
Rule 1:
IF
the ‘traffic light’ is green
THEN
the action is go
Rule 2:
IF
the ‘traffic light’ is red
THEN
the action is stop
Rule 3:
IF
the ‘traffic light’ is red
THEN
the action is go
Conflict sets
• A subset of the rules in a knowledge base
that can fire at the same time, but have
inconsistent consequents.
• X is dog X is not smart
• X is dog & X has breed = “border collie”
X is smart
Conflict resolution
• Conflict resolution provides a specific
method for choosing which rule to fire.
o Highest priority
o Most specific rule
o Most recent first
Conflict resolution
methods (1)
• Rules fire one at a time. But which fires first?
• Order of rules determines order of firing.
• Give rules explicit priority.
o In simple applications, the priority can be
established by placing the rules in an
appropriate order in the knowledge base.
Conflict resolution
methods (2)
• Fire the most specific rule (longest matching
strategy).
o Assumes that a specific rule processes more info
than a general one.
o X is dog X is not smart
o X is dog & X has breed = “border collie”
X is smart
Conflict resolution
methods (3)
• Fire the rule based on the data most
recently entered in the database
o Assumes that recent data is more important than
older data.
o Relies on time tags attached to each fact in the
database.
o R1: …… [08:16 PM 02/27/2012]
o R2: …… [10:18 AM 02/28/2012]
Pros of rule-based expert
systems
• Natural knowledge representation
o Represent knowledge in near-linguistic,
declarative manner that is close to how experts
explain their own reasoning.
• Uniform structure
o uniform IF-THEN structure
• Separation of knowledge from processing.
• Good at handling incomplete or uncertain
knowledge (next topic).
Cons of rule-based expert
systems
• Opaque relations between rules
o How do the rules relate to each other?
o Difficult to avoid conflicts in large knowledge
bases.
• Ineffective search strategy
o The inference engine applies an exhaustive search
through all the rules during each cycle.
o unsuitable for real-time applications
• Unable to learn
o An expert system cannot automatically modify its
knowledge base, adjust existing rules or add new
ones.