Case-Based Reasoning (CBR) is a problem-solving paradigm. Its history dates back to the late 1970s. CBR originated in cognitive science (often ascribed to Roger C. Schank and Janet Kolodner). It can be explained in one simple sentence (also known as the CBR assumption):
Similar problems have similar solutions.
The basic idea of this assumption is to solve a current problem by reusing solutions that have been applied to similar problems in the past. Therefore, the current problem has to be compared with problems described in cases. Solutions contained in cases that represent very similar problems are then considered to be candidates for solving the current problem, too.
As human beings we use this problem-solving technique in many situations in our daily routine. Whenever it is easier or more convenient to re-use experience, humans prefer to do that rather than to derive solutions from scratch. The physician tells us that he saw the symptoms before, and one injection was all that was needed to heal that patient. The lawyer remembers a suitable case to defend our cause. And we hopefully remember recipes when we are cooking a new meal.
Case-Based Reasoning simulates this kind of human problem-solving behaviour. It should be considered whenever it is difficult to formulate domain rules, and when cases are available. It should also be considered when rules can be formulated but require more input information than is typically available, because of incomplete problem specifications or because the knowledge needed is simply not available at problem-solving time. Other indications to use CBR are if general knowledge is not sufficient because of too many exceptions, or when new solutions can be derived from old solutions more easily than from scratch. Many successful commercial applications in these areas have proven the utility of this paradigm.
In order to enable a computer system to judge the similarity of two problems, CBR systems employ so-called "similarity measures" which represent a mathematical formalization of the very general term "similarity" or "utility". Similarity measures usually do not describe the dependencies between problems and corresponding solutions in detail, but only represent a form of a heuristics. Thus, the selection of really useful cases, and therefore the strict correctness of the output, cannot be guaranteed in general. Nevertheless, by tolerating this inexactness one is able to develop powerful knowledge-based systems with significantly less effort and lower costs as compared to the more traditional AI techniques that rely on a complete and correct domain theory.
Case-Based Reasoning is not limited to the reuse of experience (e.g., as it is used in help-desk applications), however. CBR is also very successful in electronic commerce scenarios and in product retrieval. Here, similarity measures are used to compare user specifications with product descriptions, bridging the gap between customer demands and product features.