nieuwe formalisatie Hittingsets algoritme Artikel: A Theory of Diagnosis from First Principles
description
Transcript of nieuwe formalisatie Hittingsets algoritme Artikel: A Theory of Diagnosis from First Principles
MBR-10 2002 AtT 1
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 PrinciplesR. Reiter
MBR-10 2002 AtT 2
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-10 2002 AtT 3
Herhaling DNSB
Diagnoseprobleem: discrepantie tussen(1) voorspelde gedrag van het systeem als alle componenten correct zijn verondersteld(2) geobserveerd gedrag
Probleemidentificeren van “niet-correcte” componenten die de discrepantie verklaren.
NB: - meerdere alternatieve diagnoses - multiple fault diagnoses
MBR-10 2002 AtT 4
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-10 2002 AtT 5
Definities
• conflict set: een set componenten die niet samen normaal kunnen functioneren gegeven (OBS,SD,COMP)
SD OBS {ab(ci), …,ab(ck)} is inconsistent
merk op: superset van een conflict set is een conflict set
• => minimal conflict sets
MBR-10 2002 AtT 6
Voorbeeld
mult-1
mult-2
mult-3add-2
add-1
2
43
2
3
12
12
conflict set: {mult-1,mult2,add-1}, {mult-3,mult-2,add-2}
geen conflict set: {mult-1}, {add-1}
MBR-10 2002 AtT 7
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-10 2002 AtT 8
Voorbeeld
mult-1
mult-2
mult-3add-2
add-1
2
43
2
3
12
12
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-10 2002 AtT 9
Hittingsets
• Def: hittingset van {S1,…,Sn} bevat
van iedere set Si minstens 1 element.
• H: hittingset van CC: set van sets: {S1,…,Sn}S: {ci,…ck}
H S zodat HS
• minimale hittingset
S C
MBR-10 2002 AtT 10
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-10 2002 AtT 11
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-10 2002 AtT 12
Voorbeeld
OR1
XOR1 XOR2
AND2AND1
10
1
1
0
• (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-10 2002 AtT 13
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
AND2AND1
10
1
1
0
MBR-10 2002 AtT 14
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-10 2002 AtT 15
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-10 2002 AtT 16
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-10 2002 AtT 17
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,6} {1,2,3}
v v v v v {1,6}{1,6}v v v {1,6} {1,6}v v v {1,2,3} {2,4} {2,4}v
v v v v v v v v v v v v v v v
v
2 4 5
13 5 532 2 4 6
1 6 1 6 13 5 1 6 1 2 3 1 6 1 6 1 2 3
1 6 1 6 1 6 1 612 3 2 4 42
HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR-10 2002 AtT 18
Resultaat
• als n een knoop is met label √ danH(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-10 2002 AtT 19
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,6} {1,2,3}
v v v v v {1,6}{1,6}v v v {1,6} {1,6}v v v {1,2,3} {2,4} {2,4}v
v v v v v v v v v v v v v v v
v
2 4 5
13 5 532 2 4 6
1 6 1 6 13 5 1 6 1 2 3 1 6 1 6 1 2 3
1 6 1 6 1 6 1 612 3 2 4 42
HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
hittingsetgeen minimale hittingset
minimalehittingset
MBR-10 2002 AtT 20
Algoritme voor HS-tree
Doel: zoeken naar een algoritme voor het genereren
van HS-treeEigenschappen:• zo klein mogelijke HS-tree• HS-tree met alle minimale hittingsets • minimaliseren van het aantal aanroepen naar F
voor het genereren van een subtreeAanroep naar F:= bepalen van een label van een knoop
= zoeken van een S zodanig dat S H(n ) = {}.
MBR-10 2002 AtT 21
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-10 2002 AtT 22
Verminderen van F-aanroepen
Minder aanroepen door:
1. herbruiken van knoop-labels
2. geen redundante F-aanroepen
3. eigenschap van hittingset
MBR-10 2002 AtT 23
Verminderen van F aanroepen
1. Herbruiken van knoop-labels
idee: gebruik dezelfde S indien dat mogelijk is (scheelt opzoeken van een nieuwe S)
S S
MBR-10 2002 AtT 24
1. herbruiken van knoop-labels
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,6} {1,2,3}
v v v v v {1,6}{1,6}v v v {1,6} {1,6}v v v {1,2,3} {2,4} {2,4}v
v v v v v v v v v v v v v v v
v
2 4 5
13 5 532 2 4 6
1 6 1 6 13 5 1 6 1 2 3 1 6 1 6 1 2 3
1 6 1 6 1 6 1 612 3 2 4 42
{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-10 2002 AtT 25
Verminderen van F-aanroepen
2. Redundantie
Als er een knoop ni met een label is en
nj heeft nog geen label en
H(ni) = H(nj)
nj is redundant, dus “sluiten”
MBR-10 2002 AtT 26
2. redundantie van knopen
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,6} {1,2,3}
v v v v v {1,6}{1,6}v v v {1,6} {1,6}v v v {1,2,3} {2,4} {2,4}v
v v v v v v v v v v v v v v v
v
2 4 5
13 5 532 2 4 6
1 6 1 6 13 5 1 6 1 2 3 1 6 1 6 1 2 3
1 6 1 6 1 6 1 612 3 2 4 42
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-10 2002 AtT 27
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-10 2002 AtT 28
label(n)= en H(n) H(n’)
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,6} {1,2,3}
v v v v v {1,6}{1,6}v v v {1,6} {1,6}v v v {1,2,3} {2,4} {2,4}v
v v v v v v v v v v v v v v v
v
2 4 5
13 5 532 2 4 6
1 6 1 6 13 5 1 6 1 2 3 1 6 1 6 1 2 3
1 6 1 6 1 6 1 612 3 2 4 42
H(n)={2,3,1}
H(n)={2,1}
X
geen F-aanroepvoor 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-10 2002 AtT 29
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-10 2002 AtT 30
Gebruik van hittingset-eigenschap
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {1,3,5} {1,6} {1,2,3} {1,6} {1,6} {1,2,3}
v v v v v {1,6}{1,6}v v v {1,6} {1,6}v v v {1,2,3} {2,4} {2,4}v
v v v v v v v v v v v v v v v
v
2 4 5
13 5 532 2 4 6
1 6 1 6 13 5 1 6 1 2 3 1 6 1 6 1 2 3
1 6 1 6 1 6 1 612 3 2 4 42
HS-tree voor F={{2,4,5},{1,2,3},{1,3,5},{2,4,6},{2,4},{2,3,5},{1,6}}
MBR-10 2002 AtT 31
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-10 2002 AtT 32
Algoritme
{2,4,5}
{1,3,5} {2,3,5} {2,4,6}
v {1,6} {1,6} {2,3,5} {1,6} {1,6} x x {1,2,3}
x v x v x v v x v {1,2,3}v {2,4}
x x
2 4 5
13 5 531 2 4 6
1 6 1 6 23 5 1 6 1 6 3 1
1 2
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-10 2002 AtT 33
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-10 2002 AtT 34
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-10 2002 AtT 35
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-10 2002 AtT 36
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-10 2002 AtT 37
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-10 2002 AtT 38
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-10 2002 AtT 39
Voorbeeld
ORO1
XORX1
XORX2
ANDA2AND
A1
10
1
1
0
{X1,X2}
{X1,A2,O1}v
x v v
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 regelTP(SD,{X1,A1,A2},OBS)
MBR-10 2002 AtT 40
Diagnoses
• wanneer HS-tree breath-first gegenereerd wordt diagnoses worden in volgorde van groeiende cardinaliteit gegenereerd
• single fault diagnoses
MBR-10 2002 AtT 41
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-10 2002 AtT 42
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-10 2002 AtT 43
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-10 2002 AtT 44
Voorbeeld (diagnose-discriminatie)
M1
M2
M3A2
A1
3
3
2
3
10
12
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 M2zijn goede testen
MBR-10 2002 AtT 45
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-10 2002 AtT 46
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-10 2002 AtT 47
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