MBR AtT1 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
MBR AtT2 Herhaling DNSB Diagnositisch redeneersysteem op basis van “first principles”: beschrijving van het systeem –structuurmodel –gedragsmodellen van de componenten observaties geen heuristische info over foutgedrag
MBR AtT3 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
MBR AtT4 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”.
MBR AtT5 Definities conflict set: een set componenten die niet samen normaal kunnen functioneren gegeven ( OBS, SD,COMP) SD OBS { ab(c i ), …, ab(c k )} is inconsistent merk op: superset van een conflict set is een conflict set => minimal conflict sets
MBR AtT6 Voorbeeld mult-1 mult-2 mult-3 add-2 add conflict set: {mult-1,mult2,add-1}, {mult-3,mult-2,add-2} geen conflict set: {mult-1}, {add-1}
MBR AtT7 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
MBR AtT8 Voorbeeld mult-1 mult-2 mult-3 add-2 add een minimale is {mult-1,mult-3} COMP \ is {mult-2,add-1,add-2} is geen conflict {mult-2, add-1, add-2} kunnen samen normaal werken
MBR AtT9 Hittingsets Def: hittingset van {S 1,…,S n } bevat van iedere set S i minstens 1 element. H: hittingset van C C: set van sets: {S 1,…,S n } S: {c i,…c k } H S zodat H S minimale hittingset S C
MBR AtT10 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}
MBR AtT11 Diagnose-definitie is een diagnose iff is een minimale hittingset voor de conflicts van (SD,OBS,COMP) is een diagnose iff is een minimale hittingset voor de minimale conflicts van (SD,OBS,COMP)
MBR AtT12 Voorbeeld OR1 XOR1 XOR2 AND2 AND (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
MBR AtT13 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}}? OR1 XOR1 XOR2 AND2 AND
MBR AtT14 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
MBR AtT15 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
MBR AtT16 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 ) = {}
MBR AtT17 HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR AtT18 Resultaat als n een knoop is met label √ dan H(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.
MBR AtT19 {2,4,5} {1,3,5}{2,3,5}{2,4,6} v{1,6} {1,3,5}{1,6}{1,2,3}{1,6} {1,2,3} vvvvv{1,6} vvv vvv{1,2,3}{2,4} v v v vvvvvvvvvvvvv v HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}} hittingset geen minimale hittingset minimale hittingset
MBR AtT20 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 ) = {}.
MBR AtT21 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
MBR AtT22 Verminderen van F-aanroepen Minder aanroepen door: 1.herbruiken van knoop-labels 2.geen redundante F-aanroepen 3.eigenschap van hittingset
MBR AtT23 Verminderen van F aanroepen 1. Herbruiken van knoop-labels idee: gebruik dezelfde S indien dat mogelijk is (scheelt opzoeken van een nieuwe S) SS
MBR AtT24 1. herbruiken van knoop-labels {1,3,5} X HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR AtT25 Verminderen van F-aanroepen 2. Redundantie Als er een knoop n i met een label is en n j heeft nog geen label en H(n i ) = H(n j ) n j is redundant, dus “sluiten”
MBR AtT26 2. redundantie van knopen H(n)={4,5} v H(n)={2,5} v HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR AtT27 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”
MBR AtT28 label(n)= en H(n) H(n’) H(n)={2,3,1} H(n)={2,1} X geen F-aanroep voor bepalen van “v”! HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR AtT29 Verminderen F-aanroepen 3b. 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!
MBR AtT30 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}}
MBR AtT31 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’ dan voor alle S’ \ S is een redundante subboom. (-cutting-)
MBR AtT32 Algoritme {2,4,5} {1,3,5}{2,3,5}{2,4,6} v{1,6} {2,3,5}{1,6} x x {1,2,3} xvxvx v v x v v{2,4} xx Cutting {1,3,5} x 3 x NB: aantal F-aanroepen van 47 naar 13! minimale hittingsets HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR AtT33 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
MBR AtT34 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
MBR AtT35 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
MBR AtT36 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 = {}
MBR AtT37 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.
MBR AtT38 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 }
MBR AtT39 Voorbeeld OR O1 XOR X1 XOR X2 AND A2 AND A {X1,X2} {X1,A2,O1} v xvv X1 X2 X1 A2 O1 diagnose NB: 5 aanroepen naar TP boom afhankelijk van TP-functie TP(SD,{X1,X2,A1,A2,O1},OBS) TP(SD,{X1,A1,A2,O1},OBS) TP(SD,{X1,A1,O1},OBS) TP(SD,{X2,A1,A2,O1},OBS) pruning regel TP(SD,{X1,A1,A2},OBS)
MBR AtT40 Diagnoses wanneer HS-tree breath-first gegenereerd wordt diagnoses worden in volgorde van groeiende cardinaliteit gegenereerd single fault diagnoses
MBR AtT41 Eigenschappen Single fault diagnose {c} is een single fault diagnose van (SD,OBS,COMP) iff c 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
MBR AtT42 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)
MBR AtT43 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!
MBR AtT44 Voorbeeld (diagnose-discriminatie) M1 M2 M3 A2 A mogelijke diagnoses: {M1}: voorspelling out(M2)=6 out(M1)=4 {M2,M3}: voorspelling out(M2)=4 out(M1)=6 2 2 output van M1 of M2 zijn goede testen
MBR AtT45 Extra meetingen Alle diagnoses van ( SD,COMP,OBS) die voorspellen zijn diagnoses 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!!
MBR AtT46 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)
MBR AtT47 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