Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

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 interface:
Knowledge base

Question-andanswer
Menu driven

Knowledgebase editor General knowledgebase

User
Natural language

Inference engine

Case-specific
data

Graphic
inteface
Expert system shell

Explanation subsystem

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

MYCINS knowledge base


About 400 diagnostic rules About 5 therapy rules

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 THEN there is suggestive evidence (0.6) that is a compromised host

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?) Mycins simple rule format and friendly explanations in English are the key.

MYCIN Explanation
User: Why didnt 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 system


If 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 variables APP (the appraisal on the collateral is greater than the loan amount) RATING (The applicant has a good credit rating) INC (The applicants income exceeds his expenses) BAL (The applicant has an excellent balance sheet) Derived variables OK (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) (2) (3) (4) (5) COLLAT PYMT REP OK APP COLLAT RATING REP INC PYMT 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
(1)

OK
(5)

COLLAT PYMT REP


(2) (4) (3)

BAL

REP
(3)

APP

INC

RATING

RATING

The loan approval as a rule based system


rule 1 if collat is true and rule 4 if inc is true

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

then 1.0 certainty pymt is true.

rule 5 if and bal is true rep is true then 1.0 certainty ok is true.

if

rating is true

then 1.0 certainty rep 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 applicants 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)

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

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

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

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

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
0 0 0 0 0
1

MB

MI

MD

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 ?

Statistical interpretations
Characteristics
Ranges

Values
0 <= MB <= 1 0 <= MD <= 1 -1 <= CF <= 1

Certain True Hypothesis P(H|E) =1

MB=1 MD=0 CF =1

Certain False Hypothesis P(-H|E) =1

MB=0 MD=1 CF = -1

Lack of evidence P(H|E) =P(H)

MB=0 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 dont distinguish between ignorance and inconsistency.

CF rule principle

if

P
CF(P) computed

then

CF certainty Q
parameter defined CF(Q) computed

CF(P) *CF CF(Q) = 0

CF(P) >0 otherwise

Antecedent Combination Rule


The CF values of the premise is computed together
If A and B then CF
(CF = 0.6)

A B

CF(A) CF(B)

(0.5) (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)

Serial Combination Rule


The CF-values are chained together with the rule applications

IF AA

THEN

CF1
(0.7)

B
=> CF(B)=0.35

CF(AA)=0.5

IF B THEN
(0.35)

CF2
(0.3)

C
=> CF(C) = 0.105

Paralell combination rule


Accumulation of CF-values, contribution from several rules

(1) IF AA1 then xx (2) IF AA2 then yy CF(R) = P + Q P*Q


R P Q

R ( CF(R1)= P) R
( CF(R1)= Q)

(in the simple case)

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) _________________ (1 min(|CF1|,|CF2|))

(CF1*CF2 <0)

Motivation for complete parallel rule


Historically, the parallel rule for CF values of opposite sign was just CF = CF1 + CF2 e.g. CF1=0.999 CF2= - 0.799 => CF = 0.2 which is unreasonably low (damn sure)

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 . :-)

You might also like