420 likes | 550 Views
College 11 + 13. (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.
E N D
College 11 + 13 (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
werkelijk systeem geobserveerd gedrag observeren discrepantie model normaal gedrag voorspeld gedrag voorspelling General diagnostic engine • GDE is een algemeen diagnostisch systeem • diagnose op basis van structuurmodel en correct gedragsmodellen van componenten DNSB-model
Belangrijke aspecten van GDE • “Multiple fault” diagnosesmethode: Assumption-based Truth Maintenance System (ATMS) • bepalen van de volgende meting voor discrimineren van mogelijke diagnosesmethode: minimum entropy(nodig: a priori kans van falen van een component)
Taken in GDE • symptoom-detectie • conflict-herkenningdoel: bepalen van de complete set van minimale conflicts • candidaat-generatiedoel: bepalen van de complete set van minimale candidaten
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
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!
A=3 M1 A1 M2 A2 M3 X F Voorbeeld C=2 Y B=2 G D=3 Z E=3 • geen observaties, min. candidaat {} • F = 10, geen 12 --> conflict {A1,M1,M2} • uitbreiden min. candidaten met 1 element uit conflict setmin. candidaten: {A1},{M1},{M2} • G = 12 --> nieuw conflict {A1,A2,M1,M3}candidaten {A1}, {M1} blijvencandidaat {M2} uitbreiden naar: {M2,A1},{M2,A2},{M2,M1},{M2,M3}subset-minimale: {A1},{M1},{M2,A2},{M2,M3}
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 setVerfijning 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.
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.
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.
Conflict-herkenning-strategie verfijning berekeningsstrategie: voorkomredundante (identieke) inferenties • vaak overlappende Env’s • voorkomen dat dezelfde regel vaker dan 1x uitgevoerd wordt
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)
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}]
Sequentiele diagnose • methode voor het selecteren van de volgende meting om de “beste” candidaat te onderscheiden. • mogelijke metingen baseren oprecords[xi=vik, eik1, eik2, ...] • Als xi gemeten (dus [xi=v,{}]) dan zijn de supporting omgevingen xi<>v conflict sets.
Voorbeeld [X=4,{A1,M2},{A1,M2,M3}] [ =6,{M1}] • metingX=4: {M1} is een conflict {M1} is een (deel-)candidaatX=6: {A1,M2}, {A1,A2,M3} zijn conflicten {A1},{M2,M3},{M2,A2} zijn (deel-)candidatenx<>4 en x<>6: {M1},{A1,M2}, {A1,A2,M3} zijn conflicten {M1,A1},{M1,M2,M3},{M1,M2,A2} zijn (deel-)candidaten
Extra meting Candidaten die blijven (Rik) bij meting xi=vik = • candidaten die de waarde xi=vik moeten hebben (Sik) • candidaten die niets voorspellen over xi(Uik)
Extra meting • GDE gebruikt kostenfunctie uit beslissing/informatie-theorie:Shannon Entropy H: H = - pi log pipi= kans op candidaat ci gegeven de observaties. onwaarschijnlijke candidaten: pi nadert 0 waarschijnlijke candidaten: pi nadert 1
“beste” meting Beste meting: degene die de verwachte entropy van de nieuwe set van candidaten minimaliseert: k=1..k=mp(xi=vik) log p(xi=vik) + p(Ui) log m Waarbij • m: aantal mogelijke waarden • p(xi=vki) = p(Sik) + p(Ui)/m • p(Ui)= cj Ui pj • p(Sik)= cj Sik pj
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....
batterij lamp1 lamp2 lamp3 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} kapotte batterij is onmogelijkbij branden van lamp3!!
SHERLOCK (opvolger GDE) • Modelleer ook mogelijke fouten • Voorbeeld: • batterij: leeg stroom • lamp: stroom licht • Aantal mogelijke diagnoses groeit van 2n tot kn • k: aantal modes van een component • n: aantal componenten
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
Raamwerk voor diagnostische methoden Artikel: A spectrum of logical definitions of model-based diagnosis L. Console, P. Torasso
Raamwerk Waarom een raamwerk? • beschrijven van diagnose-methoden • vergelijken van diagnose-methoden • voor analyse van verschillende diagnose-methoden Raamwerk voor logische definities van diagnose.
Onderwerpen • het raamwerk • instanties van het raamwerk= specifieke diagnose-definitie • richtlijnen voor gebruik van diagnose-definities
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)
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.
Abductie-probleem met `consistency constraints’ • AP<<BM,COMP>,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)
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
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
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} + = {}
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 parameterindeling + en - gebaseerd op: • geobserveerd • niet geobserveerd • onbekend
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)}
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!
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)!
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(...) -> ....
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.
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}
Richtlijn • bij een compleet model gebruik + • bij een incompleet model gebruik - Belangrijkste is dat er een keus gemaakt moet worden voor + en -.
Representatie diagnose-methode • verschillende instanties van het raamwerk geven mogelijk dezelfde oplossingen • Voorbeeld:als in iedere context een voorspelling voor alle observeerbare parameters isdan abductie-methode = CBD-methode
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
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