rule-based expert systems cps 4801. about the midterm exam exam on march 13 tuesday (tentatively)...
Post on 27-Dec-2015
257 Views
Preview:
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 generalo requires vast amounts of knowledge about the
world.
• Domain-specific intelligenceo 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/health-tools/search-by-symptom.html
DXplainDXplain first launched in 1986
– Users enter clinical information, then ask DXplain to provide diagnostic decision support
– DXplain knowledge base (KB) covers ~2400 diseasesand 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
GIDEONGlobal 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 guidethe reasoning process.
Reasoning + Knowledge + Facts
• Human expertise typically breaks down into: oAbility to reasonoKnowledge about the domainoFacts about the particular situation (e.g.
this patient’s symptoms)• Expert Systems use symbolic reasoning
to solve problemso 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 mistakeso So do human experts!o Users have to be aware of this possibility
Rules• Production rules (most commonly used
type)
• IF the ‘traffic light’ is green• THEN the action is go
• IF the ‘traffic light’ is red• THEN 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’ < 18o AND ‘cash withdrawal’ > 1000o THEN ‘signature of the parent’ is required
Semantics of rules Relation
IF the ‘fuel tank’ is empty THENthe 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 step1 is complete AND the ‘fuel tank’ is full THEN
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).
Knowledge Base
Database
Fact: A is x
Match Fire
Fact: B is y
Rule: IF A is x THEN B is y
Inference engine algorithm
• Inference engine compares each rulewith facts it already “knows” about,matching the antecedent (IF condition)
• When the antecedent matches one ormore known facts, the rule fires andits consequent (THEN) is executed
Inference Chain• An inference chain indicates how an expert
system applies rules to reach a conclusion
Rule1: IF Y is trueAND D is trueTHEN Z is true
Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true
Rule3: IF A is trueTHEN X is true
A X
B
E
Y
D
Z
given: A, B, D, E
Inference Chain• An inference chain indicates how an expert
system applies rules to reach a conclusion
Rule1: IF Y is trueAND D is trueTHEN Z is true
Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true
Rule3: IF A is trueTHEN X is true
A X
B
E
Y
D
Z
given: A, B, D, E
Inference Chain• An inference chain indicates how an expert
system applies rules to reach a conclusion
Rule1: IF Y is trueAND D is trueTHEN Z is true
Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true
Rule3: IF A is trueTHEN X is true
A X
B
E
Y
D
Z
given: A, B, D, E
Two approaches• Forward chaining • Backward chaining
Forward chaining (data-driven 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
Match Fire Match Fire Match Fire Match Fire
Knowledge Base
Database
A C E
X
Database
A C E
L
Database
A D
YL
B
X
Database
A D
ZY
B
LX
Cycle 1 Cycle 2 Cycle 3
X & B & E
ZY & D
LC
L & M
A X
N
X & B & E
ZY & D
LC
L & M
A X
N
X & B & E
ZY & D
LC
L & M
A X
N
X & B & E
ZY & D
LC
L & M
A X
N
Knowledge Base Knowledge Base Knowledge Base
X
C E C EB D B D
Y Y Y Y
Forward Chaining Exercise 1
• Use forward chaining to prove the following:
Forward Chaining Exercise 1
• Facts:
• Rules fired: A X A YA & D Q Q R R S Q T T Z
A B C D E
Proven:Z
A B C D E X Y Q R S T ZA B C D E X A B C D E X Y A B C D E X Y Q A B C D E X Y Q R A B C D E X Y Q R S A B C D E X Y Q R S T
Use forward chaining to prove the following:
Forward Chaining Exercise 2
• Use forward chaining to prove the following:
Forward Chaining Exercise 2
• Facts:
• Rules fired: A X A YA & D Q Q R R S Q T T Z
A B C D E X Y Q R S T Z
Cannot prove:
– No more rules left to fire
L
Use forward chaining to prove the following:
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 (goal-driven 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.
Match Fire
KnowledgeBase
Database
AB CD E
X
Match Fire
KnowledgeBase
Database
AC DE
YX
B
Sub-Goal: X Sub-Goal: Y
Knowledge Base
Database
AC DE
ZY
B
X
Match Fire
Goal: Z
Pass 2
KnowledgeBase
Goal: Z
Knowledge Base
Sub-Goal: Y
KnowledgeBase
Sub-Goal: X
Pass 1 Pass 3
Pass 5Pass 4 Pass 6
Database
AB CD E
Database
AB CD E
Database
BC DEA
YZ
?
X
?
X & B & E
LCL &M
A X
N
ZY & DX & B & EY
ZY & D
LCL &M
A X
NLC
L &M N
X & B & EYZY & D
A X
X & B & EYZY & D
LC
L & M
A X
N
X & B & E
LCL & M
A X
N
ZY & DX & B & E
ZY & D
LC
L & M
A X
N
Y
YY
Backward chaining algorithm
o At the first iteration, rule(s) with thedesired 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 proveno Otherwise, if no rules remain,
the desired goal is not proven
Backward chaining
Match Fire
KnowledgeBase
Database
AB CD E
X
Match Fire
KnowledgeBase
Database
AC DE
YX
B
Sub-Goal: X Sub-Goal: Y
Knowledge Base
Database
AC DE
ZY
B
X
Match Fire
Goal: Z
Pass 2
KnowledgeBase
Goal: Z
Knowledge Base
Sub-Goal: Y
KnowledgeBase
Sub-Goal: X
Pass 1 Pass 3
Pass 5Pass 4 Pass 6
Database
AB CD E
Database
AB CD E
Database
BC DEA
YZ
?
X
?
X & B & E
LCL &M
A X
N
ZY & DX & B & EY
ZY & D
LCL &M
A X
NLC
L &M N
X & B & EYZY & D
A X
X & B & EYZY & D
LC
L & M
A X
N
X & B & E
LCL & M
A X
N
ZY & DX & B & E
ZY & D
LC
L & M
A X
N
Y
YY
Backward chaining
Match Fire
KnowledgeBase
Database
AB CD E
X
Match Fire
KnowledgeBase
Database
AC DE
YX
B
Sub-Goal: X Sub-Goal: Y
Knowledge Base
Database
AC DE
ZY
B
X
Match Fire
Goal: Z
Pass 2
KnowledgeBase
Goal: Z
Knowledge Base
Sub-Goal: Y
KnowledgeBase
Sub-Goal: X
Pass 1 Pass 3
Pass 5Pass 4 Pass 6
Database
AB CD E
Database
AB CD E
Database
BC DEA
YZ
?
X
?
X & B & E
LCL &M
A X
N
ZY & DX & B & EY
ZY & D
LCL &M
A X
NLC
L &M N
X & B & EYZY & D
A X
X & B & EYZY & D
LC
L & M
A X
N
X & B & E
LCL & M
A X
N
ZY & DX & B & E
ZY & D
LC
L & M
A X
N
Y
YY
Backward chaining Exercise 1
• Use backward chaining to prove the following:
Backward chaining Exercise 1
• Facts:
• Stack of rules: (subgoals)
• Rules fired:A & D Q Q T T Z
A B C D E Q T Z
Proven:ZA & D Q Q T T Z
A B C D E
Use backward chaining to prove the following:
Backward chaining Exercise 2
• Use backward chaining to prove the following:
Backward chaining Exercise 2
• Facts:
• Stack of rules: (subgoals)
• Cannot prove:o Subgoal N cannot be proven
A B C D E
N L
L
Use backward chaining to prove the following:
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 priorityo Most specific ruleo 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 smarto 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 databaseo 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 representationo Represent knowledge in near-linguistic,
declarative manner that is close to how experts explain their own reasoning.
• Uniform structureo 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 strategyo The inference engine applies an exhaustive
search through all the rules during each cycle.o unsuitable for real-time applications
• Unable to learno An expert system cannot automatically modify
its knowledge base, adjust existing rules or add new ones.
top related