1 / 47

nieuwe formalisatie Hittingsets algoritme Artikel: A Theory of Diagnosis from First Principles

College 10: Berekenen van diagnoses D erivation from N ormal S tructure and B ehaviour diagnosis DNSB-diagnose-model. nieuwe formalisatie Hittingsets algoritme Artikel: A Theory of Diagnosis from First Principles R. Reiter. Herhaling DNSB. Diagnositisch redeneersysteem op basis

lacy
Télécharger la présentation

nieuwe formalisatie Hittingsets algoritme Artikel: A Theory of Diagnosis from First Principles

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. College 10:Berekenen van diagnoses Derivation from Normal Structure and Behaviour diagnosis DNSB-diagnose-model • nieuwe formalisatie • Hittingsets algoritme Artikel: A Theory of Diagnosis from First Principles R. Reiter

  2. Herhaling DNSB Diagnositisch redeneersysteem op basis van “first principles”: • beschrijving van het systeem • structuurmodel • gedragsmodellen van de componenten • observaties • geen heuristische info over foutgedrag

  3. Herhaling DNSB Diagnoseprobleem: discrepantie tussen(1) voorspelde gedrag van het systeem als alle componenten correct zijn verondersteld(2) geobserveerd gedrag Probleem identificeren van “niet-correcte” componenten die de discrepantie verklaren. NB: - meerdere alternatieve diagnoses - multiple fault diagnoses

  4. Berekenen van diagnoses • alle diagnoses voor (SD,COMP,OBS) • generatie/test-mechanisme: • genereer alle diagnoses mbv. COMP, eerst de diagnoses met minamale cardinaliteit. • test consistentie van diagnose :SD  OBS  {ab(c)c  COMP \ } Probleem: te inefficiënt bij groot aantal componten Nu: nieuwe formalisatie van diagnoses op basis van “conflict sets”.

  5. Definities • conflict set:een set componenten die niet samen normaal kunnen functioneren gegeven (OBS,SD,COMP)SD  OBS  {ab(ci), …,ab(ck)} is inconsistent merk op: superset van een conflict set is een conflict set • => minimal conflict sets

  6. 2 mult-1 12 4 add-1 3 mult-2 12 2 add-2 mult-3 3 Voorbeeld conflict set: {mult-1,mult2,add-1}, {mult-3,mult-2,add-2} geenconflict set: {mult-1}, {add-1}

  7. Alternatieve diagnose-definitie diagnose  is een minimale set zodanig dat COMP\ geen conflict set is (en dus samen correct zijn).SD  OBS  {ab(c)c  COMP \ }is consistent

  8. 2 mult-1 12 4 add-1 3 mult-2 12 2 add-2 mult-3 3 Voorbeeld eenminimale  is {mult-1,mult-3} COMP \  is{mult-2,add-1,add-2} isgeen conflict{mult-2, add-1, add-2} kunnen samen normaal werken

  9. Hittingsets • Def: hittingset van {S1,…,Sn} bevat van iedere set Si minstens 1 element. • H: hittingset van CC: set van sets: {S1,…,Sn}S: {ci,…ck}H  S zodat HS • minimale hittingset  S  C

  10. Voorbeeld hittingset Wat is een hittingset van {{a,b},{b,c,d},{e}}? • {a,c,e} • {a,d,e} • {a,c} • {b,e} • {e} • {a,b,c,d,e}

  11. Diagnose-definitie •  is een diagnoseiff is een minimale hittingset voor de conflicts van (SD,OBS,COMP) •  is een diagnoseiff is een minimale hittingset voor de minimale conflicts van (SD,OBS,COMP)

  12. 1 XOR1 XOR2 1 0 1 AND2 OR1 0 AND1 Voorbeeld • (min.) conflict sets: {xor1,xor2},{xor1,and2,or1} • SD  OBS  {ab(xor1), ab(xor2)}is inconsistent • SD  OBS  {ab(xor1), ab(and2), ab(or1)}is inconsistent

  13. 1 XOR1 XOR2 1 0 1 AND2 OR1 0 AND1 Voorbeeld hittingset: Wat zijn de minimale hittingsets van de set van minimale conflicts? Dus: Wat zijn de diagnoses van(SD,COMP,OBS)? Minimale hittingsets van {{xor1,xor2},{xor1,and2,or1}}?

  14. Berekenen van hittingsets • bepalen van een minimale hittingset voor een willekeurige set. Merk op: algemene technische benadering (hittingsets) toegepast op diagnose “willekeurige set”  minimale conflicts“minimale hittingset”  diagnose

  15. HS-tree F is een verzameling van verzamelingen: {{..},{..},…,{..}} HS-tree voor F is: de kleinste boom met de eigenschappen: (1) als n een knoop is van T dan H(n) = verzameling labels van het pad n  root (2) als n een knoop is met label √ dan zijn er geen opvolgers

  16. HS-tree HS-tree voor F is: de kleinste boom met de eigenschappen: (1) als n een knoop is van T dan H(n) = verzameling labels van het pad n  root (2) als n een knoop is met label √ dan zijn er geen opvolgers (3) als label(n)=, waarbij   F, dan is er voor iedere    een opvolger vanuit n (n) met label(n  n)=. • label(n)= S, waarbij S  F zodat S  H(n )= {}. • label (n) = √ als er geen S is, waarbij S  F zodat S  H(n )= {}

  17. {2,4,5} 2 4 5 {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 2 3 5 3 5 v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,2,3} {1,6} 1 6 1 6 1 3 3 5 1 6 1 2 1 6 1 6 1 2 3 v v v v v v {1,6} {1,6} v v v {1,6} {1,6} v v v {1,2,3} {2,4} {2,4} v 1 1 6 1 6 1 6 4 2 1 6 3 2 2 4 v v v v v v v v v v v v v v v HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}

  18. Resultaat • als n een knoop is met label √ danH(n) is een hittingset voor F • iedere minimale hittingset voor F is een H(n), waarbij label(n)=√ NB: H(n) met label(n)=√ zijn niet alle hittingsets, maar bevatten wel alle minimale hittingsets.

  19. HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}} {2,4,5} 2 4 5 minimale hittingset {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 2 3 5 3 5 v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,2,3} {1,6} 1 6 1 6 1 3 3 5 1 6 1 2 1 6 1 6 1 2 3 v v v v v v {1,6} {1,6} v v v {1,6} {1,6} v v v {1,2,3} {2,4} {2,4} v 1 1 6 1 6 1 6 4 2 1 6 3 2 2 4 v v v v v v v v v v v v v v v hittingsetgeen minimale hittingset

  20. Algoritme voor HS-tree Doel: zoeken naar een algoritme voor het genereren van HS-tree Eigenschappen: • zo klein mogelijke HS-tree • HS-tree met alle minimale hittingsets • minimaliseren van het aantal aanroepen naar F voor het genereren van een subtree Aanroep naar F: = bepalen van een label van een knoop = zoeken van een S zodanig dat S  H(n)= {}.

  21. Diagnose-toepassing • F is set van alle conflicts voor (SD,COMP,OBS) aanroep naar F is duur! • F niet expliciet gegeven, maar impliciet • Aanroep naar F is een berekening van een conflict set

  22. Verminderen van F-aanroepen Minder aanroepen door: • herbruiken van knoop-labels • geen redundante F-aanroepen • eigenschap van hittingset

  23. S S Verminderen van F aanroepen 1. Herbruiken van knoop-labels idee: gebruik dezelfde S indien dat mogelijk is (scheelt opzoeken van een nieuwe S)

  24. {2,4,5} 2 4 5 {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 2 3 5 3 5 v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,2,3} {1,6} 1 6 1 6 1 3 3 5 1 6 1 2 1 6 1 6 1 2 3 v v v v v v {1,6} {1,6} v v v {1,6} {1,6} v v v {1,2,3} {2,4} {2,4} v 1 1 6 1 6 1 6 4 2 1 6 3 2 2 4 v v v v v v v v v v v v v v v 1. herbruiken van knoop-labels HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}} {1,3,5} X

  25. Verminderen van F-aanroepen 2. Redundantie Als er een knoop ni met een labelis en nj heeft nog geen label en H(ni) = H(nj)  nj is redundant, dus “sluiten”

  26. {2,4,5} 2 4 5 {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 2 3 5 3 5 v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,2,3} {1,6} 1 6 1 6 1 3 3 5 1 6 1 2 1 6 1 6 1 2 3 v v v v v v {1,6} {1,6} v v v {1,6} {1,6} v v v {1,2,3} {2,4} {2,4} v 1 1 6 1 6 1 6 4 2 1 6 3 2 2 4 v v v v v v v v v v v v v v v 2. redundantie van knopen HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}} H(n)={2,5} H(n)={4,5} v v

  27. Verminderen van F-aanroepen:3a. eigenschap van hitting set gebruiken Knoop n met label  is een hittingset voor F. Knoop n’ met H(n)  H(n’) kan geen minimale hittingset zijn!  n’ knoop “sluiten”

  28. {2,4,5} 2 4 5 {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 2 3 5 3 5 v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,2,3} {1,6} 1 6 1 6 1 3 3 5 1 6 1 2 1 6 1 6 1 2 3 v v v v v v {1,6} {1,6} v v v {1,6} {1,6} v v v {1,2,3} {2,4} {2,4} v 1 1 6 1 6 1 6 4 2 1 6 3 2 2 4 v v v v v v v v v v v v v v v label(n)=  en H(n)  H(n’) HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}} H(n)={2,1} X geen F-aanroep voor bepalen van “v”! H(n)={2,3,1}

  29. Verminderen F-aanroepen3b. eigenschap van hitting set gebruiken • Gebruik eigenschap van min. hitting sets:S  F  S’ F  S  S’ F \ {S’} heeft dezelfde min. hitting sets als F  her-labellen van een boom zodra je zo’n knoop S tegenkomt (kan overigens niet wanneer conflicts minimaal zijn). Een hele subboom van S’ is redundant!  F eerst scannen op subsets? Nee, we willen juist niet eerst alle conflict sets genereren!

  30. {2,4,5} 2 4 5 {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 2 3 5 3 5 v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,2,3} {1,6} 1 6 1 6 1 3 3 5 1 6 1 2 1 6 1 6 1 2 3 v v v v v v {1,6} {1,6} v v v {1,6} {1,6} v v v {1,2,3} {2,4} {2,4} v 1 1 6 1 6 1 6 4 2 1 6 3 2 2 4 v v v v v v v v v v v v v v v Gebruik van hittingset-eigenschap HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}

  31. Algoritme voor HS-tree (1) genereer breadth-first, left-to-right (2) herbruik knoop-labels (3) tree “pruning” • als label(n)= en H(n)H(n’) dan “sluit” n’ • als knoop n en n’ zijn gegenereerd en H(n’) = H(n) dan “sluit” n’ (X) • als label(n)=S en label(n’)=S’ en S  S’ danvoor alle   S’ \ S is een redundante subboom. (-cutting-)

  32. {2,4,5} 2 4 5 {1,3,5} {2,3,5} {2,4,6} 1 2 4 6 1 3 5 3 5 v {1,6} {1,6} {2,3,5} {1,6} {1,6} x {1,2,3} x 1 6 1 6 2 3 3 5 1 6 1 6 1 x v x v x v v v {1,2,3} v {2,4} x 1 2 minimale hittingsets x x NB: aantal F-aanroepen van 47 naar 13! Algoritme HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}} Cutting {1,3,5} x 3 x

  33. algoritme HS-tree • F: {{..},{..},…,,{..}} • T: “pruned” HS-tree voor F {H(n) | n is een knoop van T en label(n)= } = set van minimale hittingsets voor F = set van diagnoses

  34. Berekenen van diagnoses (1) bereken F:  alle conflict sets voor (SD,OBS,COMP) (2) gebruik methode van “pruned” HS-tree voor berekenen van minimale hittingsets. (3) return {H(n) | n is knoop met label } Probleem: onmogelijk berekenen van alle conflicten  F berekenen tijdens constructie HS-tree

  35. Label geven aan een knoop • herbruiken van de vorige S-label voor n indien H(n)  S = {} • doorzoeken van F voor S zodat H(n)  S = {}.  aanroep naar F Niet noodzakelijk: expliciet gegeven F

  36. TP-functie (Theorem Prover) TP-functie: • input: SD,COMP,OBS • output: a conflict set S for SD,COMP,OBS Eigenschap: TP(SD,COMP\H(n),OBS) levert een conflict set S voor (SD,COMP,OBS) waarbij H(n)  S = {}

  37. In algoritme Aanroep naar F • label n: TP(SD,COMP\H(n),OBS)H(n): knopen van n  root zijn al abnormaal (al deel van de diagnose) NB: TP genereert een `volgorde’ van conflicts.

  38. Diagnose-algoritme diagnose(SD, Comp, OBS) Stap 1: • Gebruik methode van “pruned” HS-tree voor berekenen van minimale hittingsets. • Vervang de F-aanroep met een TP-aanroep(Comp\H(n)) Stap 2: • return minimale hittingsets van HS-tree.Dus return: {H(n) | n is knoop met label }

  39. 1 XOR X1 XOR X2 1 0 TP(SD,{X1,X2,A1,A2,O1},OBS) 1 AND A2 OR O1 0 AND A1 TP(SD,{X1,A1,A2,O1},OBS) {X1,X2} X2 X1 v {X1,A2,O1} TP(SD,{X2,A1,A2,O1},OBS) diagnose X1 O1 A2 pruning regel x v v TP(SD,{X1,A1,A2},OBS) TP(SD,{X1,A1,O1},OBS) Voorbeeld NB: 5 aanroepen naar TP boom afhankelijk van TP-functie

  40. Diagnoses • wanneer HS-tree breath-first gegenereerd wordt  diagnoses worden in volgorde van groeiende cardinaliteit gegenereerd • single fault diagnoses

  41. Eigenschappen Single fault diagnose • {c} is een single fault diagnose van (SD,OBS,COMP)iffc is in iedere minimale conflict set van (SD,OBS,COMP)= knopen op nivo 1 met label  • C is een conflictset voor (SD,OBS,COMP).{c} is een single fault diagnose van (SD,OBS,COMP)iff c  C SD  OBS  {ab(k)k  COMP \ {c}}is consistent= het bepalen van alle single fault diagnoses gegeven één conflict set

  42. Alternatieve diagnoses • extra meetingen (MEAS) nodig voor discrimineren van de alternatieve diagnoses Wat is de relatie tussen: • de diagnoses van (SD,COMP, OBS) • de diagnoses van (SD,COMP, OBS  MEAS)

  43. Extra meetingen Voorspellingen • SD  OBS  {ab(k)k   } {ab(k)k  COMP \  }|--  • SD  OBS  {ab(k)k  COMP \  }|--  • als geen enkele diagnose  voorspelt dan geeft(SD,COMP,OBS  ) dezelfde diagnoses als (SD,COMP,OBS)  slechte test!

  44. Voorbeeld (diagnose-discriminatie) 3 M1 2 10 A1 3 M2 12 2 A2 2 M3 3 mogelijke diagnoses: {M1}: voorspelling out(M2)=6 out(M1)=4 {M2,M3}: voorspelling out(M2)=4 out(M1)=6 output van M1 of M2zijn goede testen

  45. Extra meetingen • Alle diagnoses van (SD,COMP,OBS) die  voorspellen zijndiagnoses van (SD,COMP,OBS  ) • Alle diagnoses van (SD,COMP,OBS) die  voorspellen zijn geen diagnoses van (SD,COMP,OBS  )  meeting die niet bevestigd wordt kan alleen diagnoses verwerpen!!

  46. diagnoses voor “OBS  ” De diagnoses van (SD,COMP,OBS  ) zijn: • de diagnoses van(SD,COMP,OBS) die voorspelde • niet de diagnoses van (SD,COMP,OBS) die voorspelde • mogelijk “nieuwe” diagnoses (Dit zijn dan supersets van diagnoses van (SD,COMP,OBS) die voorspelden)

  47. Vandaag • hittingset algoritme • extra meetingen voor discriminatie van alternatieve diagnoses Volgende keer: • laatste uit de serie “correctmodellen” General Diagnostic Engine(een bekend diagnostisch systeem gebaseerd op correctmodellen) • Raamwerk voor diagnostische methoden

More Related