A forward chaining expert system is disclosed for use in analyzing categorization problems such as in diagnosing device malfunctions. The expert system is particularly useful in diagnosing malfunctions in a knowledge domain having a hierarchical functional decomposition. In such a knowledge domain, the hierarchical decomposition is used in constructing a collection hierarchically related rule sets which constitute the rule base for the expert system. The novel inferencing engine of the expert system iteratively examines rules within a selected rule set and: (a) determines the veracity of rule premises when compared with data within a fact base and (b) examines any statuses returned from the performance of rule consequents. Thus, upon encountering a rule consequent returning success, the inferencing engine selects a new rule set at a lower level in the rule set hierarchy and applies the new rule set to the data retained in the fact base. By allowing the inferencing engine to iteratively select one or more rule sets from a partially ordered collection of rule sets whereby the partial order is related to the knowledge domain hierarchical decomposition, the inferencing engine is able to provide problem solutions in increasingly greater detail when selecting increasingly more specific rule sets. Thus, the inferencing engine need not backtrack to examine alternative solutions.
展开▼