CSE255 TUESDAY FEBRUARY 17, 1998 MIDTERM RESULTS Scores ranged from 14 to 36. We will go over answers in class today. MODEL-BASED DIAGNOSIS A "model" of a machine is a software simulation of the machine. Typically: - the simulation has the same organization as the machine - knowledge in the simulation is causal Using a simulation to predict the behavior of a machine is deduction, which is preferable to abduction. A model-based expert system for diagnosis has a specialized inference engine that operates on a specialized knowlege base, i.e. the simulation (see diagram). Often, but not necessarily, the simulation and the diagnosis engine are implemented in the same language, e.g. CLIPS. The simulation of a machine only describes its correct behavior. Diagnosis can be done as follows: (1) identify a set of incorrect machine input/outputs (2) identify a lesion in the model such that this input/output data is reproduced (3) hypothesize abductively that the machine has a similar lesion This approach treats a symptom as a discrepancy between correct and incorrect "behavior". A root cause is a discrepancy between correct and incorrect "structure". THE "KATE" DIAGNOSIS ONTOLOGY "Kate" is a model-based diagnosis system described on pp. 267 to 272. Let's choose an ontology for diagnosis. First: - a "command" is a setting imposed on the machine (an input is a special case of a command) - a "measurement" is an observed condition about the machine (an output is a special case of a measurement) The input to a simulation model is all known commands. The output is predictions for all possible measurements. Doing the simulation involves forward propagation of inputs, taking into account other commands, through causal rules to outputs and other measurements. When a measurement disagrees with a prediction, this is called an "original discrepancy." Let's continue with the ontology: - a "suspect" is a component whose malfunction could cause the original discrepancy - a malfunction is an alternative state of a suspect - a "hypothetical value" is a malfunction that could lead to the observed original discrepancy - a "sibling" of a component is another component that shares at least one input with this component