Intelligent Diagnosis
Systems
Meir Kalech
Course Outline
1.
Intelligent diagnosis systems
2.
Model-based diagnosis: basics and definitions
3.
Resolution theorem prover
4.
Diagnosis of multiple faults: general
diagnosis engine GDE
5.
Assumption-based truth maintenance system
6.
Measurements to differentiating diagnosis
Course Outline cont.
7.
Diagnosis with behavior modes
8.
Self-Configuring Systems
9.
Model-based diagnosis as a constraints
satisfaction problem
10.
Diagnosis of Discrete Event Systems
11.
Diagnosis of distributed systems
12.
Diagnosis of multi-agent systems
Today Outline
1.
What is a diagnosis?
2.
Expert systems
3.
Model-based systems
4.
Case Based Reasoning (CBR)
5.
Inductive learning
6.
Probabilistic reasoning
What is a diagnosis?
Diagnosis system identifies the reason for a problem by
examining observed symptoms.
Requirement: a knowledge of the diagnosed system
Given by experts
Learned by AI techniques
Examples for diagnosis domains:
Disease diagnosis
Identification of software and hardware problems
Troubleshooting of electrical and mechanical systems
Fault detection and diagnosis of planning
Example
Doesn’
t
start!!!
1. Ignition
2. battery
3. both
Example
What
should
I do?
¬battery
¬headlights
------------Check
headlights
Example
Components:
Battery
Bulbs (headlight)
Wiper motor
Ignition
Possible observation:
Headlights work/don’t
Engine starts/doesn’t
Wipers work/don’t
Diagnosis objectives
How to infer consequent diagnosis from
observation?
How to model the relationship between
symptoms and diagnosis?
How to diagnose faults from the model?
Different approaches
These objectives are differently treated by
different approaches, for instance:
Model-based diagnosis must have precise
model of the system (i.e. car).
Expert systems treat incomplete model
(medical diagnosis).
Case-based reasoning represents the
knowledge in a repository of cases.
Outline
1.
What is a diagnosis?
2.
Expert systems
3.
Model-based systems
4.
Case Based Reasoning (CBR)
5.
Inductive learning
6.
Probabilistic reasoning
Expert Systems
Knowledge is represented via rules
Rules express what happens when certain
conditions met:
If….Then statements
Implications A → B
Rules tell expert system what to do in
certain circumstances
Knowledge Representation
Recommendations
Directives
Take set of inputs and output advice
Example:
If alarm AND smoke
then tell people go outside
Take set of inputs and output direct action
Example:
If smoke AND fire
then go outside
Relations
Take set of inputs and output information
Example:
If temperature below 32°
then weather is cold
Rule-based Systems
Rule-based/Production system
Use rules to provide recommendations/diagnoses
Use rules to determine course of action
Use rules to solve a particular problem
Consists of:
Knowledge base – database of rules
Database of facts
Interpreter/ inference engine
Architecture
16
Elements of an Expert System
User interface – mechanism by which user and system
communicate.
Exploration facility – explains reasoning of expert
system to user.
Working memory – global database of facts used by
rules.
Inference engine – makes inferences deciding which
rules are satisfied and prioritizing.
17
Inference engine
Conclusions derived using deduction
Forward chaining – using deduction from set of
antecedents
Backward chaining – starts with conclusion and
works towards logical set of antecedents
Forward Chaining
Data-driven reasoning
Starts with data set and moves towards conclusion
When all antecedents matched, rule is triggered
and conclusion added to facts database
Conflict resolution
Occurs when more than one conclusion deduced
from facts
Conflict resolution:
1. Priority resolution
Each
rule given a priority level
Rule with highest priority triggered
Example:
IF patient has pain
THEN prescribe painkillers (priority 10)
If patient has chest pain
THEN treat for heart disease (priority 100)
Conflict resolution:
2. Longest-matching strategy
Conclusion deduced from longest rule triggered
Example:
If patient has pain
THEN prescribe painkillers
If patient has chest pain
AND patient is over 60
AND patient has history of heart conditions
THEN take to emergency room
Conflict resolution:
3. Most recent match
Rule that matches facts most recently added
to database fired
Example:
If patient has pain
THEN prescribe aspirin (entered 10/17/1975)
If patient has pain
THEN prescribe acetomenophin (entered
11/1/2000)
Backward Chaining
Goal-driven reasoning
Starts with a conclusion/hypothesis and moves to
show hypothesis can be reached from rules and
facts in database
Used in formulating plans
FC vs BC
Forward chaining appropriate when:
Set of facts available but conclusion unknown
Many possible conclusions
Backward chaining appropriate when:
Few possible conclusions but many possible facts
Possible facts consist many not relevant to
conclusion
FC vs BC Example
Rules:
1.
2.
3.
4.
5.
6.
A^B →C
A
→D
C^D →E
B^E^F→G
A^E →H
D^E^H→I
Facts:
1. A
2. B
3. F
Goal = H
Forward Chaining
Facts
Rules triggered
Rules fired
A,B,F
1,2
1
A,B,C,F
2
2
A,B,C,D,F
3
3
A,B,C,D,E,F
4,5
4
A,B,C,D,E,F,G
5
5
A,B,C,D,E,F,G,H
Goal Reached!
FC vs BC Example
Rules:
1.
2.
3.
4.
5.
6.
A^B →C
A
→D
C^D →E
B^E^F→G
A^E →H
D^E^H→I
Facts:
1. A
2. B
3. F
Goal = H
Backward Chaining
Facts
A,B,F
A,B,F
A,B,F
A,B,C,F
A,B,C,D,F
Goals
H
E
C,D
D
Matching Rules
5
3
1
2
STOP!
Example: rule-based diagnosis
Forward chaining
Working memory:
1. Headlights don’t work
2. Faulty bulbs and/or battery
3. Faulty battery
Rules fire:
1
2
No rule matches
No further matched
Rule 2rules
is close:
faulty battery Querying the user:
Status of engine
Response: Engine doesn’t start
Problem!!!
Working memory:
Rules fire:
1. Headlights don’t work
2. Faulty bulbs and/or battery
3. Faulty battery
4. Wipers work
BUT!
By adding this fact…
No further matched rules
faulty battery
faulty ignition
AND
faulty bulbs
Is not covered by the
knowledge system
1
2
The Limitations of Rules
The success of rule-based expert systems is
due to several factors:
They can mimic some human problem-solving
strategies
Rules are a part of everyday life, so people can
relate to them
However, a significant limitation is the
knowledge elicitation bottleneck
Experts may be unable to articulate their expertise
Heuristic knowledge is particularly difficult
Experts may be too busy…
Challenges
The knowledge must be covered by the
experts.
Representing the knowledge to efficient rules.
Chose the appropriate inference mechanism.
Diagnosing multiple faulty components.
Outline
1.
What is a diagnosis?
2.
Expert systems
3.
Model-based systems
4.
Case Based Reasoning (CBR)
5.
Inductive learning
6.
Probabilistic reasoning
Model-based systems
Expert systems – complete model is unavailable
(medical diagnosis)
Model-based systems – the physical principles are
largely known (automobile diagnosis)
Formulating rules to capture the causal functional
knowledge.
Describing the properly working components. For
instance:
if ok(battery) AND ok(ignition) THEN start(engine)
If engine doesn’t start then infer by truth maintenance
system (TMS) that battery or ignition are faulty.
Scenario – example for ATMS reasoning
A goes to a birthday party of B.
B is a woman.
All women love flowers.
A decides to give flowers to B.
C tells A that B is allergic to flowers.
A buys to B a gum.
Some logic…
C = common knowledge (facts & rules)
A = assumptions
D = C A (DataBase)
Explanation for p: minimal E' ⊆ A: E' C ⊨ p
Suppose a new fact q. since D contains assumptions
that may contradict q, we should identify them.
We find all explanation for ¬q in D: {E'1,E'2…E'n}.
Then we find a minimal set H such that:
∀E'i∈{E'1,E'2…E'n}: H ∩ E'i != {} (hitting set).
H: the minimal set of assumption that contradict q.
Example for MBD
Example for MBD
Observations (facts):
¬works(headlights) ∧ ¬starts(engine) ∧ works(wipers)
we should find explanations to works(headlights), and
starts(engine).
Explanations:
E’1(works(headlights)) =
{ok(battery),ok(bulbs)}
E’2(starts(engine))
{ok(battery),ok(ignition)}
=
Diagnosis:
¬works(wipers)
H={ok(battery)}
H={ok(bulbs),ok(ignition)}
MBD - drawbacks
It is not always feasible to build an accurate
model
Inferring the diagnosis is computationally
intractable in complex systems.
Improvements:
Less accurate model
Less accurate diagnosis
Outline
1.
What is a diagnosis?
2.
Expert systems
3.
Model-based systems
4.
Case Based Reasoning (CBR)
5.
Inductive learning
6.
Probabilistic reasoning
Another Way We Solve Problems?
By remembering how we solved a similar
problem in the past
This is Case Based Reasoning (CBR)
memory-based problem-solving
re-using past experiences
Experts often find it easier to relate stories
about past cases rather than to formulate rules
Databases
Database technology would seem ideally
suited to the task of retrieving known
solutions to problems
Databases are excellent at finding exact
matches…
But are poor at near or fuzzy matches
The CBR Cycle
Solution
Review
Retain
Adapt
Retrieve
Similar
New
Problem
R4 Cycle
Retrieve the cases from the case-base whose
problem is most similar to the new problem.
Reuse the solutions from the retrieved cases to
create a proposed solution for the new problem.
Revise the proposed solution to take account of
the problem differences between the new problem
and the problems in the retrieved cases.
Retain the new problem and its revised solution
as a new case for the case-base if appropriate.
CBR Assumption(s)
The main assumption is that:
Similar problems have similar solutions:
e.g., an aspirin can be taken for any mild pain
Two other assumptions:
The world is a regular place: what holds true today
will probably hold true tomorrow
(e.g., if you have a headache, you take aspirin, because it
has always helped)
Situations repeat: if they do not, there is no point
in remembering them
(e.g., it helps to remember how you found a parking space
near that restaurant)
Problems We Solve This Way
Medicine
Law
English/US law depends on precedence
case histories are consulted
Management
doctor remembers previous patients, especially
for rare combinations of symptoms
decisions are often based on past rulings
Financial
performance is predicted by past results
Good / Bad Applications for CBR
Classification tasks (good for CBR)
Diagnosis - what type of fault is this?
Prediction / estimation - what happened when we saw
this pattern before?
Synthesis tasks (harder for CBR)
Engineering Design
Planning
Scheduling
Retrieval by indices
DB of
3 cases:
Scoring
function:
Retrieval by indices
Degree of
match is
the sum
of score:
New DB:
Car Diagnosis Example
Symptoms are observed
Engine does not start
Battery voltage = 7v
Goal
Cause of failure: flat battery
Repair strategy: charge battery
Car Diagnosis Case
Each case describes one diagnostic
situation
Described by a list of features
Contains a list of feature values
Problem
Case 1
Symptom: headlight does not work
Car: Ford Mondeo
Year: 2001
Solution
Diagnosis: headlight fuse blown
Repair: replace headlight fuse
Feature
Value
Battery: 10.4v
Headlights: undamaged
HeadlightSwitch: on
Car Diagnosis Case-Base
A collection of independent cases
Problem
Case 1
Solution
Case 2
Diagnosis: headlight fuse blown
Repair: replace headlight fuse
Problem
Battery: 10.4v
Symptom: headlight does not work
Headlights: undamaged
Car: Ford Mondeo
HeadlightSwitch: on
Year: 2001
Battery: 9.5v
Headlights: surface
Symptom: headlight does not work
damage
Car: Ford Ka
HeadlightSwitch: on
Year: 2003
Solution
Diagnosis: defective bulb
Repair: replace headlight
Case Representation
Depends on problem domain
Flat structure
A list of feature values (car diagnosis example)
Easy
to store and retrieve
Specialised representations
Graphs - nodes and arcs
Plans - partially ordered set of actions
Object-oriented - objects (instances of classes)
More
difficult to store and retrieve
Case Representation
Object-oriented representation: A case is
a set of objects
An object is described by a set of features
Classes are arranged in a hierarchy
Relations between objects
Car
(e.g. part-of)
Combine similarities of parts Brakes
Engine Transmission
Ignition System Fuel Injection
Coil
Spark Plug
Colour: dark grey
Gap: 1.2mm
New Car Diagnosis Problem
A new problem is a case without a solution part
Not all problem features must be known
same for cases
Problem
New
Battery: 9.2v
Symptom: brakelight does not work
Headlights: undamaged
Car: Ford Fiesta
HeadlightSwitch: ?
Year: 1997
Feature
Value
Calculating Case Similarity
Similarity(problem,case) = weighted sum of
Similarityf(problem,case) for all features f
High importance features have large weight
symptom,
battery, headlights
weight = 6
Low importance features have low weight
car,
year
weight = 1
Case similarity =
w1*s1 + w2 * s2 + …… + wn*sn
w1 + w2 + …… + wn
si is similarity of ith feature
wi is weight of ith feature
New Problem and Case 1
Similarity
Symptom: brakelight does not work 0.8
New Problem
Car: Ford Fiesta
Year: 1997
Battery: 9.2v
Headlights: undamaged
HeadlightSwitch: ?
weight = 6
1
Problem
0.6
0.6
0.9
1.0
Symptom: headlight does not
work
Car: Ford Mondeo
Year: 2001
Battery: 10.4v
Headlights: undamaged
HeadlightSwitch: on
Solution
Case 1
Diagnosis: headlight fuse blown
Repair: replace headlight fuse
Similarity(New, Case 1) =
6*0.8 + 1*0.6 + 1*0.6 + 6*0.9 + 6*1
6+1+1+6+6
= 17.4 / 20 = 0.87
New Problem and Case 2
Similarity
Symptom: brakelight does not work 0.8
New Problem
Car: Ford Fiesta
Year: 1997
Battery: 9.2v
Headlights: undamaged
HeadlightSwitch: ?
weight = 6
1
Problem
0.8
0.4
0.975
0.0
Symptom: headlight does not
work
Car: Ford Ka
Year: 2003
Battery: 9.5v
Headlights: surface damage
HeadlightSwitch: on
Solution
Case 2
Diagnosis: defective bulb
Repair: replace headlight
Similarity(New, Case 2) =
6*0.8 + 1*0.8 + 1*0.4 + 6*0.975 + 6*0
6+1+1+6+6
= 11.85 / 20 = 0.59
Reuse Solution from Case 1
Problem
New Problem
Symptom: brakelight does not
work
Car: Ford Fiesta
Year: 1997
Battery: 9.2v
Headlights: undamaged
HeadlightSwitch: ?
Symptom: headlight does not
work
…
Solution
Diagnosis: headlight fuse blown
Repair: replace headlight fuse
Solution to New Problem
Case 1
Diagnosis: headlight fuse blown
Repair: replace headlight fuse
After Adaptation
Diagnosis: brakelight fuse blown
Repair: replace brakelight fuse
Characteristics and drawbacks
Characteristics
1.
No accurate model
2.
No rule-based representation, But: repository of
cases.
Drawbacks:
1.
2.
High computational cost of:
Retrieval.
DB organization.
Not guarantee to provide complete diagnosis
Outline
1.
What is a diagnosis?
2.
Expert systems
3.
Model-based systems
4.
Case Based Reasoning (CBR)
5.
Inductive learning
6.
Probabilistic reasoning
Inductive learning systems
Previous approaches try to model the system
Diagnosis inference based on the model
In inductive learning approach the model is
learned from examples.
Diagnosis inference based on the relationships
between symptoms and diagnoses.
The system induces an appropriate set of
classification rules.
Formally:
(Ik,Ck)
Ik: instance like
vector of attributes
Ck∈C (C: set of
possible classes)
In the domain of diagnosis:
Ik: observed symptoms
Ck∈C (C: set of possible diagnosis)
Challenge: to learn an accurate description of a
class from a representative set of examples.
Training set
In this representation multiple faults are not addressed
For some cases multiple faults could be addressed by
Sequentially isolating single faults
Multiple fault - training set
In this representation we need much larger training set
Generalization
Generalization is the ability of the inductive
learning system to classify new instance.
Factors:
Size of training examples.
The distribution of the training examples.
The representation of the instances and classes.
Decision tree (ID3)
ID3 algorithm provides a way to learn classification
rules represented by decision tree.
Leaf nodes: represent the classes (diagnoses).
Internal nodes: represent the attributes (symptoms).
ID3 algorithm
The goal of ID3 is to generate a decision tree as small
as possible.
This will require fewer attributes tests.
Recursively select attributes that yield the maximum
information gain.
ID3 algorithm
n1 and n2 are the number of examples in the training
set of class 1 and class 2 (should be generalized to n3…)
The expected information from attribute A to be the root:
Where are the number of examples of the training set
belong to class 1 and class 2 and have a value of Ai.
ID3 algorithm
The information gained by testing the value of attribute
A is:
Recursively, at each step of the tree, ID3 computes the
information gain of the untested attributes and chooses
the attribute with the maximum information gain.
Example: ID3 algorithm (based
on TS in page 59)
3 attributes: Engine, Headlights, Wipers
4 classes:
1.
2.
3.
4.
Faulty
Faulty
Faulty
Faulty
Bulbs
Battery
Wiper motor
Ignition
The distribution of the examples are (1,1,2,2)
Equation 1:
Example: ID3 algorithm (based
on TS in page 59)
Equation 2:
Equation 3:
Example: ID3 algorithm (based
on TS in page 59)
Much compact tree than the one in page 61.
We can construct rules for expert system.
Outline
1.
What is a diagnosis?
2.
Expert systems
3.
Model-based systems
4.
Case Based Reasoning (CBR)
5.
Inductive learning
6.
Probabilistic reasoning
Probabilistic Reasoning
Once we do not know the truth value of an attribute
(symptom) for certain, we can model its uncertainty.
The training set uses for getting the distributions of
the data.
The chosen class (fault) is the most likely given the
attribute values.
Probabilistic Reasoning - Notation
X={X1, X2 …Xn}: set of observations (symptoms)
variables
Each of Xi takes a value from: X={x1,x2,…,xn}
Example: Headlights, engine and wipers.
Example: X2 - engine takes the value “starts”.
P(X): the probability that the random variables in X
take the values X.
P(xi): the probability that the random variable Xi takes
the value xi.
{C1, C1,…, Cm}: set of classes (possible faults).
Example: Faulty bulbs, faulty battery, faulty motor, faulty
Model
Given a particular input X, by using Bayes rule we can
calculate the likelihood of each class Ci:
(6)
where:
(7)
Now, the classification of X can be performed by
choosing the class Ck that maximize the likelihood:
Model
For the random variables X1, X2 ,X3 that observed
taken the values x1,x2,x3, Eq.6 can be represented:
(8)
We should calculate the conditional and unconditional
probabilities:
For large number of attributes it is intractable.
Model
Assumption: conditional independence of the
observations (symptoms):
Bayes rule for m classes involving 3 symptoms is:
(9)
Example – based on TS in page 59
Based on the training set we can infer (P(Ci)):
For Eq.9 we need to calculate the conditional
probabilities of each one of the symptoms.
For instance:
Given faulty bulbs, the probability that headlights will not work
is 1: P(¬H|¬Ba)
P(¬E|¬Ba): since there is no causal relationship between
engine and Bulbs we can say that: P(¬E|¬Ba)=P(¬E)=3/6=0.5
Example – based on TS in page 59
Given a certain input: wipers work (W), headlights don’t
work (¬H), engine doesn’t start (¬E), the probability
for faulty Bulbs (¬Bu):
(10)
Example – based on TS in page 59
The probabilities for other faulty classes:
Faulty Ignition is the diagnosis with the highest
probability.
Conclusion
Diagnosis is a classification problem, where:
symptoms = attributes and
faults = classes.
We learned several approaches:
1.
Expert systems.
2.
Model-based diagnosis.
3.
Case-based reasoning.
4.
Inductive learning systems.
5.
Probabilistic reasoning.
© Copyright 2026 Paperzz