10/16/02copyright Brian Williams, 20021 courtesy of JPL Diagnosing Multiple Faults Brian C. Williams...
-
Upload
ophelia-merritt -
Category
Documents
-
view
220 -
download
0
Transcript of 10/16/02copyright Brian Williams, 20021 courtesy of JPL Diagnosing Multiple Faults Brian C. Williams...
1copyright Brian Williams, 200210/16/02courtesy of JPL
Diagnosing Multiple Faults
Brian C. Williams16.412J/6.834JOctober 16th, 2002
Brian C. Williams, copyright 2000
2copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 3
Failures may be hidden: STS-93Symptoms:
• Engine temp sensor high• LOX level low• GN&C detects low thrust• H2 level low (???)
Problem: Liquid hydrogen leakEffect:
• LH2 used to cool engine• Engine runs hot• Consumes more LOX
Failures may be detected by qualitative arguments
10/16/02 copyright Brian Williams, 2002 4
• Mars Observer
courtesy of JPL
Failures are Often Novel
5copyright Brian Williams, 200210/16/02
6copyright Brian Williams, 200210/16/02
Multiple Faults Occur
courtesy of NASA
• Quintuple fault occurs (three shorts, tank-line and pressure jacket burst, panel flies off).
• Power limitations too severe to perform new mission.
• Novel reconfiguration identified, exploiting LEM batteries for power.
APOLLO 13
10/16/02 copyright Brian Williams, 2002 7
• Mars Observer• . . . .• Mars Climate Orbiter• Mars Polar Lander• Deep Space 2
courtesy of JPL
Failures Are Subtle,Frequent and Remote
10/16/02 copyright Brian Williams, 2002 8
Mars Polar Lander Diagnosis:
• Legs deployed during descent.
• Noise spike on leg sensors latched by software monitors.
• Laser altimeter registers 50ft.
• Begins polling leg monitors to determine touch down.
• Latched noise spike read as touchdown.
• Engine shutdown at ~50ft.
Failures Involve Complex Software/Hardware Interactions
10/16/02 copyright Brian Williams, 2002 9
Candidate: Assignment to all component modes.
3
2
2
3
3
M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
10Adder(i): G(i):
Out(i) = In1(i)+In2(i) U(i): 12
Diagnosis identifies consistent modes
Candidate = {G(A1) & G(A2) & G(M1) & G(M2) & G(M3)}
Given Model and Observations:
10/16/02 copyright Brian Williams, 2002 10
Diagnosis identifies consistent modes
Adder(i): G(i):
Out(i) = In1(i)+In2(i) U(i):
Candidate: Assignment to all component modes. Diagnosis D: Candidate consistent with model Phi and
observables OBS.
3
2
2
3
3
M1
M3
A1
A
B
C
D
E
F
G
X
Y
Z
10
12
Diagnosis = {G(A1) & U(A2) & G(M1) & G(M2) & G(M3)}
Given Model and Observations:
11copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
10/16/02 copyright Brian Williams, 2002 12
senseP(s)
WORLD
observations actions
AGENT Diagnostic Agent:
• Monitors & Diagnoses
• Repairs & Avoids
• Probes and Tests
Plant
act
Consistency-based From Symptoms
10/16/02 copyright Brian Williams, 2002 13
Goal: Support programmers with Embedded Languages thatmonitor, diagnose and repair
(Model-based Programming)
Programming Diagnostic Agents
System Model
Control Program
RMPL Model-based Program
Control Sequencer
Deductive Controller
CommandsObservations
Plant
Titan Model-based Executive
State goalsState estimates
ModeEstimation
ModeReconfiguration
Trackslikely
plant states
Tracks least cost goal states
Executes concurrently Preempts Queries (hidden) states Asserts (hidden) state
ClosedClosed
ValveValveOpenOpen StuckStuck
openopen
StuckStuckclosedclosed
OpenOpen CloseClose
0. 010. 01
0. 010. 01
0.010.01
0.010.01
inflow = outflow = 0
Generates target goal statesconditioned on state estimates
Example: The model-based program sets engine = thrusting, and the deductive controller . . .
Determines that valveson the backup engine
will achieve thrust, andplans needed actions.
Deduces that a valve failed - stuck closed
Plans actionsto open
six valves
Fuel tankFuel tankOxidizer tankOxidizer tank
Deduces thatthrust is off, and
the engine is healthy
16copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
10/16/02 copyright Brian Williams, 2002 17
Representing Inconsistent Candidates Compactly
M1
M2
A1
A
B
C
D
E
3
2
2
3
F
G
X
Y
Z
10
Conflict
• A set of component modes M that are inconsistent with the model and observations.
• Every subset of a conflict is a conflict
• Only need conflicts that are minimal under subset
• Logically, not M is an implicate of model & Obs
6
6
12
M3
A2
10/16/02 copyright Brian Williams, 2002 18
??3
223
3
M1
M3
A1
A
BCD
E
F
G
X
Y
Z
10
12?
Kernel Diagnosis
= {U(A2) & U(M2)}
Representing Diagnoses Compactly
Partial Diagnosis: A set of component modes M all of whose extensions are diagnoses.
• M removes all symptoms
• M entails Model & Obs (implicant)
Kernel Diagnosis: A minimal partial diagnosis K
• M is a prime implicant of model & obs
10/16/02 copyright Brian Williams, 2002 19
Using Conflicts to Divide and Conquer
Given model Phi and observations OBS1. Find all symptoms and
diagnose each symptom separately
2. Merge diagnoses
General Diagnostic Engine[de Kleer & Williams, 87]
10/16/02 copyright Brian Williams, 2002 20
Using Conflicts to Divide and Conquer
Given model Phi and observations OBS1. Find all symptoms and
diagnose each symptom separately find minimal conflicts and constituent diagnoses
2. Merge diagnoses find kernel diagnoses
General Diagnostic Engine[de Kleer & Williams, 87]
10/16/02 copyright Brian Williams, 2002 21
1. Find Symptom
M1
M2
A1
A
B
C
D
E
3
2
2
3
F
G
X
Y
Z
10
Symptom: F is observed 10, but should be 12 if M1 & M2 & A1 are okay.
6
6
12
M3
A2
10/16/02 copyright Brian Williams, 2002 22
1. … and its Conflict
M1
M2
A1
A
B
C
D
E
3
2
2
3
F
G
X
Y
Z
Symptom: F is observed 10, but should be 12 if A1, M1& M2 are okay.
Conflict: G(A1) & G(M1) & G(M2) is inconsistent
F 10
126
6
10/16/02 copyright Brian Williams, 2002 23
M1
M2
A1
A
B
C
D
E
3
2
2
3
F
G
X
Y
Z
Symptom: F is observed 10, but should be 12
Conflict: G(A1) & G(M1) & G(M2) is inconsistent
U(A1) or U(M1) or U(M2) removes conflict.
10
126
6
1. … and its Conflict
10/16/02 copyright Brian Williams, 2002 24
1. Find Another Symptom
3
2
3
M1
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
10
12
4
6
10
Symptom: G is observed 12, but should be 10 ...
10/16/02 copyright Brian Williams, 2002 26
3
2
3
M1
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
10
12
4
6
10
Symptom: G is observed 12, but should be 10
Conflict: G(A1) & G(M2) & G(M1) & G(M3) is inconsistent
U(A1) or U(A2) or U(M1) or U(M3) removes conflict
Conflict not just upstream from symptom
1. … and its Conflict
10/16/02 copyright Brian Williams, 2002 27
Kernel Diagnoses =
2. Merge Diagnoses
U(A1) or U(M1) or U(M2) remove conflict 1.
U(A1) or U(A2) or U(M1) or U(M3) remove conflict 2
“Smallest” sets of modes that remove all conflicts
Constituent Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 28
Kernel Diagnoses = {U(A1)}
3. Merge Diagnoses
U(A1) or U(M1) or U(M2) remove conflict 1.
U(A1) or U(A2) or U(M1) or U(M3) remove conflict 2
“Smallest” sets of modes that remove all conflicts
Constituent Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 29
Kernel Diagnoses = {U(M1)}{U(A1)}
3. Merge Diagnoses
“Smallest” sets of modes that remove all conflicts
U(A1) or U(M1) or U(M2) remove conflict 1.
U(A1) or U(A2) or U(M1) or U(M3) remove conflict 2
Constituent Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 30
3. Merge Diagnoses
U(A1) or U(M1) or U(M2) remove conflict 1.
U(A1) or U(A2) or U(M1) or U(M3) remove conflict 2
Kernel Diagnoses = {U(A2) & U(M2)} {U(M1)}{U(A1)}
“Smallest” sets of modes that remove all conflicts
Constituent Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 31
Kernel Diagnoses = {U(M2) & U(M3)}{U(A2) & U(M2)}{U(M1)}{U(A1)}
3. Merge Diagnoses
U(A1) or U(M1) or U(M2) remove conflict 1.
U(A1) or U(A2) or U(M1) or U(M3) remove conflict 2
“Smallest” sets of modes that remove all conflicts
Constituent Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 32
Worst Case Complexity
Given model Phi and observations OBS Generate all minimal conflicts
An instance of Implicate generation - NP Hard
Generate kernel diagnosis from conflicts An instance of Implicant generation - NP Hard
Performance is a pragmatic question: How large is the set of conflicts and kernels? Is it faster to go through conflicts,
than to go directly to the kernels?
33copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
10/16/02 copyright Brian Williams, 2002 34
Diagnosis With Only the Unknown
Inverter(i): G(i): Out(i) = not(In(i)) U(i):
X YA B C0 00 0
Nominal and Unknown Modes
• Isolates surprises• Doesn’t explain
10/16/02 copyright Brian Williams, 2002 35
Diagnosis With Only the Known
Inverter(i): G(i): Out(i) = not(In(i)) S1(i): Out(i) = 1 S0(i): Out(i) = 0
X YA B C0 00 0
Exhaustive Fault Modes
• No surprises• Explains
10/16/02 copyright Brian Williams, 2002 36
Solution: Diagnosis as Estimating Behavior Modes
Inverter(i): G(i): Out(i) = not(In(i)) S1(i): Out(i) = 1 S0(i): Out(i) = 0 U(i):
X YA B C0 00 0
Nominal, Fault and Unknown Modes
• Isolates surprises• Explains
10/16/02 copyright Brian Williams, 2002 37
Example Diagnoses
X YA B C0 01
Diagnosis: [S1(A),G(B),U(C)]
0 0
Sherlock[de Kleer & Williams, 89]
10/16/02 copyright Brian Williams, 2002 38
Example Diagnoses
X YA B C0 01
Diagnosis: [S1(A),G(B),U(C)]
Kernel Diagnosis: [U(C)]
X YA B C0 0??
0 0
0 0
Sherlock[de Kleer & Williams, 89]
10/16/02 copyright Brian Williams, 2002 39
1. Find Symptoms & Conflicts
Conflict:
not G(A), G(B) and G(C)
X YA B C0 0
1 0G G
G0
01
0
0
10/16/02 copyright Brian Williams, 2002 40
More Symptoms & Conflicts
Not S1(A), G(B), and G(C)
X YA B C0 0
1 0S1 G
G0
01
0
0
10/16/02 copyright Brian Williams, 2002 41
not S0(B) and G(C)
X YA B C0 0
0S0
G0
01
More Symptoms & Conflicts
0
0
10/16/02 copyright Brian Williams, 2002 42
not S1(C)
X YA B C0 0
1S10
0
More Symptoms & Conflicts
10/16/02 copyright Brian Williams, 2002 43
All Conflicts
< S1(C) >
< S0(B), G(C) >
< S1(A), G(B), G(C) >
< G(A), G(B), G(C) >
10/16/02 copyright Brian Williams, 2002 44
2. Constituent Diagnoses from Conflicts
< S1(C) >=> G(C),S0(C) or U(C)
< S0(B), G(C) >
=> G(B),S1(B),U(B),S1(C),S0(C) or U(C)
< S1(A), G(B), G(C) >
=> G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C) or U(C)
< G(A), G(B), G(C) >
=> S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C) or U(C)
10/16/02 copyright Brian Williams, 2002 45
3. Generate Kernel Diagnoses
[U(C)]
[G(C),S0(C),U(C)]
[G(B),S1(B),U(B),S1(C),S0(C),U(C)]
[G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
10/16/02 copyright Brian Williams, 2002 46
[U(C)] [S0(C)]
[G(C),S0(C),U(C)]
[G(B),S1(B),U(B),S1(C),S0(C),U(C)]
[G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
3. Generating Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 47
[U(C)] [S0(C)]
[U(B),G(C)]
[G(C),S0(C),U(C)]
[G(B),S1(B),U(B),S1(C),S0(C),U(C)]
[G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
3. Generating Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 48
[U(C)] [S0(C)]
[U(B),G(C)]
[G(C),S0(C),U(C)]
[G(B),S1(B),U(B),S1(C),S0(C),U(C)]
[G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(B),G(C)]
3. Generating Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 49
[U(C)] [S0(C)]
[U(B),G(C]
[S1(B),G(C)]
[U(A),G(B),G(C)]
[G(C),S0(C),U(C)]
[G(B),S1(B),U(B),S1(C),S0(C),U(C)]
[G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
3. Generating Kernel Diagnoses
10/16/02 copyright Brian Williams, 2002 50
[U(C)] [S0(C)]
[U(B),G(C]
[S1(B),G(C)]
[U(A),G(B),G(C)]
[S0(A),G(B),G(C)]
[G(C),S0(C),U(C)]
[G(B),S1(B),U(B),S1(C),S0(C),U(C)]
[G(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
[S1(A),S0(A),U(A),S1(B),S0(B),U(B),S1(C),S0(C),U(C)]
3. Generate Kernel Diagnoses
51copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
Computing Likelihood Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 52
Diagnoses: (42 of 64 candidates)
Fault Models [G(A),G(B),S0(C)] [G(A),S1(B),S0(C)] [S0(A),G(B),G(C)]
. . . Fault Free [G(A),G(B),U(C)] [G(A),U(B),G(C)] [U(A),G(B),G(C)]
Partial Diagnoses [G(A),U(B),S0(C)] [U(A),S1(B),G(C)] [S0(A),U(B),G(C)]
. . .
X YA B C0 00 0
10/16/02 copyright Brian Williams, 2002 53
Changes to Event Space
U
Candidates withUNKNOWN failure modes
Candidates withKNOWN failure modes
Good Good
G
F1Fn
G
U
10/16/02 copyright Brian Williams, 2002 54
Candidate Initial (prior) Probabilities
p(c) p(m)mc
A B C
p(G) .99 .99 .99
p(S1) .008 .008 .001
p(S0) .001 .001 .008
p(U) .001 .001 .001
p([G(A),G(B),G(C)]) = .97
p([S1(A),G(B),G(C)]) = .008
p([S1(A),G(B),S0(C)]) = .00006
p([S1(A),S1(B),S0(C)]) = .0000005
Assume FailureIndependence
10/16/02 copyright Brian Williams, 2002 55
00.20.40.60.8
11.2
OK
S0(A)
S1(B)
S0(C)
U(A
)
U(B
)
U(C
)
S1(A),
S0(C)
X YA B C0 00
10/16/02 copyright Brian Williams, 2002 56
Posterior Probability, after Observation x = v
P(x=v|c) estimated using Model:
If previous obs, c and Phi entails x = vThen p(x = v | c) = 1
If previous obs, c and Phi entails x <> vThen p(x = v | c) = 0
If Phi consistent with all values for x Then p(x = v | c) is based on priors E.g., uniform prior = 1/m for m possible values of x
p(c | xv) p(x v | c)p(c)
p(x v)Bayes’Rule
Normalization Term
10/16/02 copyright Brian Williams, 2002 57
Observe out = 1: C = [G(A),G(B),G(C)] P(C) = .97 P(out = 1 | C) = ? = 1 P(C | out = 0 ) = ? = .97/p(x=v)
p(c | xv) p(x v | c)p(c)
p(x v)
X YA B C 10
10/16/02 copyright Brian Williams, 2002 58
Observe out = 0: C = [G(A),G(B),G(C)] P(C) = .97 P(out = 0 | C) = ? = 0 P(C | out = 0 ) = ? = 0 x .97/p(x=v) = 0
p(c | xv) p(x v | c)p(c)
p(x v)
X YA B C 00
10/16/02 copyright Brian Williams, 2002 59
X YA B C0
A B C
p(S1) .008 .008 .001
p(S0) .001 .001 .008
p(U) .001 .001 .001
0
How do the single faults change?• which are eliminated?• which predict observations?• Which are agnostic?
Priors for Single Fault Diagnoses:
10/16/02 copyright Brian Williams, 2002 60
00.20.40.60.8
11.2
OK
S0(A)
S1(B)
S0(C)
U(A
)
U(B
)
U(C
)
S1(A),
S0(C)
X YA B C0 00
10/16/02 copyright Brian Williams, 2002 61
0
0.1
0.2
0.3
0.4
0.5
OK
S0(A)
S1(B)
S0(C)
U(A
)
U(B
)
U(C
)
S1(A)S
0(C)
X YA B C0 00 0
Top 6 of 64 = 98.6% of P
62copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
Computing Likelihood Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 63
When you have eliminated the impossible, whatever remains, however improbable, must be the truth.
- Sherlock Holmes.
The Sign of the Four.
Exploring the Improbable
10/16/02 copyright Brian Williams, 2002 64
Focusing on Probable Candidates: Conflict-directed A*
GenerateCandidate
TestCandidate
Consistent?Keep
ComputePosterior p
BelowThreshold?
RecordConflict
DoneYes No
Yes No
Leading CandidateBased on Priors
10/16/02 copyright Brian Williams, 2002 65
IncreasingCost
Feasible
Infeasible
A*
10/16/02 copyright Brian Williams, 2002 66
IncreasingCost
Feasible
Infeasible
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 67
IncreasingCost
Feasible
InfeasibleConflict 1
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 68
IncreasingCost
Feasible
InfeasibleConflict 1
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 69
IncreasingCost
Feasible
InfeasibleConflict 2
Conflict 1
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 70
IncreasingCost
Feasible
InfeasibleConflict 2
Conflict 1
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 71
IncreasingCost
Feasible
Infeasible
Conflict 3
Conflict 2
Conflict 1
Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 72
IncreasingCost
Feasible
Infeasible
Conflict 3
Conflict 2
Conflict 1
Conflict-directed A*
• Feasible regions described by the implicants of known conflicts (Kernel Assignments)
•Want kernel assignment containing the best cost candidate
10/16/02 copyright Brian Williams, 2002 73
Conflict-directed A*
Given Current Conflicts: Generate best-cost kernel of conflicts Extend best kernel to best candidate Test consistency
Failure: new-conflict.
10/16/02 copyright Brian Williams, 2002 74
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
Assume Independent failures:
PG(mi) >> PU(mi)
Psingle >> Pdouble
PU(M2) > PU(M1) > PU(M3) > PU(A1) > PU(A2)
Example: Diagnosis
10/16/02 copyright Brian Williams, 2002 75
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
Conflicts / Constituent Diagnoses none
Best Kernel: {}
Best Candidate: ?
First Iteration
10/16/02 copyright Brian Williams, 2002 76
{ }
?(M1) & ?(M2) & ?(M3) & ?(A1) & ?(A2)
G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
Select most likely value for unassigned modes
10/16/02 copyright Brian Williams, 2002 77
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
10/16/02 copyright Brian Williams, 2002 78
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
10/16/02 copyright Brian Williams, 2002 79
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
10/16/02 copyright Brian Williams, 2002 80
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
10/16/02 copyright Brian Williams, 2002 81
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
12
10/16/02 copyright Brian Williams, 2002 82
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
12
Extract Conflict and Constituent Diagnoses:
10/16/02 copyright Brian Williams, 2002 83
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
12
Extract Conflict and Constituent Diagnoses:
10/16/02 copyright Brian Williams, 2002 84
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
12
Extract Conflict and Constituent Diagnoses:
Not [G(M2) & G(M1) & G(A1)]
10/16/02 copyright Brian Williams, 2002 85
Test: G(M1) & G(M2) & G(M3) & G(A1) & G(A2)
Extract Conflict and Constituent Diagnoses:
Not [G(M2) & G(M1) & G(A1)]
U(M2) or U(M1) or U(A1)
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
12
10/16/02 copyright Brian Williams, 2002 86
Conflicts / Constituent Diagnoses U(M2) or U(M1) or U(A1)
Best Kernel: U(M2)
Best Candidate: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
Second Iteration
3
2
2
3
3
10M1
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
6
12
10/16/02 copyright Brian Williams, 2002 87
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
A1
10/16/02 copyright Brian Williams, 2002 88
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
10/16/02 copyright Brian Williams, 2002 89
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
10/16/02 copyright Brian Williams, 2002 90
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
4
6
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
10/16/02 copyright Brian Williams, 2002 91
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
4
610
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
10/16/02 copyright Brian Williams, 2002 92
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
4
610
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
Extract Conflict:
10/16/02 copyright Brian Williams, 2002 93
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
4
610
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
Extract Conflict:
Not [G(M1) & G(M3) & G(A1) & G(A2)]
10/16/02 copyright Brian Williams, 2002 94
3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
4
610
Test: G(M1) & U(M2) & G(M3) & G(A1) & G(A2)
A1
Extract Conflict:
Not G(M1) & G(M3) & G(A1) & G(A2)
U(M1) or U(M3) or U(A1) or U(A2)
10/16/02 copyright Brian Williams, 2002 95
Conflicts / Constituent Diagnoses U(M2) or U(M1) or U(A1)
U(M2) or U(M3) or U(A1) or U(A2)
Best Kernel: U(M1)
Best Candidate: U(M1) & U(M2) & G(M3) & G(A1) & G(A2)
Second Iteration3
2
2
3
3
10M1
M3
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
4
610
A1
10/16/02 copyright Brian Williams, 2002 96
Test: U(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
10/16/02 copyright Brian Williams, 2002 97
3
2
2
3
3
10
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
Test: U(M1) & G(M2) & G(M3) & G(A1) & G(A2)
10/16/02 copyright Brian Williams, 2002 98
3
2
2
3
3
10
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
Test: U(M1) & G(M2) & G(M3) & G(A1) & G(A2)
10/16/02 copyright Brian Williams, 2002 99
3
2
2
3
3
10
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
Test: U(M1) & G(M2) & G(M3) & G(A1) & G(A2)
10/16/02 copyright Brian Williams, 2002 100
Test: U(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
4
10/16/02 copyright Brian Williams, 2002 101
Test: U(M1) & G(M2) & G(M3) & G(A1) & G(A2)
3
2
2
3
3
10
M2
M3
A1
A2
A
B
C
D
E
F
G
X
Y
Z
12
6
6
4
12
Consistent!
10/16/02 copyright Brian Williams, 2002 102
U(A2) U(M1)
U(M3)U(A1)U(A1), U(A2), U(M1), U(M3)
U(A1) U(M1) U(M2)
U(A1) U(M1) U(M1) & U(A2) U(M2) & U(M3)
Conflict-Directed A*: Generating Best Kernels
U(A1), U(M1) , U(M2)
Constituent Diagnoses
• Kernel assignments found by minimal set covering
• To find the best kernel, expand tree in best first order
103copyright Brian Williams, 200210/16/02
Outline
Properties of Diagnosis Diagnostic Agents Diagnosis using Conflicts Estimating Modes Finding the Most Likely
Computing Likelihood Conflict-directed A*
10/16/02 copyright Brian Williams, 2002 104
Research in Model-based Diagnosis
Methods exist for:
• Focusing on likely diagnoses
• Active probing
• Diagnosing dynamic systems and monitoring behavior
• Repairing and compensating for failures
• Diagnosing hybrid discrete/continuous systems
• Performing distributed diagnosis