Presentation is loading. Please wait.

Presentation is loading. Please wait.

Consistency-based diagnosis 1 Introduction 2 Diagnosis as constrain propagation plus register of dependencies 3 General Diagnostic Engine:GDE 4 A theory.

Similar presentations


Presentation on theme: "Consistency-based diagnosis 1 Introduction 2 Diagnosis as constrain propagation plus register of dependencies 3 General Diagnostic Engine:GDE 4 A theory."— Presentation transcript:

1 Consistency-based diagnosis 1 Introduction 2 Diagnosis as constrain propagation plus register of dependencies 3 General Diagnostic Engine:GDE 4 A theory of diagnosis from first principles 5 CBD without on-line dependency-recording: the possible conflict approach 6 Current research areas and open problems

2 Knowledge-BasedSytems component oriented process oriented causal models process models functionalmodelsbehaviouralmodelsteleologicalmodels correctbehaviourfaultmodels staticdynamic time-varyingquantitativequalitative discrete state change change derivatives intensional extensional landmarks intervals orders of magnitude....…......... crispprobabilistic (similar to comp. oriented.) hierarchical flat.… Model-based Reasoning structuralmodels Case-BasedReasoning Machine Learning Automated Diagnosis Application fields ProcessesMedicine DevicesSoftware… Introduction

3 GDE3 Control Theory / Engineering (FDI community) Robuts Fault Detection and Isolation (Global) Analytical Models, mainly Generation and Analysis of Residuals (discrepancy) Most commonly used techniques State-observers Parity-equations (Analytical Redundancy Relations) Parameter Identification (or Estimation) Artificial Inteligence (DX community) Fault Isolation and Identification (assumption: robust fault detection is available) Qualitative Models (causal, constraints, semi-qualitative, etc.) Conflict detection and candidate (diagnosis) generation Diagnosis based on structure and behaviour Consistency-based diagnosis Abductive diagnosis Consistency-based Diagnosis with fault models BRIDGE (integration of DX and FDI) Model-based diagnosis approaches

4 GDE4 Historical background Second generation Expert Systems (Davis, 1982-84) First works in USA, late 70s – early 80s (@ MIT, Stanford Univ.) Solid theoretical theory (Reiter, 1987) Early results: mid/late-80s: static systems late 80s, early 90s: dynamic systems late 90s (mature)  large systems Consistency Based Diagnosis Introduction

5 GDE5 Model-based diagnosis fundamental Real System Observed Behaviour Diagnosis Discrepancy (symptom) Behaviour Model Predicted Behaviour

6 GDE6 Consistency Based Diagnosis Introduction Main Model Based Diagnosis framework from DX community Component oriented (ontology) May be extended to processes / constraints Knowledge: structural + behavioural (local) models models of components Only models of correct behaviour

7 GDE7 Basic Assumptions (de Kleer 03) Physical system Set of interconnected components Known desired function Design achieves function System is correct instance of design All malfunctions caused by faulty component(s) Behavioural information Only indirect evidence

8 GDE8 Behavioural information: Behavioural models Components are in some physical condition e.g. a wire Different physical conditions result in different behaviours Condition 1Condition 2Condition 3 v0+- i0+- Behaviour 1 v0+- i000 Behaviour 2 v0++-- i00+0- Behaviour 3

9 GDE9 Behavioural information: Ruling out behaviours We cannot verify the presence of behaviours, but we can falsify them After observing We cannot infer behaviour 2, but we can reject behaviour 1 v0+- i000

10 GDE10 Consistency Based Diagnosis Intuition Search for the model that is “compliant” with the observations Real System Observed Behaviour Diagnosis Discrepancy Behaviour Model Predicted Behaviour

11 GDE11 General Diagnostic Engine GDE, de Kleer and Williams, 87 First model based computational system for multiple faults Main computational paradigm Still in use! Still a reference to compare any model- based proposal on DX community

12 GDE12 A classic expository example: the polybox (de Kleer 87, 03) M1 M2 M3 A1 A2 X Y Z F G A B D E C

13 GDE13 Model based approach to diagnosis Real System Observed Behaviour Diagnosis Discrepancy Model Predicted Behaviour Textbooks, design, first principles

14 GDE14 Observed Behaviour M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] F [10] [12]

15 GDE15 Model based approach to diagnosis Real System Observed Behaviour Diagnosis Discrepancy Model Predicted Behaviour Textbooks, design, first principles

16 GDE16 Local propagation (I) M1M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6

17 GDE17 Local propagation (II) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6

18 GDE18 Local propagation (III) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12

19 GDE19 Local propagation (IV) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12 6

20 GDE20 Local propagation (V) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12 6

21 GDE21 Predicted Behaviour M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12 6

22 GDE22 Model based approach to diagnosis Real System Observed Behaviour Diagnosis Discrepancy Model Predicted Behaviour Textbooks, design, first principles

23 GDE23 Candidates Detect Symptoms: F=12 and F=10 Generate Candidates: {M1}, {A1}, {M2, S2}, {M2, M3} M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F [10] 6 [12] 12

24 GDE24 Diagnosis for the polybox M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 4 6 F [10] 6 [12] 12

25 GDE25 Diagnosis for the polybox M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F [10] 6 [12] 12 10

26 GDE26 Diagnosis for the polybox M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 4 F [10] 6 [12] 12

27 GDE27 Diagnosis for the polybox M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 4 F 10 8 [12] 12

28 GDE28 How GDE works? 1. Detecting every SYMPTOM Prediction: propagating on every direction (even non causal!) 2. Identifying CONFLICTS 3. Generating CANDIDATES

29 GDE29 Prediction - Requirements Modeling Structure Modeling component behaviour Predict overall behaviour M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12 6

30 GDE30 Modelling Structure - Requirements Determine the structural elements and interconections Which entities can be the origin of malfunction? Which parts can be replaced? Which variables can be observed? Reflect aspects and levels of (diagnostic) reasoning about the device behaviour

31 GDE31 Component-Oriented Modelling: Components and Connections Systems: components linked by connections via terminals Components: Normally physical objects Resistors, diodes, voltage sources, tanks, valves Terminals: unique comunication link Connections:ideal connections (but may be modelled as components) No resistance wires, loadless pipes... Possible faults: defect components, broken connection

32 GDE32 Modelling Behaviour - Requirements Describe behaviour of the structural elements: Locality Goal: detecting discrepancies Consider aspecs like Generality: which kind of devices are to be diagnosed? Robustness: which type of failure are to be detected Reflect the diagnostic reasonig process (e.g. simplifications) Which kind of information is (easily) available (e. g. qualitative information)

33 GDE33 Local behaviour models Constrains / relations among Input/Output variables Internal parameters Various directions No implicit reference to or implicit assumptions about context (existence or state of other components) Locality Necessary for diagnosis: different context because something is broken; otherwise implicit hypothesys must be revised Reusability: model library, compositionality

34 GDE34 Local behaviour model - Example Or-gate Variables: in1, in2,out Domain dom(in1)=dom(in2)=dom(out)={0,1} Relation {{0,0,0}, {1,0,1}, {0,1,1}, {1,1,1}}  dom(in1)  dom(in2)  dom(out) Inferences in1 = 1  out = 1 in2 = 1  out = 1 in1=0  in2=0  out = 1 out=0  in1=0  in2=0 out=1  in1=0  in2=1 out=1  in2=0  in1=1 causal direction non causal direction

35 GDE35 Behaviour model of a valve Relation: f = k  A Implicit assumption: pump is on and ok Relation: IF on(B) and ok(B) THEN f= k  A Implicit assumption: a pump exists and is connected as in the diagram Better: f = k’  (p1 – p2)  A Principle: no function in structure B Af p1p1 p2p2

36 GDE36 Abstract model Domain for each variable, var dom(var) = {OK, BAD, ?} Model for each correct component, C IF for all input-variables, var i of C, var i = OK THEN for each output-variable, var o of C, var o = OK To avoid masking of faults by correct components IF there exists an input-variable, var i of C, var i = BAD THEN for each output-variable, var o of C, var o = BAD M1 M2 M3 A1 A2 F G A B D E C F

37 GDE37 Prediction - Principles Infer the behaviour of the entire device from Observations Component models Structural description Preserve dependencies on component models Propagate the effects of local models along the interaction paths (connections) Propagate not only in the causal direction

38 GDE38 Propagation Causal direction (I) [A]=3  [C]=2  X=6(M1) M1M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6

39 GDE39 Propagation Causal direction (II) [B]=2  [D]=3  Y=6(M2) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6

40 GDE40 Propagation Causal direction (III) X=6  Y=6  F=12(A1) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12

41 GDE41 Propagation “Backward” direction (II) [F]=10  X=6  Y=4(A1) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 4 F [10]

42 GDE42 Candidate Generation Detecting SYMPTOMS (DISCREPANCIES) Identifying (minimal) CONFLICTS Generating (minimal) CANDIDATES

43 GDE43 Symptoms Symptoms are contradictions that indicate an inconsistency between observations and correct behaviour But other potential sources of contradictions Imprecise measurements Bugs in the model Bugs in propagation Real System Observed Behaviour Diagnosis Discrepancy Model Predicted Behaviour

44 GDE44 Symptoms Detection Symptoms occurs as contradictory values for one variable Predicted plus observed Predicted following two different paths Discrete Variables Static x=val1  x=val2  val1  val2 Dynamic x=(val1, t1)  x=(val2, t2)  val1  val2  (t1  t2)   Continuous Variables Quantitatives (static): Intervals: x=i1  x=i2  (i1  i2)   Values: x=val1  x=val2  val1  val2 Relations: xval1  xval2 Qualitatives: distance,distance >Threshold

45 GDE45 Some symptoms for the polybox (I) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 6 F 12 [10] [12]

46 GDE46 Some symptoms for the polybox (II) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 4 F [10] [12] 6

47 GDE47 Some symptoms for the polybox (III) M3 A1 M1 M2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] 6 4 F 1010 6 [10] [12] X F 6 F X M2 A2 Y Z G 6

48 GDE48 Some symptoms for the polybox (IV) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] F [10] [12] 12 10 6 6 6 4 4 8

49 GDE49 Identify conflicts Conflict (informal):set of correctness assumtions underlying discrepancies Polybox (minimal) conflicts F=[10]  F=12{M1, M2, A1}, {M1, M3, A1, A2} X=6  X=4{M1, M2, A1}, {M1, M3, A1, A2} Y=6  Y=4{M1, M2, A1}, {M1, M3, A1, A2} Z=6  Z=8{M1, M3, A1, A2} G=[12]  G=10{M1, M3, A1, A2} By definition,any superset of a conflic set is a conflict {M1, M2, A1}  {M1, M2, A1, A2}  {M1,M2, M3, A1, A2} Minimal conflict: conflict no proper subset of which is a conflict It is essential to represent the conflicts through the set of minimal conflicts (to avoid combinatorial explosion)

50 GDE50 Conflicts latice [M1, M2, M3, A1, A2] [M1, M2, M3, A1] [M1, M2, M3, A2] [M1, M2, A1, A2] [M1, M3, A1, A2][M2, M3, A1, A2] [M1, M2, M3][M1, M2, A1][M1, M3, A1][M2, M3 A1][M1, M3, A2][M1, M2, A2][M1, A1, A2][M2, A1, A2][M2, M3, A2] [ M3, A1, A2] [M2, M3][M1, M3][M1, M2][M2, A1][M1, A1][ A1, A2][M1, A2][ M3, A1][ M3, A2][M2, A2] [M1] [ ] [A2][A1][M3][M2]

51 GDE51 Conflicts generation with ATMS The problem solver performs inferences The ATMS records the dependencies between inferences Introduce observations as facts Support each local propagation with a correcteness assumption for the component Label of a node:(minimal) environments that entails the prediction Records components that support prediction Avoids recomputation Symptoms: produce NOGOODS NOGOODS are the MINIMAL CONFLICTS

52 GDE52 Conflicts generation, detailed model, first minimal conflict (I) M1 M2 M3 A1 A2 X Y Z F G A B D E C [3] [2] [3] 6 {{M1}}

53 GDE53 Conflicts generation, detailed model, first minimal conflict (II) {{M1}} M1 M2 M3 A1 A2 X Y Z F G A B D E C [3] [2] [3] 6 6 {{M2}}

54 GDE54 Conflicts generation, detailed model, first minimal conflict (III) {{M1}} {{M2}} M1 M2 M3 A1 A2 X Y Z F G A B D E C [3] [2] [3] 6 6 F 12 {{M1, M2, A1}}

55 GDE55 Conflicts generation, detailed model, first minimal conflict (IV) {{M1}} {{M2}} {{M1, M2, A1}} F=[10]  F=12 {M1, M2, A1} M2 M1 A1 M3 A2 X Y Z F G A B D E C [3] [2] [3] 6 6 F [10] 6 12X F 6 F 6 X {  }

56 GDE56 Conflicts generation, detailed model, second minimal conflict (I) M3 A1 M1 M2 A2 X Y Z F G A B D E C [3] [2] [3] 6 6 F 6 12 X F 6 F 6 X M2 A2 Y Z G 6 [12] {{M1, M3, A1, A2}}

57 GDE57 Conflicts generation, detailed model, second minimal conflict (II) F=[10]  F=12 {M1, M3, A1, A2} M3 A1 M1 M2 A2 X Y Z F G A B D E C [3] [2] [3] 6 6 F [10] 6 12X F 6 F 6 X M2 A2 Y Z G 6 [12] {{M1, M3, A1, A2}} {  }

58 GDE58 Conflicts generation, abstract model, first minimal conflict (I) M1 M2 M3 A1 A2 X Y Z F G A B D E C [ok] ok {{M1}}

59 GDE59 Conflicts generation, abstract model, first minimal conflict (II) [ok] {{M1}} M1 M2 M3 A1 A2 X Y Z F G A B D E C ok {{M2}}

60 GDE60 Conflicts generation, abstract model, first minimal conflict (III) [ok] {{M1}} {{M2}} M1 M2 M3 A1 A2 X Y Z F G A B D E C ok F {{M1, M2, A1}}

61 GDE61 Conflicts generation, abstract model, first minimal conflict (IV) [ok] {{M1}} {{M2}} {{M1, M2, A1}} M2 M1 A1 M3 A2 X Y Z F G A B D E C ok F [bad] 6 okX FF X {  } F=[bad]  F=ok {M1, M2, A1}

62 GDE62 Conflicts generation, abstract model, second minimal conflict (I) [ok] {{M1}} {{M1, A1}} M2 M1 A1 M3 A2 X Y Z F G A B D E C ok F [bad] 6 X FF X bad {{M1, A1, A2}}

63 GDE63 Conflicts generation, abstract model, second minimal conflict (II) [ok] {{M1}} {{M1, A1}} M2 M1 A1 M3 A2 X Y Z F G A B D E C ok F [bad] 6 X FF X bad [ok] {{M1, A1, A2}} bad {  } G=[bad]  G=ok {M1, A1, A2}

64 GDE64 Candidates Candidate: hypothesis of how the device differs from model Represented as a set of assumptions Assumptions included: false Assumptions not included: false Diagnosis: identify every candidate consistent with observations Candidate example: {M2, A2} Meaning: M2, A2 are faulty M1, M3, A1 are correct

65 GDE65 Candidate generation Each candidate has to account for all conflicts Each candidate has to retract at least one correctness assumption out of each conflict Construct candidates as Hitting Set of (minimal) conflicts C a candidate, C i conflict, C a  C i    C i  C a, C a   i C i Each superset of a candidate is also a candidate: Minimal candidates:minimal hitting set of minimal conflicts

66 GDE66 Candidate generation example Minimal conflicts Minimal candidates M1 M2 M3 A1 A2 X Y Z F G A B D E C [3][3] [2][2] [2][2] [3][3] [3][3] F [10] [12] 12 10 6 6 6 4 4 8 { M1, A1, M2 } { M1, A1, M3, A2 } {M1}, {A1}, {M2, M3}, {M2, A2}

67 GDE67 Conflict Directed Search 1. Let M be the set of putative minimal diagnoses, initially containing only []. 2. If no more minimal conflicts, the M is the set of minimal diagnoses 3. For every new minimal conflict C 1. For every diagnosis D in M 1. If D identifies one component in C as faulted, do nothing. 2. Else remove D from M and add to M all D’ which have some component of C faulted. 2. Remove duplicates from M 4. Go to 2.

68 Candidate latice: parsimonious representation (I) [M1, M2, M3, A1, A2] [M1, M2, M3, A1] [M1, M2, M3, A2] [M1, M2, A1, A2] [M1, M3, A1, A2][M2, M3, A1, A2] [M1, M2, M3][M1, M2, A1][M1, M3, A1][M2, M3 A1][M1, M3, A2][M1, M2, A2][M1, A1, A2][M2, A1, A2][M2, M3, A2] [ M3, A1, A2] [M2, M3][M1, M3][M1, M2][M2, A1][M1, A1][ A1, A2][M1, A2][ M3, A1][ M3, A2][M2, A2] [M1] [ ] [A2][A1][M3][M2] C1:[M1, M2, A1]

69 Candidate latice: parsimonious representation (II) [M1, M2, M3, A1, A2] [M1, M2, M3, A1] [M1, M2, M3, A2] [M1, M2, A1, A2] [M1, M3, A1, A2][M2, M3, A1, A2] [M1, M2, M3][M1, M2, A1][M1, M3, A1][M2, M3 A1][M1, M3, A2][M1, M2, A2][M1, A1, A2][M2, A1, A2][M2, M3, A2] [ M3, A1, A2] [M2, M3][M1, M3][M1, M2][M2, A1][M1, A1][ A1, A2][M1, A2][ M3, A1][ M3, A2][M2, A2] [M1] [ ] [A2][A1][M3][M2] C1:[M1, M2, A1] C2 :[M1, M3, A1, A2]

70 Candidate latice: parsimonious representation (III) [M1, M2, M3, A1, A2] [M1, M2, M3, A1] [M1, M2, M3, A2] [M1, M2, A1, A2] [M1, M3, A1, A2][M2, M3, A1, A2] [M1, M2, M3][M1, M2, A1][M1, M3, A1][M2, M3 A1][M1, M3, A2][M1, M2, A2][M1, A1, A2][M2, A1, A2][M2, M3, A2] [ M3, A1, A2] [M2, M3][M1, M3][M1, M2][M2, A1][M1, A1][ A1, A2][M1, A2][ M3, A1][ M3, A2][M2, A2] [M1] [ ] [A2][A1][M3][M2] C1:[M1, M2, A1] C2 :[M1, M3, A1, A2]

71 Candidate latice: parsimonious representation (IV)

72 GDE72 Candidate generation abstract model Minimal conflicts Minimal candidates M1 M2 M3 A1 A2 X Y Z F G A B D E C [ok] F [bad] [ok] ok bad ok bad { M1, A1, M2 } { M1, A1, A2 } {M1}, {A1}, {M2, A2}

73 GDE73 Candidate generation:problems Undetected symptoms Insufficient observations Imprecise Not available Insufficient models Quantitative accuracy Qualitative ambiguity Limitations of conflict generation Inherent in the prediction algorithm Inherent in the model

74 GDE74 Conflict generation: limitations due to local propagation Conflicts: {I, X1, X2, X3} Candidates: {I }, {X1}, {X2}, {X3} {I} should not be a candidate {X1, X2, X3} ought to be a conflict A B C F [1] I X1 X2 X3

75 GDE75 Conflict generation: limitations due to the model (I) Observations: B1, B2 OFF,B3 ON Minimal conflicts {S, W1, B1, W2}, {S, W1, W3, B2, W4, W2}, {B3, W5, B2, W6}, {B3,W5, W3, B1, W4, W6} ¡22 minimal candidates! {B1, B2}, {S, B3}, {W1, W5} (?) B-1 S B-2 B-3 W-1 W-2 W-3 W-4 W-5 W-6

76 GDE76 Conflict generation: limitations due to the model (II) Observations: B1, B2 OFF,B3 ON Candidate {S, B3} Logically possible Phisically impossible Due to the absence of information about faulty behaviour (only models of correct behaviour) B-1 S B-2 B-3 W-1 W-2 W-3 W-4 W-5 W-6

77 GDE77


Download ppt "Consistency-based diagnosis 1 Introduction 2 Diagnosis as constrain propagation plus register of dependencies 3 General Diagnostic Engine:GDE 4 A theory."

Similar presentations


Ads by Google