General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1...

72
General Diagnostic Engine: GDE Consistency based diagnosis 1 Introduction 2 Computational approach: GDE Carlos Alonso González – Belarmino Pulido Junquera GSI. Dpto. Informática, Universidad de Valladolid

Transcript of General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1...

Page 1: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

General Diagnostic Engine:GDE

Consistency based diagnosis1 Introduction2 Computational approach: GDE

Carlos Alonso González – Belarmino Pulido JunqueraGSI. Dpto. Informática, Universidad de Valladolid

Page 2: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 2

Consistency Based Diagnosis

Main Model Based Diagnosis framework from DX communityComponent oriented

May be extended to processes

Knowledge: structure + behavioural (local) models of componentsOnly models of correct behaviour

Page 3: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 3

Basic Assumptions (de Kleer 03)

Physical systemSet of interconnected componentsKnown desired functionDesign achieves function System is correct instance of design

All malfunctions caused by faulty component(s) Behavioural information

Only indirect evidence

Page 4: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 4

Behavioural information: Behavioural models

Components are in some physical conditione.g. a wire

Different physical conditions result in different behaviours

Condition 1 Condition 2 Condition 3

v 0 + -

i 0 + -

Behaviour 1

v 0 + -

i 0 0 0

Behaviour 2

v 0 + + - -

i 0 0 + 0 -

Behaviour 3

Page 5: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 5

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

v 0 + -

i 0 0 0

Page 6: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 6

Consistency Based Diagnosis Intuition

Search for the model that is “compliant”with the observations

RealSystem

ObservedBehaviour

Diagnosis

Discrepancy

BehaviourModel

PredictedBehaviour

Page 7: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 7

General Diagnostic Engine

GDE, de Kleer and Williams, 87First model based computational system for multiple faultsMain computational paradigm

Still in use!

Still a reference to compare any model base proposal on DX community

Page 8: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 8

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

Page 9: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 9

Model based approach to diagnosis

RealSystem

ObservedBehaviour

Diagnosis

Discrepancy

Model

PredictedBehaviour

Textbooks, design, first principles

Page 10: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 10

Observed Behaviour

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

X

Y

Z

F

G

F[10]

[12]

Page 11: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 11

Model based approach to diagnosis

RealSystem

ObservedBehaviour

Diagnosis

Discrepancy

Model

PredictedBehaviour

Textbooks, design, first principles

Page 12: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 12

Local propagation (I)

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

Page 13: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 13

Local propagation (II)

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

Page 14: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 14

Local propagation (III)

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

F12

Page 15: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 15

Local propagation (IV)

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

F12

6

Page 16: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 16

Local propagation (V)

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

F12

6

12

Page 17: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 17

Predicted Behaviour

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

F12

6

12

Page 18: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 18

Model based approach to diagnosis

RealSystem

ObservedBehaviour

Diagnosis

Discrepancy

Model

PredictedBehaviour

Textbooks, design, first principles

Page 19: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 19

Candidates

Detect Symptoms: F=12 and F=10Generate Candidates: {M1}, {A1}, {M2, S2}, {M2, M3}

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

F[10]

6

[12]

12

12

Page 20: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 20

Diagnosis for the polybox

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

4X

Y

Z

F

G

6

F[10]

6

[12]

12

12

Page 21: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 21

Diagnosis for the polybox

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

6

F[10]

6

[12]

12

10

Page 22: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 22

Diagnosis for the polybox

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

4

F[10]

6

[12]

12

12

Page 23: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 23

Diagnosis for the polybox

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

4

F10

8

[12]

12

12

Page 24: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 24

How GDE works?

1. Detecting every SYMPTOMPrediction: propagating on every direction (even

non causal!)

2. Identifying CONFLICTS3. Generating CANDIDATES

Page 25: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 25

Prediction - Requirements

Modelling structureModelling component behaviourPredict overall behaviour

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

6

F12

6

12

Page 26: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 26

Modelling Structure -Requirements

Determine the structural elements and interconnections

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

Page 27: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 27

Component-Oriented Modelling: Components and Connections

Systems: components linked by connections via terminals

Components: Normally physical objectsResistors, diodes, voltage sources, tanks, valves

Terminals: unique communication link Connections:ideal connections (but may be modelled as components)

No resistance wires, load less pipes...

Possible faults: defect components, broken connection

Page 28: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 28

Modelling Behaviour -Requirements

Describe behaviour of the structural elements: LocalityGoal: detecting discrepanciesConsider aspects like

Generality: which kind of devices are to be diagnosed?Robustness: which type of failure are to be detected

Reflect the diagnostic reasoning process (e.g. simplifications)Which kind of information is (easily) available (e. g. qualitative information)

Page 29: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 29

Local behaviour models

Constrains / relations amongInput/Output variablesInternal parameters

Various directionsNo 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 hypothesis must be revisedReusability: model library, compositionally

Page 30: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Local behaviour model - Example

Or-gateVariables: in1, in2,outDomain

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)

Inferencesin1 = 1 ⊃ out = 1in2 = 1 ⊃ out = 1in1=0 ∧ in2=0 ⊃ out = 1

out=0 ⊃ in1=0 ∧ in2=0out=1 ∧ in1=0 ⊃ in2=1 out=1 ∧ in2=0 ⊃ in1=1

causal direction

non causal direction

Page 31: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Behaviour model of a valve

Relation: f = k × AImplicit assumption: pump is on and ok

Relation: IF on(B) and ok(B) THEN f= k × AImplicit assumption: a pump exists and is connected as in the diagram

Better: f ∝ k’ × (p1 – p2) × A

Principle: no function in structure

B

A f

p1 p2

Page 32: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 32

Abstract model

Domain for each variable, vardom(var) = {OK, BAD, ?}

Model for each correct component, CIF for all input-variables, vari of C, vari = OKTHEN for each output-variable, varo of C, varo = OK

To avoid masking of faults by correct componentsIF there exists an input-variable, vari of C, vari = BADTHEN for each output-variable, varo of C, varo = BAD

M1

M2

M3

A1

A2

F

G

A

B

D

E

C

F

Page 33: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 33

Prediction - Principles

Infer the behaviour of the entire device fromObservationsComponent modelsStructural description

Preserve dependencies on component models

Propagate the effects of local models along the interaction paths (connections)

Propagate not only in the causal direction

Page 34: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 34

PropagationCausal direction (I)

[A]=3 ∧ [C]=2 ⊃ X=6 (M1)

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6

Page 35: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 35

PropagationCausal 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]

[2][2]

[3]

[3]

6

6

Page 36: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 36

PropagationCausal 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]

[2][2]

[3]

[3]

6

6

F12

Page 37: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 37

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]

[2][2]

[3]

[3]

6

4

F[10]

Page 38: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 38

Candidate Generation

Detecting SYMPTOMS (DISCREPANCIES)

Identifying (minimal) CONFLICTS

Generating (minimal) CANDIDATES

Page 39: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 39

Symptoms

Symptoms are contradictions that indicate an inconsistency between observations and correct behaviour

But other potential sources of contradictionsImprecise measurementsBugs in the modelBugs in propagation

RealSystem

ObservedBehaviour

Diagnosis

Discrepancy

Model

PredictedBehaviour

Page 40: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Symptoms Detection

Symptoms occurs as contradictory values for one variable

Predicted plus observedPredicted following two different paths

Discrete VariablesStatic x=val1 ∧ x=val2 ∧ val1 ≠ val2Dynamic x=(val1, t1) ∧ x=(val2, t2) ∧ val1 ≠ val2 ∧(t1 ∩ t2) ≠ ∅

Continuous VariablesQualitatives (static):

Intervals: x=i1 ∧ x=i2 ∧ (i1 ∩ i2) ≠ ∅Values: x=val1 ∧ x=val2 ∧ val1 ≠ val2Relations: x≈val1 ∧ x⟨<val2

Quantitatives : distance,∫distance >Threshold

Page 41: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 41

Some symptoms for the polybox (I)

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

X

Y

Z

F

G

6

6

F12[10]

[12]

Page 42: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 42

Some symptoms for the polybox (II)

M1

M2

M3

A1

A2

Y

Z

A

B

D

E

C

[3]

[2][2]

[3]

[3]

X F

G

6

4

F[10]

[12]6

Page 43: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 43

Some symptoms for the polybox (III)

M3

A1M1

M2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

4

F

10[12]

6

[10]X F6 FX

M2

A2

Y

ZG

6

Page 44: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 44

Some symptoms for the polybox (IV)

M1

M2

M3

A1

A2

X

Y

Z

A

B

D

E

C

[3]

[2][2]

[3]

[3]

F

G

F[10]

[12]

12

10

6

6

6

4

4

8

Page 45: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 45

Identify conflicts

Conflict (informal):set of correctness assumptions underlying discrepanciesPolybox (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 conflict 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 conflictIt is essential to represent the conflicts through the set of minimal conflicts (to avoid combinatorial explosion)

Page 46: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 46

Conflicts lattice

[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 [M1, M3, A1][M1 [M2, M3 A1], M3, A2] [M1, A1, A2] [M2, A1, A2][M2, M3, A2] [ M3, A1, A2], M2, 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]

Page 47: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 47

Conflicts generation with ATMS

The problem solver performs inferencesThe ATMS records the dependencies between inferences

Introduce observations as factsSupport each local propagation with a correctness assumption for the componentLabel of a node:(minimal) environments that entails the prediction

Records components that support predictionAvoids recomputation

Symptoms: produce NOGOODS

NOGOODS are the MINIMAL CONFLICTS

Page 48: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 48

Conflicts generation, detailed model, first minimal conflict (I)

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

X

Y

Z

F

G

6{{M1}}

Page 49: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 49

Conflicts generation, detailed model, first minimal conflict (II)

{{M1}}

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

X

Y

Z

F

G

6

6{{M2}}

Page 50: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 50

Conflicts generation, detailed model, first minimal conflict (III)

{{M1}}

{{M2}}

M1

M2

M3

A1

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

X

Y

Z

F

G

6

6

F12

{{M1, M2, A1}}

Page 51: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 51

Conflicts generation, detailed model, first minimal conflict (IV)

{{M1}}

{{M2}}

{{M1, M2, A1}}

M2

M1A1

F=[10] ∧ F=12 {M1, M2, A1}

M3A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

6

F[10]

6

12X F6 F

6

X

{ ∅ }

Page 52: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 52

Conflicts generation, detailed model, second minimal conflict (I)

M3

A1M1

M2

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

6

F

6

12X F6 F

6

X

M2

A2

Y

ZG

6

[12]

{{M1, M3, A1, A2}}

Page 53: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 53

Conflicts generation, detailed model, second minimal conflict (II)

F=[10] ∧ F=12 {M1, M3, A1, A2}

M3

A1M1

M2

A2

A

B

D

E

C

[3]

[2][2]

[3]

[3]

6X

Y

Z

F

G

6

F[10]

6

12X F6 F

6

X

M2

A2

Y

ZG

6

[12]

{{M1, M3, A1, A2}}

{ ∅ }

Page 54: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 54

Conflicts generation, abstract model, first minimal conflict (I)

M1

M2

M3

A1

A2

A

B

D

E

C

[ok]

[ok][ok]

[ok]

[ok]

X

Y

Z

F

G

ok{{M1}}

Page 55: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 55

Conflicts generation, abstract model, first minimal conflict (II)

[ok]

[ok][ok]

[ok]

[ok]

{{M1}}

M1

M2

M3

A1

A2

A

B

D

E

C

X

Y

Z

F

G

ok

ok{{M2}}

Page 56: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 56

Conflicts generation, abstract model, first minimal conflict (III)

[ok]

[ok][ok]

[ok]

[ok]

{{M1}}

{{M2}}

M1

M2

M3

A1

A2

A

B

D

E

C

X

Y

Z

F

G

ok

ok

Fok

{{M1, M2, A1}}

Page 57: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 57

Conflicts generation, abstract model, first minimal conflict (IV)

[ok]

[ok][ok]

[ok]

[ok]

{{M1, M2, A1}}

M2

M1A1

{{M1}}

{{M2}}

M3A2

A

B

D

E

C

okX

Y

Z

F

G

ok

F[bad]

6

okX FFX

{ ∅ }

F=[bad] ∧ F=ok {M1, M2, A1}

Page 58: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 58

Conflicts generation, abstract model, second minimal conflict (I)

[ok]

[ok][ok]

[ok]

[ok]

M2

M1A1

{{M1}}

{{M1, A1}}

M3A2

A

B

D

E

C

okX

Y

Z

F

G

F[bad]

6

X FFX

bad

{{M1, A1, A2}}

bad

Page 59: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 59

Conflicts generation, abstract model, second minimal conflict (II)

[ok]

[ok][ok]

[ok]

[ok]

M2

M1A1

{{M1}}

{{M1, A1}}

M3A2

A

B

D

E

C

okX

Y

Z

F

G

F[bad]

6

X FFX

bad

[ok]

{{M1, A1, A2}}

bad{ ∅ }

G=[bad] ∧ G=ok {M1, A1, A2}

Page 60: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 60

Candidates

Candidate: hypothesis of how the device differs from model

Represented as a set of assumptionsAssumptions included: falseAssumptions not included: true

Diagnosis: identify every candidate consistent with observations

Candidate example: {M2, A2}

Meaning: M2, A2 are faultyM1, M3, A1 are correct

Page 61: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 61

Candidate generation

Each candidate has to account for all conflictsEach candidate has to retract at least one correctness assumption out of each conflictConstruct candidates as Hitting Set of (minimal) conflicts

Ca candidate, Ci conflict, Ca ∩ Ci ≠ ∅ ∀ Ci

∀ Ca, Ca ⊂ ∪i Ci

Each superset of a candidate is also a candidate:Minimal candidates:minimal hitting set of minimal conflicts

Page 62: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 62

Candidate generation example

Minimal conflicts

Minimal candidates

M1

M2

M3

A1

A2

X

Y

Z

F

G

A

B

D

E

C

[3]

[2][2]

[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}

Page 63: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 63

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 C1. 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.

Page 64: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Candidate lattice: 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 [M1, M3, A1][M1 [M2, M3 A1], M3, 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]

, M2, A2]

[ ]

Page 65: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Candidate lattice: 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 [M1, M3, A1][M1 [M2, M3 A1], M3, 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]

, M2, A2]

C2 :[M1, M3, A1, A2]

Page 66: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Candidate lattice: 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 [M1, M3, A1][M1 [M2, M3 A1], M3, 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]

, M2, A2]

C2 :[M1, M3, A1, A2]

Page 67: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

Candidate lattice: parsimonious representation (IV)

[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 [M1, M3, A1][M1 [M2, M3 A1], M3, 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]

C1 & C2

, M2, A2]

C2 :[M1, M3, A1, A2]

Page 68: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 68

Candidate generation abstract model

Minimal conflicts

Minimal candidates

M1

M2

M3

A1

A2

X

Y

ZG

A

B

D

E

C

[ok]

[ok][ok]

[ok]

[ok]

FF[bad]

[ok]

ok

bad

ok

okbad

{ M1, A1, M2 }

{ M1, A1, A2 }

{M1}, {A1}, {M2, A2}

Page 69: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 69

Candidate generation: problems

Undetected symptomsInsufficient observations

ImpreciseNot available

Insufficient modelsQuantitative accuracy Qualitative ambiguity

Limitations of conflict generationInherent in the prediction algorithmInherent in the model

Page 70: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 70

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]

[1]

[1]

[1]I

X1

X2

X3

Page 71: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 71

Conflict generation: limitations due to the model (I)

Observations: B1, B2 OFF,B3 ONMinimal 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-1S

B-2 B-3

W-1

W-2

W-3

W-4

W-5

W-6

Page 72: General Diagnostic Engine: GDE · Systems: components linked by connections via terminals ... out=1 ∧in2=0 ⊃in1=1 causal direction non causal direction. Behaviour model of a valve

GDE 72

Conflict generation: limitations due to the model (II)

Observations: B1, B2 OFF,B3 ONCandidate {S, B3}

Logically possiblePhysically impossible

Due to the absence of information about faulty behaviour (only models of correct behaviour)

B-1S

B-2 B-3

W-1

W-2

W-3

W-4

W-5

W-6