Post on 15-Dec-2015
Rule Based Systems
Rule based systems / Knowledge based systems/ Expert Systems
have played and plays an important role in the AI industry.
A report from from 1993 by John Durkin:
Reports on Over 2500 Developed Expert Systems
Application areas:
Agriculture, Business, Chemistry, Communications, Computer Systems, Education, Electronics, Engineering, Environment, Geology, Image processing, Information Management, Law, Manufacturing, Mathematics, Medicine, Meteorology, Military, Mining, Power Systems, Science, Space Technology, Transportation
Types of systems:
Rule Based, Frame Based, Fuzzy Logic, Case Based, Neural Network
Architecture of a typical expert system
User
User interface:
Question-and-answer
Menu driven
Natural language
Graphic
inteface
Explanation subsystem
Inference engine
Knowledge- base editor
General knowledge- base
Case-specific
data
Knowledge base
Expert system shell
AI in Medicine (USA 1970)• Stanford
MYCIN - blood infections
• Rutgers
CASNET - casual reasoning
• MIT
PIP - renal disease
• Stanford
• Pittsburgh
Internist – internal medicine
- ”the primary goal of this field is to develop computer programs that perform efficiently and are able to explain their reasoning and conclusions to their users”
Why Mycin?•Diagnose likely infecting organisms in blood and meningitis infections
•Use test results and information about patient supplied by doctor
•Prescribe an effective antibiotic treatment
•Do this early in the course of the disease, before all possible information is available
•To counteract:
- overuse of antibiotics
- irrational use of antibiotics
-maldistribution of expertise
Mycin system for diagnosis og meningitis and
bacteremia (bacterial infections) IF
the site of the culture is blood, and
the identity of the organism is
not known with certainty, and
the stain of the organism is gramneg, and
the morphology of the organism is rod, and
the patient has been seriously burned
THEN
there is weakly suggestive evidence (0.4) that
the identity of the organism is pseudomonas
MYCIN diagnosis rule (2)
IF
the site of the culture is blood, and
the identity of the organism is gramneg, and
the morphology of the organism is rod, and
the patient is a compromised host
THEN
there is suggestive evidence (0.6) that
the identity of the organism is pseudomonas-Aeruginosa
MYCIN diagnosis rule (3)
Rule 3
IF (1) stain of organism is gram-positive and
(2) morphology of organism is coccus and
(3) growth-conformation of the organism is clumps
THEN there is suggestive evidence (0.7) that
identity of organism is staphylococcus.
MYCIN diagnosis rule (3)
(CEFAX notation )
rule 3
if stain of organism is gram_positive and
morphology of organism is coccus and
growth_conformation of organism is clumps
then 0.7 certainty
identity of organism is staphylococcus.
MYCIN: Therapy Selection Rule
IF You are considering giving chloramphenicol, and
the patient is less than 1 week old
THEN it is definite (1.0) that chlorampericol is contraindicated for this patient
[Justification: Newborn infants may develop vasomusculular collapse due to an immaturity of the liver and kidney functions resulting in decreased metabolism of chloramphenicol]
How does MYCIN create confidence in the user
Answering ”Why?” (Why did you ask that?)
Answering ”How” (How did you arraive at that conclusion?)
Answering ”Why not X?” (Why did you not consider X?)
Mycin’s simple rule format and friendly explanations in ”English” are the key.
MYCIN Explanation
User: Why didn’t you consider Streptococcus as a possiblity
for Organism- 1
MYCIN: The following rule could have been used to determine that the identoty of Organism-1 was streptococcus:
Rule 33
But Clause 2 (”the morphology of the organism is Coccus”) was already known to be false for Organism-1, so the rule was never tried.
How MYCIN looks to the user:Therapy recommendation
[REC-1] My preferred therapy recommendation is as follows:
In order to cover for items <1 2 3 4 5Z:
Give the following in combination
1: Kanamycin
Dose 750 mg (7.5 mg(kg)q12h IM (or IV)
for 28 days
Comments: Modify dose in renal failure
2: Penicillin
Dose: 2,500,000 units (2500 units/kg) q4h IV for 28 days
Emycin and expert system shell
MYCIN has later been developed, and separated into to parts:
An expert system shell EMYCIN (empty MYCIN)
A knowledg base
The expert system shell EMYCIN is ”the mother of all expert system shells”.
One simplified version is called CEFAX is implemented at NTNU in Prolog
Rule based system as a reasoning systemIf we look aside from the uncertainties in MYCIN, the system can be regarded as logical inference system, where the explanation is the proof tree of the reasoning.
A bank clerk shall approve loans for customers. He collects the basic information about the customer, which is represented as a set of variables:
Basic variablesAPP (the appraisal on the collateral is greater than the loan amount)RATING (The applicant has a good credit rating)INC (The applicant’s income exceeds his expenses)BAL (The applicant has an excellent balance sheet) Derived variablesOK (The loan should be approved)COLLAT(The collateral for the loan is satisfactory)PYMT (The applicant is able to make the loan payments)REP (The applicant has a good financial reputation)
The loan approval rule base
He follows the banks guidelines, which can be stated as follows
(1) COLLAT PYMT REP OK(2) APP COLLAT(3) RATING REP(4) INC PYMT(5) BAL REP OK
A loan application case
Mr John Smith has applied for a loan. His case is:
APP is true, INC is true, RATING is true, BAL is true
That his loan can be approved follows from the following proof tree
(Rule numbers in parentheses)
approval
OK OK
(1) (5)
COLLAT PYMT REP BAL REP
(2) (4) (3) (3)
APP INC RATING RATING
The loan approval as a rule based system
rule 1
if collat is true and
pymt is true and
rep is true
then 1.0 certainty
ok is true.
rule 2
if app is true
then 1.0 certainty
collat is true.
rule 3
if rating is true
then 1.0 certainty
rep is true.
rule 4
if inc is true
then 1.0 certainty
pymt is true.
rule 5
if bal is true and
rep is true
then 1.0 certainty
ok is true.
A loan approval “real” dialog
User: Why do you believe that the loan should be approved
System: Because the collateral for the loan is satisfactory, and the applicant is able to make the loan payments, and the applicant has a good financial reputation.
User: Why do you believe that the applicant has a good financial reputation ?
System: Because the credit-rating service said that the applicant has a good credit rating.
User: Why did you ask me about whether or not the applicant’s income exceeds his expenses ?
System: Because I was trying to establish whether or not the applicant is able to make the loan payments.
User: Why are you trying to establish whether or not the applicant is able to make loan payments.
System: Because that is one of the criteria whether or not the loan should be approved.
User: Why are you trying to establish whether or not the loan should be approved ?
System: Because you asked me to.
An expert system loan approval dialog?- eval ok.
What is the certainty of app is true --> 1.0.
What is the certainty of inc is true --> why.
I ask because
rule 4 if inc is true
then 1.00 certainty pymt is true .
I ask because
rule 1 if collat is true and pymt is true and rep is true
then 1.00 certainty ok is true .
The last conclusion was your original problem .
What is the certainty of inc is true --> 1.0.
What is the certainty of rating is true --> 1.0.
What is the certainty of bal is true --> 1.0.
ok is true IS PROVED ( 1.00)
(help./ how./ ok./ quit./ ) ?
Loan approval proof
Dialog and proof of Loan approval are shown here
PRO/loanapproval.txt
PRO/loanproof.txt
ok is true IS PROVED ( 1.00)
(help./ how./ ok./ quit./ ) ?
|: how.
BECAUSE
contributions
by rule 1 :
ok is true IS PROVED ( 1.00)
BECAUSE
collat is true IS PROVED ( 1.00)
BECAUSE
by rule 2 :
collat is true IS PROVED ( 1.00)
BECAUSE
app is true IS PROVED ( 1.00)
BECAUSE
app is true is given AND
pymt is true IS PROVED ( 1.00)
BECAUSE
by rule 4 :
pymt is true IS PROVED ( 1.00)
BECAUSE
inc is true IS PROVED ( 1.00)
BECAUSE
inc is true is given AND
rep is true IS PROVED ( 1.00)
BECAUSE
by rule 3 :
rep is true IS PROVED ( 1.00)
BECAUSE
rating is true IS PROVED ( 1.00)
BECAUSE
rating is true is given
by rule 5 :
ok is true IS PROVED ( 1.00)
BECAUSE
bal is true IS PROVED ( 1.00)
BECAUSE
bal is true is given
AND
rep is true IS PROVED ( 1.00)
BECAUSE
by rule 3 :
rep is true IS PROVED ( 1.00)
BECAUSE
rating is true IS PROVED ( 1.00)
BECAUSE
rating is true is given
The Certainty Factor model for uncertainty handling
Rule 3
IF (1) stain of organism is gram-positive and
(2) morphology of organism is coccus and
(3) growth_conformation of the organism is clumps
THEN there is suggestive evidence (0.7) that
identity of organism is staphylococcus.
The uncertainty model is based on certainties which are numbers between –1 and +1. The example 0.7 is a rule parameter that modifies the certainty of the conclusion.
Uncertainty vs Ignorance
The origin is based on belief intervals.
Measure of Belief [0.0 -- 1.0]
Measure of Disbelief [0.0 -- 1.0]
Certainty Factor = MB – MD = [ - 1.0 -- + 1.0]
Measurements of Ignorance 1.0 – (MB+MD)
Measurement of inconsistency MB+MD –1.0 (= -MI)
Uncertainty: Is it raining in Trondheim tomorrow ?
Ignorance : Is it raining in Kuala Lumpur tomorrow ?
00 0
00 1
MB MI MD
Statistical interpretationsCharacteristics Values
Ranges 0 <= MB <= 1
0 <= MD <= 1
-1 <= CF <= 1
Certain True Hypothesis MB=1
P(H|E) =1 MD=0
CF =1
Certain False Hypothesis MB=0
P(-H|E) =1 MD=1
CF = -1
Lack of evidence MB=0
P(H|E) =P(H) MD=0
CF = 0
Contradictory evidence MB=1
MD=1
CF = 0
Manipulation of CF-values
Usually, we use only one CF value, so we don’t distinguish between ignorance and inconsistency.
CF rule principle
if P then CF certainty Q
CF(P) parameter CF(Q)
computed defined computed
CF(Q) =
CF(P) *CF CF(P) >0
0 otherwise
Antecedent Combination Rule
If A and B then CF C
(CF = 0.6)
A CF(A) (0.5)
B CF(B) (0,7)
CF(A and B) = min(CF(A),CF(B)) = (0.5)
CF (C ) = CF * CF(A and B) = (0.3)
Similarily
CF(A or B) = max (CF(A),CF(B))
CF(not B) = - CF(B)
The CF values of the premise is computed together
Serial Combination Rule
IF AA THEN CF1 B
CF(AA)=0.5 (0.7) => CF(B)=0.35
IF B THEN CF2 C
(0.35) (0.3) => CF(C) = 0.105
The CF-values are chained together with the rule applications
Paralell combination ruleAccumulation of CF-values, contribution from several rules
(1) IF AA1 then xx R ( CF(R1)= P)
(2) IF AA2 then yy R ( CF(R1)= Q)
CF(R) = P + Q – P*Q (in the simple case)
QP
R
Motivation for Parallel rule
Supppose B1 and B2 are two independent stochastic variables, and that B = B1 or B2
Then
P(B) = P(B1 or B2)
= P(B1) + P(B2) – P(B1 and B2)
= P(B1) + P(B2) – P(B1)*P(B2)
which corresponds to the rule
CF(R) = CF(R1) + CF(R2) – CF(R1)*CF(R2)
The complete parallel rule
CF1 + CF2 – CF1*CF2 (CF1,CF2 >0)
CFparallel(CF1,CF2) = CF1 + CF2 – CF1*CF2 (CF1,CF2 < 0)
(CF1 + CF2) (CF1*CF2 <0) _ _________________
(1 – min(|CF1|,|CF2|))
Motivation for complete parallel ruleHistorically, the parallel rule for CF values of opposite sign was just
CF = CF1 + CF2
e.g.
CF1=0.999 (damn sure)
CF2= - 0.799
=> CF = 0.2 which is unreasonably low
The revised rule gives
CF = 0.995 (almost damn sure)
BUT the old rule also had the defect that
it was not associative and not commutative
Mathematical properties of the revised parallel rule
The parallel rule has some good and obviously required properties
The CF parallel combination rule has some very nice (and obviously required) mathematical properties:
- it is associative, i.e. evidence may be grouped arbitrarily
- it is commutative, i.e. the sequence of evidence is irrelevant
- it has a zero element, (CF = 0) that has no effect
- it is symmetric, i.e. equal but opposite evidence cancel out
However, the CF parallel combination rule is not idempotent:
C + C - C*C > C (if C >0)
(If you repeat the same weakly supported postulate sufficiently often,
it will be regarded as certain after a while . :-)