12.2 Modellen van kennisgebaseerde diagnose
Deze paragraaf geeft een preciezer theoretisch beeld van diagnose door het op te vatten als zoekprobleem. In paragraaf 12.2.1 wordt uitgelegd welke zoekruimten bij diagnose een rol spelen. In paragraaf 12.2.2 wordt de eerste taak bij diagnose, het vaststellen van disfunctioneren, onder de loep genomen. Paragraaf 12.2.3 is gewijd aan het genereren en testen van verschillende mogelijke hypothesen.
12.2.1 Zoekruimten voor diagnose
Lees uit Stefik: paragraaf 9.2 (paginas 673 tot en met 677).
> Extra uitleg 12.2.1 Mogelijke, voorspelde, geobserveerde en normale waarden
Merk op dat er een preciezere definitie van diagnose wordt gegeven op pagina 676 onder het voorbeeld, die een verbeterde versie geeft van onze werkdefinitie uit paragraaf 12.1. Reparatie is hieruit helemaal weggevallen.
Definitie
Diagnose gaat uit van een computationeel model van een systeem, dat aangeeft wat het
systeem onder verschillende omstandigheden zou moeten doen. Als nu het geobserveerde
gedrag van het fysieke systeem niet overeenkomt met voorspeld gedrag, is diagnose nodig.
Onder de aanname dat het model correct is, probeert het diagnosesysteem de discrepantie
tussen observaties en voorspelling te verklaren in termen van defecten in het fysieke
systeem (bijvoorbeeld kapotte componenten of ziekten).
Op de paginas 675 en 676 introduceert Stefik een voorbeeldsysteem, dat verder in het hele hoofdstuk gebruikt zal worden. Daarom geven we hier wat extra aandacht aan dat systeem. De beide adders (optellers) A1 en A2 voeren optellingen uit waarbij van de binair gerepresenteerde invoer en uitvoer alleen de laatste vijf cijfers weergegeven worden, bijvoorbeeld 30 + 21 = 19. Immers, binair geschreven volgt bij de gewone optelling 11110 + 10101 = 110011, maar omdat het systeem het eerste cijfer wegstreept van die uitkomst, dat een 32-tal representeert, is de uitkomst 10011. Decimaal geschreven volgt dan inderdaad (30 + 21) mod 32 = 19. In het algemeen geldt bij een goedwerkende opteller in het voorbeeldsysteem dus: Out = (In1 + In2) mod 32 (zie figuur 9.3 op pagina 676, de working mode van de opteller).
Een opteller kan op drie manieren fout werken (zie figuur 9.3).
Hij kan kortgesloten (shorted) zijn, de kans daarop is 0,0003.
Hij kan bij de uitkomst van de optelling de belangrijkste bit (die op de plaats van
de 16-tallen) laten vallen. Dan zou kunnen volgen dat 11110 + 10101 = 0011, dat wil
zeggen: 3 = (30 + 21) mod 16. De kans op deze fout is 0,0006.
Er kan een onbekende fout optreden, waarbij het gedrag niet voorspeld kan worden;
de kans hierop is 0,0001.
Bij de multipliers (vermenigvuldigers) M1 en M2 gaat het analoog, zie figuur 9.3. Merk op dat een bepaalde foute uitkomst van een component soms aan verschillende soorten fouten kan liggen. Stel bijvoorbeeld dat bij de invoeren 4 en 4 de multiplier M1 uitkomst 0 geeft in plaats van 16. Dit kan dan aan elk van de drie mogelijke fouten van M1 liggen: kortsluiting, het laten vallen van de belangrijkste bit en de onbekende fout.
12.2.2 Abnormaliteiten en conflicten herkennen
Lees uit Stefik: paragraaf 9.2.1 (pagina 677 tot en met 680).
Het vooruitrekenen van invoeren naar uitvoeren met behulp van de gedragsregels van het systeem, zoals dat bij de beschrijving van figuur 9.4 op paginas 677 en 678 van Stefik gebeurt, wordt meestal voorwaartse simulatie genoemd.
Figuur 9.4 geeft een voorbeeld van het gebruik van voorwaartse simulatie om te
herkennen dat het systeem met de optellers en vermenigvuldigers slecht functioneert. We
lopen nu even op de zaak vooruit om te kijken wat er allemaal mis kan zijn met het
systeem dit is het onderwerp van de volgende deelparagraaf 12.2.3. We beperken ons
tot de minimale diagnoses die de fout verklaren. Dit betekent het volgende: als de
diagnose {A2s}, die zegt dat alleen A2 is kortgesloten, de fout al verklaart, dan schijven
we niet ook een ruimere diagnose op zoals {A2s, M1d}.
Hier volgen alle mogelijke minimale diagnoses. Ga zelf na dat de gegeven diagnoses
inderdaad de fout verklaren, en dat ze dat op een minimale manier doen.
Alleen A2 is fout en geeft uitkomst 0. Dit kan op drie manieren gebeuren, wat leidt
tot de drie diagnoses {A2s}, {A2d} en {A2u}.
M1 en M2 zijn allebei fout en geven beide uitkomst 0 door kortsluiting of een
onbekende fout.
Dit leidt tot de vier diagnoses {M1s, M2s}, {M1s, M2u}, {M1u, M2s} en {M1u, M2u}.
A1 en M1 zijn allebei fout en geven beide uitkomst 0 door kortsluiting of een
onbekende fout.
Dit leidt tot de vier diagnoses {A1s, M1s}, {A1s, M1u}, {A1u, M1s} en {A1u, M1u}.
Het terugredeneren vanuit uitvoeren of effecten naar invoeren of oorzaken met zogenaamde anti-gedragsregels, zoals dat op pagina 679 van Stefik beschreven wordt, noemt men vaak achterwaartse simulatie.
Op pagina 679 gaat het over voorspellingen waaruit contradicties volgen bij achterwaartse simulatie. Merk op dat de voorspelling over figuur 5 op pagina 678, g zal de waarde 1 hebben als f = 1 en D4 en D5 werken, een sterkere contradictie tot gevolg heeft dan die Stefik geeft. Met wat propositielogica plus het feit dat 0 geen 1 is, kunnen we namelijk de contradictie afleiden dat gegeven dat g = 0 en f = 1, moet tenminste één van de componenten {D4, D5} kapot zijn.
> Extra uitleg 12.2.2 Achterwaartse simulatie
> Extra uitleg 12.2.3 Logically incomplete
12.2.3 Hypothesen genereren en testen
Lees uit Stefik: paragraaf 9.2.2 (pagina 680 tot en met 690).
Er staat een fout in figuur 9.9 op pagina 685 van Stefik: Bij "number of components" 10 staat er in de rechterkolom: 2
10 = 1024. Dit moet natuurlijk zijn: 210 = 1024.> Extra uitleg 12.2.4 Gesloten en open foutmodellen
> Extra uitleg 12.2.5 Het aantal samengestelde hypothesen
> Extra uitleg 12.2.6 Prior probability