1 / 56

Behavior Modes

Behavior Modes. Meir Kalech Partially Based on slides of Brian Williams, Luca Console and Peter struss. Outline. Last lecture: Generation of tests/probes Measurement Selection Probabilities of Diagnoses Today’s lecture: Models of correct + faulty behavior Sherlock engine

dinh
Download Presentation

Behavior Modes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Behavior Modes Meir Kalech Partially Based on slides of Brian Williams, Luca Console and Peter struss

  2. Outline • Last lecture: • Generation of tests/probes • Measurement Selection • Probabilities of Diagnoses • Today’s lecture: • Models of correct + faulty behavior • Sherlock engine • Abductive diagnosis • Qualitative models

  3. Exploiting models of correct/faulty behavior Initial proposal: using only models of correct behavior • They are those that are in strict accordance with the goals (easy to acquire, e.g., from design) • But unfortunately they are not always sufficient • Need of exploiting also fault models of some form • predictive models [Struss, Dressler, 89] – GDE+[de Kleer, Williams 89] - SHERLOCK • “weak” models of physical impossibility [Friedrich et al. 90] • behavioral models [Console, Torasso, 91]

  4. X Diagnosis With Only the Unknown Inverter(i): • G(i): Out(i) = not(In(i)) • U(i): A B C 0 0 0 Y • Isolates surprises • Doesn’t explain Nominal and Unknown Modes

  5. X Diagnosis With Only the Known Inverter(i): • G(i): Out(i) = not(In(i)) • S1(i): Out(i) = 1 • S0(i): Out(i) = 0 A B C 0 0 0 Y • No surprises • Explains Exhaustive Fault Modes

  6. X 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): A B C 0 0 0 Y • Isolates surprises • Explains Nominal, Fault and Unknown Modes

  7. Measurement motivation to use Behavior modes • Knowledge of failure modes is important to decide what measurement to make next. • If all faults were equally likely, measuring X or Y provides equal information. • Suppose: • Inverters A and B almost always fail by stuck-at-1. • Inverter C almost always fails by stuck at-0. • It is unlikely that inverter A is failing. • The likely failures of inverters B and C are consistent with the symptom

  8. Behavior Modes • System comprises a (finite) set of components COMPS = { Ci } • Each Ci has a (finite) set of behavior modes modes(Ci) = { mij(Ci)} • E.g. • - (unique) correct behavior: ok(Ci) • - (any) faulty behavior:  ok(Ci) • - a specific fault: stuck-closed(valvei) • Behavior mode  operating mode (of correct behavior) • E.g. blocking mode of a diode • Definition (Mode Assignment) • COMPS’  COMPS • MA = {mij(Ci)  Ci  COMPS’ } • or MA = Ci  COMPS’mij(Ci) • MA complete: COMPS’=COMPS

  9. Diagnoses as Assignments of Fault Modes • Definition (Diagnosis): • A complete mode assignment MA that is consistent with the observations: • SDMA È OBS ^ • Definition (Mode Assignment) • COMPS’  COMPS • MA = {mij(Ci)  Ci  COMPS’ } • or MA = Ci  COMPS’mij(Ci) • MA complete: COMPS’=COMPS

  10. Battery Starter RLight HLight Yet Another Simple Example • Head lights work • Starter and rear light don’t • Obvious diagnosis: Starter and rear light are broken

  11. Battery Starter RLight HLight Fault Localization for the Simple Example - Conflicts 1 and 2 • ok(Battery)  ok(Wire1)  ok(Wire2)  ok(Starter)  active(Starter) • OBS  active(Starter) •  Conflictok(Battery) ok(Wire1) ok(Wire2) ok(Starter) Wire1 Wire2 Wire3 Wire4 • Analogously: • ok(Battery)ok(Wire1) ok(Wire2)ok(Wire3) ok(Wire4) ok(RLight) Wire5 Wire6

  12. Battery Starter RLight HLight Fault Localization for the Simple Example - Conflicts 3 and 4 • lit(HLight)  ok(HLight)  ok(Wire5)  ok(Wire6)  ok(RLight)  lit(RLight) • OBS  lit(RLight) •  Conflictok(HLight) ok(Wire5) ok(Wire6) ok(RLight) Wire1 Wire2 Wire3 Wire4 • Analogously: •  ok(HLight) ok(Wire5) ok(Wire6) ok(Wire3) ok(Wire4) ok(Starter) Wire5 Wire6

  13. Battery Starter RLight HLight Fault Localization for the Simple Example - Hitting Sets • {Battery, Wire1, Wire2, Starter} • {Battery, Wire1, Wire2, Wire3, Wire4, Rlight} • {HLight, Wire5, Wire6, Rlight} • {Hlight, Wire5, Wire6, Wire3, Wire4, Starter} Wire1 Wire2 ? ! Wire3 Wire4 • {Starter, Rlight} • {Battery, HLight} Wire5 Wire6 • {Wire1, Wire5} • + 19 NONSENSES more!

  14. Battery Starter • {Starter, Rlight} RLight • {Battery, HLight} • {Wire1, Wire5} HLight • + 19 more! What Makes Most of the Fault Localizations Implausible? • If the battery were broken, the headlights would not be lit • Broken headlights cannot be lit •  Knowledge about faults can reduce the set of fault localizations Wire1 Wire2 ? ! Wire3 Wire4 Wire5 Wire6

  15. Fault Models - “Physical Negation” • Fault models are needed • predictive: bulb(B)  AB(B)  voltageIn(B,X)  light(B,off)

  16. Outline • Last lecture: • Generation of tests/probes • Measurement Selection • Probabilities of Diagnoses • Today’s lecture: • Models of correct + faulty behavior • Sherlock engine • Abductive diagnosis • Qualitative models

  17. Search Guided by Probabilities: SHERLOCK ([de Kleer- Williams 89]) • Basic Idea: Search for the most probable explanations of the observations • Fault models for each component (type) • Possible: unknown fault mode • Modes have prior probability •  Mode assignments have a probability • SHERLOCK: best first search for consistent mode assignments • termination criteria

  18. Leading Diagnoses • Complexity of diagnoses space: n-#components, m-#modesGDE 2n SHERLOCK: mn • To reduce the high complexity, generate only leading diagnoses: • Diagnoses are those with the highest probabilities. • No more than k1 (=5) leading diagnoses. • Candidates with probability less than 1/k2(=100) of the best diagnosis are not considered • The diagnoses need not include more than k3 (=0.75) of the total probability mass of the candidates.

  19. 0 A 1 B Model of Inverter X Mode Behavior Prior Ø X : Normal .99 Out = In N X : Stuck at 1 Out = 1 .006 1 X : Stuck at 0 Out = 0 .003 0 X : Unknown .001 U SHERLOCK - Example: Two Inverters

  20. 0 A 1 B Model of Inverter X Mode Behavior Prior Ø X : Normal .99 Out = In N X : Stuck at 1 Out = 1 .006 1 X : Stuck at 0 Out = 0 .003 0 X : Unknown .001 U SHERLOCK - Example: Two Inverters In slide 25 see how to generate conflicts and diagnoses • Conflicts: {AN,BN}, {B0}, {A1, BN}

  21. 0 A 1 B SHERLOCK - Example: Two Inverters • Conflicts: {AN,BN}, {B0}, {A1, BN} • Inspired by GDE + modes • Diagnosis is an explanation: SDMAOBS ┴ , where MA=CiCOMPSmij(Ci), (rather than a set of faulty components) • I.E., the diagnosis set contains all the combinations of the components’ modes except of conflicts.

  22. 0 A 1 B [[A , B ]] [[A , B ]] .00594 .00099 N 1 N U [[A , B ]] [[A , B ]] .00004 .00001 1 1 1 U [[A , B ]] [[A , B ]] [[A , B ]] .00297 .00002 .000003 0 N 0 1 0 U [[A , B ]] [[A , B ]] [[A , B ]] .00099 .00001 .000001 U N U 1 U U SHERLOCK - Example: Two Inverters Generated by ATMS Conflicts: {AN,BN}, {B0}, {A1, BN} Full diagnostic explanations with probabilities: Diagnoses set does not contain:{AN,BN}, {A1, BN}, and supersets of {B0}

  23. 0 A 1 B [[A , B ]] [[A , B ]] .00594 .00099 N 1 N U [[A , B ]] [[A , B ]] .00004 .00001 1 1 1 U [[A , B ]] [[A , B ]] [[A , B ]] .00297 .00002 .000003 0 N 0 1 0 U [[A , B ]] [[A , B ]] [[A , B ]] .00099 .00001 .000001 U N U 1 U U SHERLOCK - Example: Two Inverters Generated by ATMS Conflicts: {AN,BN}, {B0}, {A1, BN} Full diagnostic explanations with probabilities: • Exhaustive search impossible • Perform best first search

  24. 0 A 1 B Legend: x inconsistent SHERLOCK - Example: Search Strategy Generate the next explanation with the highest probability

  25. A B C 0 0 1 X Y SHERLOCK, Process in details:1. Find Symptoms & Conflicts Conflict: not (G(A) and G(B) and G(C)) Finding conflict through ATMS, but generate focus environments G G 0 0 0 G 0 1

  26. A B C 0 0 1 X Y More Symptoms & Conflicts not (S1(A) and G(B) and G(C) S1 G 0 0 0 G 0 1

  27. A B C 0 0 X Y More Symptoms & Conflicts not (S0(B) and G(C)) S0 0 0 0 G 0 1

  28. A B C 0 0 X Y More Symptoms & Conflicts not S1(C) S1 0 1 0

  29. All Minimal Conflicts • < S1(C) > • < S0(B), G(C) > • < S1(A), G(B), G(C) > • < G(A), G(B), G(C) >

  30. 2. Constituent Diagnoses from Conflicts • Diagnosis is an explanation, so it must contains no conflict: • < S1(C) >: not S1(C):=> G(C) or S0(C) or U(C) • <S0(B) and G(C)>:not (S0(B) and G(C)) => not S0(B) or not G(C) => G(B) or S1(B) or U(B) or S1(C) or 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)

  31. 3. Generating Kernel Diagnoses • [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)] • [U(C)]

  32. 3. Generating Kernel Diagnoses • [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)] • [U(C)] • [S0(C)]

  33. 3. Generating Kernel Diagnoses • [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)] • [U(C)] • [S0(C)] • [U(B),G(C)]

  34. 3. Generating Kernel Diagnoses • [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)] • [U(C)] • [S0(C)] • [U(B),G(C)]

  35. 3. Generating Kernel Diagnoses • [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)] • [U(A),G(B),G(C)] • [U(C)] • [S0(C)] • [U(B),G(C]

  36. 3. Generate Kernel Diagnoses • [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)] • [U(A),G(B),G(C)] • [S0(A),G(B),G(C)] • [U(C)] • [S0(C)] • [U(B),G(C] • These are the kernel diagnoses • But for [U(C)] (for instance), what are the modes of A and B? • The best first search finds the most likely modes of A and B.

  37. Candidate Initial (prior) Probabilities

  38. No observations • With no observations Sherlock finds the single leading diagnosis • The unfocused Sherlock finds 43 diagnoses

  39. Input I=0 • Sherlock computes the following environments: • The focused Sherlock finds no label for X=0 as it does not hold in the single leading diagnosis.

  40. A B C 0 X Y

  41. A B C 0 0 X Y • Suppose O=0  Minimal conflicts are: • < S1(C) > • < S0(B), G(C) > • < S1(A), G(B), G(C) > • < G(A), G(B), G(C) > • Leading candidates: Next highest probability: For instance: These are the most likely modes of A and B, beyond the kernel diagnosis U(C)

  42. A B C 0 0 X Y • Now, the posterior behavior modes probabilities are: • ATMS labels are:

  43. A B C 0 0 X Y Top 6 of 64 = 98.6% of P

  44. Outline • Last lecture: • Generation of tests/probes • Measurement Selection • Probabilities of Diagnoses • Today’s lecture: • Models of correct + faulty behavior • Sherlock engine • Abductive diagnosis • Qualitative models

  45. Abductive diagnosis • The definition above is based on consistency: • explanation  consistent with the observations • Weak notion of explanation • A diagnosis D explains an observation m if it does not contradict m (D does not support not m). • Abductive diagnosis: • A stronger notion of explanation • Explanation  implies the observations • A diagnosis D explains an observation m if it supports m (Dm). • Abductive diagnosis [Poole 87][Console, Torasso, 89]

  46. Abductive diagnosis – Poole et al. 87 A different concept: • A diagnosis is not a logical consequence of our observations. Exactly the opposite: • The observation should be shown to be logical consequences of our knowledge and diagnosis.

  47. Abductive diagnosis - definition Cxt: inputs. The data that let the diagnoser to make prediction about the behavior of the system • Given • SD • Modes • Observations, with the distinction between contextual data (Cxt) and observations (Obs) • Determine • An assignment of behavior modes to components D = {mi(ci) | mi Modes(ci) } • such that: • SD  Cxt  D |= Obs • (SD  Cxt  D consistent)

  48. A continuum of definitionsConsole and Torasso 91 Given OBS, partition it into Obs1  Obs2 SD  Cxt  D  Obs2 |= Obs1 SD  Cxt  D  Obs1  Obs2 consistent Since Abduction diagnosis is more restrict than consistency:Abduction provides a subset of the solutions provided by consistency-based diagnosis Varying Obs1 we have a continuum of definitions: Obs1=OBS,Obs2= Ø abduction diagnosis of Poole86 Obs1=Ø, Obs2=OBS  consistency based diagnosis

  49. Abductive or Consistency? Criteria to select the most appropriate definition • abduction and consistency are the two extremes of a spectrum of alternatives • abduction is the most restrictive definition • it requires “complete” models • it provides a strong (physical) notion of explanation • consistency-based is less restrictive • less constraints on the models • weaker notion of explanation

  50. Computing abductive diagnoses: an example oil_cup radiator Model: oil_cup(normal)  oil_level(normal) oil_cup(holed)  oil_loss(present) oil_loss(present)  oil_below_car(present) oil_loss(present)  oil_level(low) oil_level(normal)  oil_gauge(normal) oil_level(low)  oil_gauge(red) oil_level(normal)  water_level(normal)  engine(on)  engine_temp(normal) ... normal holed normal holed oil_loss oil_level water_level oil_below_car normal low normal low oil_gauge water_temp normal red normal high engine_on Obs1 = {engine_temp(high)} Two minimal candidate explanations • E1 = { oil_cup(holed) } • E2 = {radiator(holed)} normal high engine_temp

More Related