Download Rule-Based Expert Systems

Document related concepts

AI winter wikipedia , lookup

Ecological interface design wikipedia , lookup

Computer Go wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Stemming wikipedia , lookup

Personal knowledge base wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Transcript
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
Fir e
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
X
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.