360 likes | 523 Views
College 8. Model-based reasoning: Troubleshooting R. Davis, W. Hamscher College 8 - 11 : D erivation from N ormal S tructure and B ehaviour diagnosis DNSB diagnosemodel. werkelijk systeem. geobserveerd gedrag. observeren. discrepantie. model normaal gedrag. voorspeld gedrag.
E N D
College 8 Model-based reasoning: Troubleshooting R. Davis, W. Hamscher College 8 - 11: Derivation from Normal Structure and Behaviour diagnosis DNSB diagnosemodel
werkelijk systeem geobserveerd gedrag observeren discrepantie model normaal gedrag voorspeld gedrag voorspelling DNSB diagnosemodel • Conceptueel • Formeel
Vele type modellen }focus • structuur van het systeem • `correct gedrag’-model van een component • causale modellen • foutmodellen • “out of range input”-modellen van een component Alle model-gebaseerd redeneren
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 alle 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
Diagnose Drie fundamentele taken: (1) hypothesegeneratie (2) testen hypotheses (3) hypothesediscriminatie
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
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
3 mult-1 10 2 add-1 3 mult-2 12 2 add-2 mult-3 3 Hypothesegenerators: eenvoudig (1) uitputtelijk opsommen van de componenten van het systeem
3 mult-1 10 2 add-1 3 mult-2 12 2 add-2 mult-3 3 Hypothesegenerators: minder eenvoudig (2) componenten moeten verbonden zijn met de discrepantie
3 mult-1 10 2 add-1 3 mult-2 12 2 add-2 mult-3 3 Hypothesegenerators: niet eenvoudig (3) componenten “upstream” het conflict
Hypothesegenerators: moeilijker (4) geen irrelevante componenten “upstream” het conflict 1 0 OR 0
3 mult-1 10 2 add-1 3 mult-2 2 add-2 mult-3 3 Hypothesegenerators: complex (5) Meerdere discrepanties gebruiken. Doorsnede nemen F 10 G
Testen hypothese Taak: Testen van iedere “suspect” of het voor alle observaties geldt. Wenselijk: niet onterecht verwerpen (mist diagnoses)
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
Hypothesetest:complex • constraint suspensionGegeven 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!
3 mult-1 10 2 add-1 3 mult-2 2 max-1 mult-3 3 Voorbeeld 6 mult-2, mult-3, max-1 zijn ”onschuldig” Suspects: mult-1, add-1
3 mult-1 10 2 add-1 3 mult-2 2 max-1 mult-3 3 Fault masking (1) • ondanks incorrecte input, toch verwachteoutput.. (1) ongevoelig voor een input. 6
input verwachte output kapotte component kapotte component 1 incorrecte output(niet gemeten) 0 or inverter fault masking: (2) meedere faults voorbeeld
fault masking: (3) reconvergent fanout x2 9 [4] 10 [10] add-1 3[2] 1 [6] 16 -5x
Hypothesediscriminatieeenvoudig 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”
Voorbeeld: gebruik van structuur-model A=2 F=5 [F=3] max-1 Z=5 B=1 add-1 Y=4 C=8 min-1 X=4 D=2 mult-1 E=2
Voorbeeld: gebruik van structuur-model A=2 F=5 [F=3] max-1 max-1: 5 add-1 : 3 min-1: 3 mult-1: 3 Z B=1 add-1 max-1:4 add-1 : 4 min-1: 2 mult-1:2 Y C=8 min-1 X max-1:4 add-1 : 4 min-1: 4 mult-1:2 D=2 mult-1 E=2
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 • => heel algemeen raamwerk
Opmerkingen • modelleren is moeilijk! (wrong models) • structure models and complexity • scaling probleem! (=> abstractions)
1 XOR1 XOR2 1 0 1 AND2 OR1 0 AND1 Formalisatie van DNSB-diagnose • Een systeem: <SD,COMP> • SD: eerste-orde zinnen • COMP: eindige set van constantes COMP={XOR1,XOR2,AND1,AND2,OR1}
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
XOR1 1 XOR2 1 0 1 AND2 OR1 0 AND1 type component • 3 type componenten:andg, xorg, org andg(AND1) andg(AND2) xorg(XOR1) xorg(XOR2) org(XOR1)
XOR1 1 XOR2 1 0 1 AND2 OR1 0 AND1 normaalgedrag-model van elk type component • 3 componenttypes: 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))
XOR1 1 XOR2 1 0 1 AND2 OR1 0 AND1 structuurmodel • 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) = in2(OR1)
XOR1 1 XOR2 1 0 1 AND2 OR1 0 AND1 domeinafhankelijk: circuit inputs zijn binair in1(XOR1)=0 in1(XOR1)=1 in2(XOR1)=0 in2(XOR1)=1 in1(AND1)=0 in1(AND1)=1
XOR1 1 XOR2 1 0 1 AND2 OR1 0 AND1 specifiek probleem: Observaties in1(XOR1)=1 in2(XOR1)=0 in1(AND1)=1 out(XOR2)=1 out(OR1)=0
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
1 XOR1 XOR2 1 0 1 AND2 OR1 0 AND1 Voorbeeld Diagnoses: {XOR1}, {XOR2,OR1}, {XOR2,AND2}
Enkele eigenschappen • Een diagnose bestaat voor (SD,OBS,COMP)iffSD 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)
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