Combining causal models and case-based reasoning

Associational reasoning solves common problems quickly. Model-based reasoning can be used to solve unfamiliar, unusual, or difficult problems, but it does so slowly. This paper describes a method for increasing the solution speed of model-based reasoning systems by remembering previous similar problems and making small changes to their solutions. This technique is known as case-based reasoning (CBR). If the CBR system were limited to solving only problems identical to those it had seen before, this technique would be nothing more than caching. However, by integrating a model-based component with CBR, a system can make model-based modifications to previous solutions to fit the details of similar but not identical problems. Only parts of the solution that depend on features which differ in the old and new problem must be modified. Therefore, the computational cost of arriving at the CBR solution is dependent on the magnitude of the difference between the new problem and the retrieved case, and not on the complexity of the problems themselves. For problems that are computationally expensive to solve, then, case-based reasoning has the potential to make a significant improvement in solution speed. The implementation of such a system for the domain of medical diagnosis is presented, and its extension to other domains is described.