Introduction to Model- Based Diagnosis Meir Kalech Partially based on the slides of Peter Struss
Outline Last lecture: 1. What is a diagnosis? 2. Expert systems 3. Model-based systems 4. Case Based Reasoning (CBR) 5. Inductive learning 6. Probabilistic reasoning Today’s lecture: 1. Knowledge-based systems and diagnosis 2. Some definitions for model-based diagnosis 3. Reiter’s MBD algorithm using HS-trees 4. Causal form
Knowledge-based Systems are not simply Systems based on knowledge are not simply Systems based on knowledge but Systems grounding their solution on a knowledge base but Systems grounding their solution on a knowledge base Problem solver Knowledge base Model-based systems are knowledge-based systems
Knowledge base: an explicit declarative formal representation of knoweldge about a certain domain and/or class of tasks Knowledge base: an explicit declarative formal representation of knoweldge about a certain domain and/or class of tasks Provlem solver: A usually task-specific, possibly domain-independent algorithm which can process the represented knowledge Provlem solver: A usually task-specific, possibly domain-independent algorithm which can process the represented knowledge Knowledge Base and Problem Solver Problem solver Knowledge base
For instance: diagnosis Observations: “When braking with ABS, car is yawing to the right, and brake pedal feels harder than normally” “Yawing”: under-braking at left side over-braking at right side Observations: “When braking with ABS, car is yawing to the right, and brake pedal feels harder than normally” “Yawing”: under-braking at left side over-braking at right side under- braked under- braked over- braked over- braked harder
under- braked under- braked over- braked over- braked harder Knowledge about the subject „How is it structured?” “How does it work?” Knowledge about Structure Componenten behavior Knowledge about the subject „How is it structured?” “How does it work?” Knowledge about Structure Componenten behavior Diagnosis Algorithm From knowledge about the subject and observations of the system behavior infer diagnosis hypotheses Diagnosis Algorithm From knowledge about the subject and observations of the system behavior infer diagnosis hypotheses Diagnosis: „What“ and „How“
Notation entails does not entail inconsistency, “false” is consistent is inconsistent ^
Diagnosis OBS ? Task: Determine, based on a set of observations: What`s going on in the system?
Model-based Diagnosis Task: Determine system models that are consistent with the observations OBS ? MODEL
Outline Last lecture: 1. What is a diagnosis? 2. Expert systems 3. Model-based systems 4. Case Based Reasoning (CBR) 5. Inductive learning 6. Probabilistic reasoning Today’s lecture: 1. Knowledge-based systems and diagnosis 2. Some definitions for model-based diagnosis 3. Reiter’s MBD algorithm using HS-trees
Model-Based Diagnosis – Formal Based on: R. Reiter, A theory of diagnosis from first principles, Artificial Intelligence 32 (1) (1987)
Definition: System A system is a pair (SD, COMP) where: (1) SD (system description), is a set of first-order sentences. (2) COMP={C 1,…,C n }, the system components, is a finite set of constants.
Example: System
Etc…
Definition: Observation An observation of a system is a finite set of first-order sentences. We shall write (SD, COMP, OBS) for system (SD, COMP) with observation OBS. Example:
Definition: Diagnosis Problem Given SD, COMP and OBS, the observation conflicts with the system description assuming all its components behaving correctly. Formally: SD {¬AB(Ci)|Ci COMP} OBS ⊢⊥
Example: System is faulty
Definition: Diagnosis A diagnosis for (SD, COMP, OBS) is a minimal set ∆ ∈ COMP such that: SD {AB(C i )|C i ∈ Δ} {¬AB(C i )|C i ∈ COMP- Δ} OBS ⊢⊥ Example: ∆ 1 ={X 1 }, ∆ 2 ={X 2, O 1 }, ∆ 3 ={X 2, A 2 }
Example: ∆ 1 ={X 1 }
Example: ∆ 2 ={X 2, O 1 }
Example: ∆ 3 ={X 2, A 2 }
Definition: Conflict set A conflict set for (SD, COMP, OBS) is a set {c 1 …c k } COMP such that: SD OBS {¬AB(C 1 )…¬AB(C k )} ⊢⊥ A conflict set is minimal iff no proper subset of it is a conflict set.
The relation between conflict set and diagnosis Δ COMP is a diagnosis for (SD, COMP, OBS) iff Δ is a minimal set such that COMP- Δ is not a conflict set for (SD,COMP, OBS). In other words: 1. the components that are normal ( ¬AB(C i )) could not be a conflict set 2. a conflict set must contain at least one component of the diagnosis.
Definition: Hitting set Suppose C is a collection of sets. A hitting set for C is a set H S ∈ C S such that H S { } for each S ∈ C. A hitting set for C is minimal iff no proper subset of it is a hitting set for C. Example: S1={1,2,3}S2={2,4,5}S3={4,6} Minimal: H1={1,5,6}, H2={2,4}, H3={2,6} Not minimal: H4={2,4,6}
Δ COMP is a diagnosis for (SD,COMP, OBS) iff Δ is a minimal hitting set for the collection of minimal conflict sets for (SD, COMP, OBS). Example: The full adder has two minimal conflict sets: {X1, X2} and {X1, A2, O1} There are three diagnoses, given by these minimal hitting sets: {X1}, {X2, A2}, {X2, O1}. Theorem of diagnosis
Example: conflict set {X1, X2}
Example: conflict set {X1,A2,O1}
How to compute 1. Conflict sets 2. Diagnosis
Outline Last lecture: 1. What is a diagnosis? 2. Expert systems 3. Model-based systems 4. Case Based Reasoning (CBR) 5. Inductive learning 6. Probabilistic reasoning Today’s lecture: 1. Knowledge-based systems and diagnosis 2. Some definitions for model-based diagnosis 3. Reiter’s MBD algorithm using HS-trees
Computing diagnosis Assume conflict sets: {2,4,5},{1,2,3},{1,3,5}, {2,4,6},{2,4},{2,3,5},{1,6}. HS-tree:
Pruning 1. If node n is labelled by √ and node n’ is such that H(n) H(n'), close n’.
Pruning 1 n3={1,2}, n9={1,3,2}, H(n3)H(n9): close n9.
Pruning 1. If node n is labelled by √ and node n’ is such that H(n) H(n') then close n’. 2. If node n has been generated and node n' is such that H(n')= H(n) then close n'.
Pruning 2 n6={5,4}, n8={4,5}, H(n6)=H(n8): close n8.
Pruning 1. If node n is labelled by √ and node n’ is such that H(n) H(n'), close n’. 2. If node n has been generated and node n' is such that H(n')= H(n) then close n'. 3. If nodes n and n' have been respectively labelled by sets S and S' of F, and if S' S, then for each S-S' mark as redundant the edge from node n labelled by .
Pruning 3 n10={2,4}, n0={2,4,5}, n10 n0: mark 5 as redundant since {2,4} is not hit by it.
Finally tree after pruning
Diagnosis: {H(n)|n is labelled by √ }
Computing conflict sets Using “resolution theorem prover”. See the next slides. Homework: 1. Analyse the complexity of the diagnosis process. 2. Read Reiter’s paper (bib 1), describe the algorithm he proposes for calculating the diagnosis and the conflict sets together.