College 8 Model-based reasoning: Troubleshooting R. Davis, W. Hamscher College 8 - 11: Derivation from Normal Structure and Behaviour diagnosis DNSB diagnosemodel MBR-8 2002 AtT 1 DNSB diagnosemodel • Conceptueel • Formeel werkelijk systeem observeren geobserveerd gedrag discrepantie model normaal gedrag MBR-8 2002 AtT voorspelling voorspeld gedrag 2 Vele type modellen } • structuur van het systeem • `correct gedrag’-model van een focus component • causale modellen • foutmodellen • “out of range input”-modellen van een component Alle model-gebaseerd redeneren MBR-8 2002 AtT 3 Diagnosetaak Gegeven: • observaties van het systeem • structuurmodel van het systeem – de componenten – de connecties tussen de componenten • gedragsmodel van iedere component Taak: Het bepalen van de foute componenten die MBR-8 AtT 4 alle2002 discrepanties verklaren. Structuur- & gedragsmodel • hiërarchisch structuurmodel • componenten moeten `mappen’ op het systeem (data & organisatie) • gedrag kan weergegeven worden als relaties tussen de input en de outputs MBR-8 2002 AtT 5 Diagnose Drie fundamentele taken: (1) hypothesegeneratie (2) testen hypotheses (3) hypothesediscriminatie MBR-8 2002 AtT 6 terminologie • discrepantie: verschil tussen voorspeld en geobserveerd gedrag • “suspect”: verdachte, mogelijk kapotte component • “candidate”: een suspect die de hypothese testing-fase overleeft heeft NB: • single fault: candidate bestaat uit 1 component • multiple fault: candidate bestaat uit 1 of meer componenten MBR-8 2002 AtT 7 Hypothesegeneratie Taak: Gegeven een discrepantie bepaal welke component niet correct werkt (aanname: single fault). Wenselijk: Generator: (1) is compleet (2) produceert geen redundante hypotheses (3) produceert niet “teveel” foute hypotheses MBR-8 2002 AtT 8 Hypothesegenerators: eenvoudig (1) uitputtelijk opsommen van de componenten van het systeem 3 2 3 mult-1 add-1 mult-2 2 3 MBR-8 2002 AtT add-2 10 12 mult-3 9 Hypothesegenerators: minder eenvoudig (2) componenten moeten verbonden zijn met de discrepantie 3 2 3 mult-1 add-1 mult-2 2 3 MBR-8 2002 AtT add-2 10 12 mult-3 10 Hypothesegenerators: niet eenvoudig (3) componenten “upstream” het conflict 3 2 3 mult-1 add-1 mult-2 2 3 MBR-8 2002 AtT add-2 10 12 mult-3 11 Hypothesegenerators: moeilijker (4) geen irrelevante componenten “upstream” het conflict 1 OR 0 0 MBR-8 2002 AtT 12 Hypothesegenerators: complex (5) Meerdere discrepanties gebruiken. Doorsnede nemen 3 2 3 F mult-1 MBR-8 2002 AtT 10 add-2 10 mult-2 2 3 add-1 mult-3 G 13 Testen hypothese Taak: Testen van iedere “suspect” of het voor alle observaties geldt. Wenselijk: niet onterecht verwerpen (mist diagnoses) MBR-8 2002 AtT 14 Hypothesetest: eenvoudig • gebruik `foutmodellen’ (voorkennis over het disfunctioneren van componenten) – inconsistent met fout gedrag dan hypothese verwerpen – als foutmodel compleet dan extra inferentie: als geen fout gedrag van een component consistent is dan component correct – als foutmodel incompleet: twee categorieën: • component gedrag match met foutgedrag component gedrag is onbekend foutgedrag MBR-8 2002• AtT 15 Hypothesetest: complex • constraint suspension Gegeven inputs en outputs, Welke constraint moet je intrekken zodat er geen inconsistentie is? • Testen via “bevestigingen” Betrokken bij bevestiging dan suspect “onschuldig” Probleem: fault-masking! MBR-8 2002 AtT 16 Voorbeeld 3 2 3 mult-1 mult-2 2 3 10 add-1 max-1 6 mult-3 mult-2, mult-3, max-1 zijn ”onschuldig” Suspects: mult-1, add-1 MBR-8 2002 AtT 17 Fault masking (1) • ondanks incorrecte input, toch verwachte output.. 3 2 3 mult-1 mult-2 2 3 10 add-1 max-1 6 mult-3 (1) ongevoelig voor een input. MBR-8 2002 AtT 18 fault masking: (2) meedere faults input kapotte component verwachte output kapotte component incorrecte output (niet gemeten) voorbeeld 1 or MBR-8 2002 AtT inverter 0 19 fault masking: (3) reconvergent fanout x2 3 [2] 10 [10] add-1 16 -5x MBR-8 2002 AtT 9 [4] 1 [6] 20 Hypothesediscriminatie eenvoudig complex Meer info verzamelen • extra observaties (meetpunten) – – – – gebruik structuurmodel gebruik gedragsmodel gebruik foutkans van componenten selecteer beste sequence van meetingen • veranderen van inputs (“testing”) Doel: meer info verzamelen tegen de laagste “kosten” MBR-8 2002 AtT 21 Voorbeeld: gebruik van structuur-model A=2 Z=5 max-1 F=5 [F=3] B=1 add-1 Y=4 C=8 min-1 X=4 D=2 mult-1 E=2 MBR-8 2002 AtT 22 Voorbeeld: gebruik van structuur-model A=2 max-1 B=1 add-1 Y C=8 min-1 X D=2 mult-1 E=2 MBR-8 2002 AtT Z F=5 [F=3] max-1: 5 add-1 : 3 min-1: 3 mult-1: 3 max-1:4 add-1 : 4 min-1: 2 mult-1:2 max-1:4 add-1 : 4 min-1: 4 mult-1:2 23 Samenvatting gebruik van correct-modellen (DNSB) • • • • • • foutgedrag zien als alles wat niet correct is herbruikbaarheid van componentmodellen redeneren vanuit “first principles” symptoomgestuurd hyp. generatie, hyp. test, hyp. discriminatie hyp. generatie: bepaal welke component een discrepantie kan veroorzaken • hyp. test: welke candidaat kan gelden voor alle observaties • hyp.discriminatie: vinden van extra info • MBR-8 =>2002 heel algemeen raamwerk AtT 24 Opmerkingen • modelleren is moeilijk! (wrong models) • structure models and complexity • scaling probleem! (=> abstractions) MBR-8 2002 AtT 25 Formalisatie van DNSB-diagnose • Een systeem: <SD,COMP> – SD: eerste-orde zinnen – COMP: eindige set van constantes 1 0 XOR1 1 1 XOR2 AND2 AND1 OR1 0 COMP={XOR1,XOR2,AND1,AND2,OR1} MBR-8 2002 AtT 26 Systeembeschrijving (SD) • speciaal predicaat ab(c): component “c” is abnormaal • SD bestaat uit: – typecomponent-regels – normaalgedrag-model van ieder type component – structuur-model – domein afhankelijk: circuit inputs zijn binair MBR-8 2002 AtT 27 type component • 3 type componenten: andg, xorg, org 1 0 XOR1 1 XOR2 AND2 AND1 1 OR1 0 andg(AND1) andg(AND2) xorg(XOR1) xorg(XOR2) org(XOR1) MBR-8 2002 AtT 28 normaalgedrag-model van elk type component • 3 componenttypes: 1 0 XOR1 1 XOR2 AND2 AND1 1 OR1 0 andg(x) ab(x) out(x)=and(in1(x),in2(x)) xorg(x) ab(x) out(x)=xor(in1(x),in2(x)) org(x) ab(x) out(x)=or(in1(x),in2(x)) MBR-8 2002 AtT 29 structuurmodel 1 0 XOR1 1 XOR2 AND2 AND1 1 OR1 0 • verbindingen tussen de componenten out(XOR1) = in2(AND2) out(XOR1) = in1(XOR2) out(AND2) = in1(OR1) in1(AND2) = in2(XOR2) in1(XOR1) = in1(AND1) in2(XOR1) = in2(AND1) out( AND1 MBR-8 2002 AtT ) = in2(OR1) 30 domeinafhankelijk: circuit inputs zijn binair 1 0 XOR1 1 XOR2 AND2 AND1 1 OR1 0 in1(XOR1)=0 in1(XOR1)=1 in2(XOR1)=0 in2(XOR1)=1 in1(AND1)=0 in1(AND1)=1 MBR-8 2002 AtT 31 specifiek probleem: Observaties 1 0 XOR1 1 XOR2 AND2 AND1 1 OR1 0 in1(XOR1)=1 in2(XOR1)=0 in1(AND1)=1 out(XOR2)=1 out(OR1)=0 MBR-8 2002 AtT 32 Definitie diagnose Een diagnose voor (SD,OBS,COMP) is een minimale set van foute componenten zodat: SD OBS {ab(c)c } {ab(c)c COMP \ } is consistent MBR-8 2002 AtT 33 Voorbeeld 1 0 XOR1 1 XOR2 1 AND2 AND1 OR1 0 Diagnoses: {XOR1}, {XOR2,OR1}, {XOR2,AND2} MBR-8 2002 AtT 34 Enkele eigenschappen • Een diagnose bestaat voor (SD,OBS,COMP) iff SD OBS is consistent • {} is een diagnose (enige!) voor (SD,OBS,COMP) iff SD OBS {ab(c)c COMP} is consistent • Als een diagnose is dan voor iedere ci : SD OBS {ab(c)c COMP \ } |-- ab(ci) MBR-8 2002 AtT 35 Dit college (8): • conceptueel model • formeel model college 8: verdieping in formele model college 9: algorithme college 10: General Diagnostic Engine college 11: terug naar MAB-diagnose MBR-8 2002 AtT 36