MBR AtT 1 College (1) General Diagnostic Engine (GDE) Artikel : Diagnosing multiple faults J. de Kleer, B. Williams (2) Raamwerk voor diagnostische methoden Artikel: A spectrum of logical definitions of model-based diagnosis L. Console, P. Torasso
MBR AtT 2 General diagnostic engine GDE is een algemeen diagnostisch systeem diagnose op basis van structuurmodel en correct gedragsmodellen van componenten DNSB-model werkelijk systeem model normaal gedrag geobserveerd gedrag voorspeld gedrag discrepantie observeren voorspelling
MBR AtT 3 Belangrijke aspecten van GDE “Multiple fault” diagnoses methode: Assumption-based Truth Maintenance System (ATMS) bepalen van de volgende meting voor discrimineren van mogelijke diagnoses methode: minimum entropy (nodig: a priori kans van falen van een component)
MBR AtT 4 Taken in GDE symptoom-detectie conflict-herkenning doel: bepalen van de complete set van minimale conflicts candidaat-generatie doel: bepalen van de complete set van minimale candidaten
MBR AtT 5 Candidaat-generatie diagnose-proces is incrementeel set van conflicten neemt monotoon toe set van candidaten neemt monotoon af (vergelijk hittingset-algoritme en implica(n)ten- aanpak) Idee: incrementele generatie van candidaten: oude minimale candidaten + nieuwe minimale conflicten ==> nieuwe minimale candidaten
MBR AtT 6 Candidaat-generatie nieuw conflict: als oude minimale candidaat het nieuwe conflict verklaart dan blijft het een minimale candidaat als oude minimale candidaat het nieuwe conflict niet verklaart dan wordt de oude candidaat vervangen door 1 of meer supersets (nieuwe min. kandidaten). (=uitbreiden met 1 element uit de nieuwe conflict set) NB: exploiteer de minimale-diagnose-hypothese!
MBR AtT 7 Voorbeeld geen observaties, min. candidaat {} F = 10, geen 12 --> conflict {A1,M1,M2} uitbreiden min. candidaten met 1 element uit conflict set min. candidaten: {A1},{M1},{M2} G = 12 --> nieuw conflict {A1,A2,M1,M3} candidaten {A1}, {M1} blijven candidaat {M2} uitbreiden naar: {M2,A1},{M2,A2},{M2,M1},{M2,M3} subset-minimale: {A1},{M1},{M2,A2},{M2,M3} M1 M2 M3 A2 A1 A=3 C=2 B=2 E=3 D=3 F G X Y Z
MBR AtT 8 Conflict-herkenning-strategie C(Obs,Env) test of de aannames (Env) inconsistent is met de observaties (Obs): –ja: Env is een conflict set –nee: Env is geen conflict set Verfijning strategie: exploiteren van subset-minimaliteit -start bij {}, breidt uit naar Env, stop bij eerste conflict, want dan is Env een conflict -kijk naar eerdere conflicts (als Env superset is dan is Env ook een conflict) methode: P(Obs,Env) Zodra X en ~X voorspeld worden, dan is er een conflict.
MBR AtT 9 Conflict-herkenning-strategie verfijning meet-strategie: monotoniciteit van metingen P(OBS U M, ENV) P(OBS,ENV) Caching waarden van P(OBS,ENV), zodat alleen de inferenties van M nog gedaan moeten worden.
MBR AtT 10 Conflict-herkenning-strategie verfijning berekeningsstrategie: monotoniciteit van aannames P(OBS, ENV U E) P(OBS,ENV) Caching waarden van P(OBS,ENV), zodat alleen de inferenties van E nog gedaan moeten worden.
MBR AtT 11 Conflict-herkenning-strategie verfijning berekeningsstrategie: voorkom redundante (identieke) inferenties vaak overlappende Env’s voorkomen dat dezelfde regel vaker dan 1x uitgevoerd wordt
MBR AtT 12 Supporting omgeving Nodig: supporting omgeving van de voorspelling ENVS(V) == {env | V P(OBS,env)} Als een supporting omgeving verandert, dan veranderen ook zijn consequenties. X=6 (M1: A=3, C=2)
MBR AtT 13 In database [F=12, {A1,M1,M2}] [A=3, {}] [B=2, {}].. [X=4, {A1,M2},{A1,A2,M3}] [ =6, {M1}] [Y=4, {A1,M1}] [ =6, {M2},{A2.M3}]
MBR AtT 14 Sequentiele diagnose methode voor het selecteren van de volgende meting om de “beste” candidaat te onderscheiden. mogelijke metingen baseren op records [x i =v ik, e ik1, e ik2,...] Als x i gemeten (dus [x i =v,{}]) dan zijn de supporting omgevingen x i <>v conflict sets.
MBR AtT 15 Voorbeeld [X=4,{A1,M2},{A1,M2,M3}] [ =6,{M1}] meting X=4: {M1} is een conflict {M1} is een (deel-)candidaat X=6: {A1,M2}, {A1,A2,M3} zijn conflicten {A1},{M2,M3},{M2,A2} zijn (deel-)candidaten x<>4 en x<>6: {M1},{A1,M2}, {A1,A2,M3} zijn conflicten {M1,A1},{M1,M2,M3},{M1,M2,A2} zijn (deel-)candidaten
MBR AtT 16 Extra meting Candidaten die blijven (R ik ) bij meting x i =v ik = candidaten die de waarde x i =v ik moeten hebben (S ik ) candidaten die niets voorspellen over x i (U ik )
MBR AtT 17 Extra meting GDE gebruikt kostenfunctie uit beslissing/informatie-theorie: Shannon Entropy H: H = - p i log p i p i = kans op candidaat c i gegeven de observaties. onwaarschijnlijke candidaten: p i nadert 0 waarschijnlijke candidaten: p i nadert 1
MBR AtT 18 “beste” meting Beste meting: degene die de verwachte entropy van de nieuwe set van candidaten minimaliseert: k=1..k=m p(x i =v ik ) log p(x i =v ik ) + p(U i ) log m Waarbij m: aantal mogelijke waarden p(x i =v ki ) = p(S ik ) + p(U i )/m p(U i )= cj Ui pj p(S ik )= cj Sik pj
MBR AtT 19 sequentie van metingen vooruit kijken wat een goede reeks van metingen is. Kijk een meting vooruit en bepaal de beste op grond van minimalisatie verwachte entropy van de nieuwe set van candidaten
MBR AtT 20 GDE Motivatie van GDE: onmogelijk alle fouten te modelleren GDE: gebruik correct-modellen fout = niet correct werkende component Alleen correct-modellen gebruiken is ook niet ideaal....
MBR AtT 21 Probleem! observaties: lamp1 en lamp2 zijn uit, lamp3 is aan voorspelling: lamp1, lamp2, lamp3 zijn aan minimale conflict sets: {B,L1}, {B,L2} minimale candidates: {B}, {L1,L2} batterijlamp1lamp2lamp3 kapotte batterij is onmogelijk bij branden van lamp3!!
MBR AtT 22 SHERLOCK (opvolger GDE) Modelleer ook mogelijke fouten Voorbeeld: –batterij: leeg stroom –lamp: stroom licht Aantal mogelijke diagnoses groeit van 2 n tot k n – k: aantal modes van een component – n: aantal componenten
MBR AtT 23 samenvatting GDE algemeen diagnose-systeem op basis van correct-modellen Motivatie van GDE: –geen foutmodellen gebruiken, maar correctmodellen (fout = niet correct werkende component) –multiple faults –minimaliseren van metingen (Shannon Entropy) –efficient diagnose-systeem SHERLOCK uitbreiding van GDE met foutmodellen
MBR AtT 24 Raamwerk voor diagnostische methoden Artikel: A spectrum of logical definitions of model-based diagnosis L. Console, P. Torasso
MBR AtT 25 Raamwerk Waarom een raamwerk? beschrijven van diagnose-methoden vergelijken van diagnose-methoden voor analyse van verschillende diagnose- methoden Raamwerk voor logische definities van diagnose.
MBR AtT 26 Diagnose Hoofdstromingen in model-gebaseerde diagnose: methode: –consistentie-gebaseerde diagnose –abductie-gebaseerde diagnose model: –correctgedragsmodel –foutgedragsmodel
MBR AtT 27 Combinatie Uitbreidingen van consistentie- gebaseerde methoden met foutmodellen Uitbreidingen van abductieve methoden met correctmodellen.
MBR AtT 28 Onderwerpen het raamwerk instanties van het raamwerk = specifieke diagnose-definitie richtlijnen voor gebruik van diagnose- definities
MBR AtT 29 Diagnose-probleem contextuele data (CXT) voorbeelden: geslacht, leeftijd –contextdata helpt bij bepalen van de diagnose –contextdata hoeft zelf niet verklaard te worden observaties (OBS) voorbeelden: een bloedtest –voor de observaties zoek je een verklaring gedragsmodel (BM) –onderscheid tussen abducibles en non-abducibles componenten (COMP) –componenten van het systeem systeemmodel (SD) = (BM,COMP)
MBR AtT 30 Oplossing voor een diagnostisch probleem verklaring als “consistentie” = zwakke notie van verklaren = diagnose spreekt de observaties niet tegen verklaring als “covering” = sterke notie van verklaren = diagnose geeft directe support voor de observaties Beide noties te beschrijven in het raamwerk.
MBR AtT 31 Abductie-probleem met `consistency constraints’ AP,CXT, > + OBS - = { f(x) | f(y) OBS, voor iedere mogelijke waarde voor x van f anders dan y } Merk op: OBS |- - Diagnose: “cover” de + (was steeds: foutgedrag) “is consistent” met de - (was steeds: correct gedrag)
MBR AtT 32 Diagnose bij deze definitie W is een `toekenning’ van COMP BM U CXT U W |= + (sterke eis) BM U CXT U W U - is consistent (zwakkere eis) (BM U CXT U W |=/= m, m -) minimaliteit: subset-minimaal in de foute componenten uit de alternatieve W’s diagnose bestaat uit de foute componenten in W
MBR AtT 33 Idee raamwerk Eisen: BM U CXT U W |= + BM U CXT U W U - is consistent parameters + en - Verschillende definities van deze parameters representeren verschillende diagnose-methoden
MBR AtT 34 Instanties van het raamwerk Twee eisen van het raamwerk: BM U CXT U W |= + BM U CXT U W U - is consistent Abductief (plus constraints): + = OBS - = { f(x) | f(y) OBS, voor iedere mogelijke waarde voor x van f anders dan y } Puur consistentie-gebaseerd: - = { f(x) | f(y) OBS, voor iedere mogelijke waarde voor x van f anders dan y } + = {}
MBR AtT 35 Instanties van het raamwerk Twee eisen: BM U CXT U W |= + BM U CXT U W U - is consistent abnormaal versus normaal gedrag: + = OBS die abnormaal gedrag weergeven (foutgedrag) + = OBS die normaal gedrag weergeven (correct gedrag) mogelijke uitbreiding: neem - ook als parameter indeling + en - gebaseerd op: –geobserveerd –niet geobserveerd –onbekend
MBR AtT 36 Voorbeeld holed(oil_cup) -> oil_below_car(present) holed(oil_cup) -> oil_level(low) correct(oil_cup) -> oil_level(normal) oil_level(low) & engine(on) -> engine_temp(high) oil_level(normal) & engine(on) -> engine_temp(normal) Probleem: COMP: {oil_cup} OBS: {oil_below_car(present)} CXT: {engine(on)} Abductieve definitie, met + is foutgedrag: + = {oil_below_car(present)} - = {}, want geen andere oil_below_car(..) aanwezig Oplossing: {holed(oil_cup)}
MBR AtT 37 Voorbeeld holed(oil_cup) -> oil_below_car(present) holed(oil_cup) -> oil_level(low) correct(oil_cup) -> oil_level(normal) oil_level(low) & engine(on) -> engine_temp(high) oil_level(normal) & engine(on) -> engine_temp(normal) Probleem: COMP: {oil_cup} OBS: {oil_below_car(present)} CXT: {engine(on)} Consistentie-gebaseerde definitie, met - correct gedrag: + = {} (dus we hoeven het foutgedrag niet te verklaren!) - = {}, want geen andere oil_below_car(..) aanwezig Oplossingen: {holed(oil_cup)}, {correct(oil_cup)} dus {correct(oil_cup)} is hier ook een minimale oplossing!
MBR AtT 38 Voorbeeld holed(oil_cup) -> oil_below_car(present) holed(oil_cup) -> oil_level(low) correct(oil_cup) -> oil_level(normal) oil_level(low) & engine(on) -> engine_temp(high) oil_level(normal) & engine(on) -> engine_temp(normal) Bij de aanname: `model voor oorzaken van “oil_below_car(present)” is compleet’ lijkt de verklaring “holed(oil_cup)” aannemelijker. Ontbreekt er een causale relatie? : correct(oil_cup) -> oil_below_car(absent) CBD-definitie zou dan ook “juiste” oplossing geven. – + = {}, - = { oil_below_car(absent)} –{holed(oil_cup)} blijft oplossing –{correct(oil_cup)} is geen oplossing meer (inconsistent)!
MBR AtT 39 Incomplete modellen Vaak niet alle oorzaken aanwezig in het model: mogelijk “onbekende” oorzaak i.d.g.: abductie-definitie te strikt consistentie-gebaseerde definitie wel gerechtvaardigd NB: model niet compleet dan dus niet juist om toe te voegen correct(...) ->....
MBR AtT 40 Representeren van incompleetheid incompleetheid expliciet in model –oorzaak –mogelijke causale relatie conditie is “onbekend” conditie is niet gespecificeerd expliciet modelleren van incompleetheid is interessant als het model voor het merendeel compleet is.
MBR AtT 41 Voorbeeld holed(oil_cup) -> oil_below_car(present) holed(oil_cup) -> oil_level(low) correct(oil_cup) -> oil_level(normal) oil_level(low) & engine(on) -> engine_temp(high) oil_level(normal) & engine(on) -> engine_temp(normal) Modelleren incomplete oorzaak: unknown__cause -> oil_below_car(present) Abductive definition: –{holed(oil_cup)} blijft oplossing –{correct(oil_cup), unknown_cause} is een oplossing Oplossing is assignment van de componenten plus incompleetheidsaannames (bijv. unknown_cause)
MBR AtT 42 Keuzes voor de parameters compleet foutmodel + sommige delen correctmodel – + = alleen abnormale observaties uit OBS – - = { f(x) | f(y) OBS, voor iedere mogelijke waarde voor x van f anders dan y } compleet correctmodel + sommige delen foutmodel – + = alleen normale observaties uit OBS – - = { f(x) | f(y) OBS, voor iedere mogelijke waarde voor x van f anders dan y }
MBR AtT 43 Richtlijn bij een compleet model gebruik + bij een incompleet model gebruik - Belangrijkste is dat er een keus gemaakt moet worden voor + en -.
MBR AtT 44 Representatie diagnose-methode verschillende instanties van het raamwerk geven mogelijk dezelfde oplossingen Voorbeeld: als in iedere context een voorspelling voor alle observeerbare parameters is dan abductie-methode = CBD-methode
MBR AtT 45 Zoekruimte Diagnose gebaseerd op correctmodellen geeft een grote zoekruimte voor mogelijke oplossingen Noodzakelijk om deze zoekruimte in te perken –abductie is een manier om dit te doen
MBR AtT 46 Samenvatting raamwerk gebaseerd op parameters: –observaties die “gecovered” moeten worden raamwerk geeft een heel spectrum van diagnose-definities extreme van het raamwerk zijn: –puur abductieve diagnose –puur consistentie-gebaseerde diagnose