Case-based reasoning
Case-based reasoning (CBR), broadly construed, is the process of solving new problems based on the solutions of similar past problems. An auto mechanic who fixes an engine by recalling another car that exhibited similar symptoms is using case-based reasoning.  A lawyer who advocates a particular outcome in a trial based on legal precedents or a judge who creates case law is using case-based reasoning.  So, too, an engineer copying working elements of nature (practicing biomimicry), is treating nature as a database of solutions to problems. Case-based reasoning is a prominent kind of analogy making.
It has been argued that case-based reasoning is not only a powerful method for computer reasoning, but also a pervasive behavior in everyday human problem solving.  Or, more radically, that all reasoning is based on past cases experienced or accepted by the being actively exercising choice  prototype theory  most deeply explored in human cognitive science.

# Applications
Help Desk
SMART: Support management automated reasoning technology for Compaq customer service
Appliance Call Center automation at Genral Electric
Decision Support Systems
CLAVIER: Applying case-based reasoning on to composite part fabrication
FormTool: Plastics Color Matching

# Calculating Similarity
Similarity Matrix

# Process
Case-based reasoning has been formalized for purposes of computer reasoning as a four-step process:
- Retrieve:  Given a target problem, retrieve cases from memory that are relevant to solving it.  A case consists of a problem, its solution, and, typically, annotations about how the solution was derived.  For example, suppose Fred wants to prepare blueberry pancakes.  Being a novice cook, the most relevant experience he can recall is one in which he successfully made plain pancakes.  The procedure he followed for making the plain pancakes, together with justifications for decisions made along the way, constitutes Fred's retrieved case.
- Reuse:  Map the solution from the previous case to the target problem.  This may involve adapting the solution as needed to fit the new situation.  In the pancake example, Fred must adapt his retrieved solution to include the addition of blueberries.
- Revise:  Having mapped the previous solution to the target situation, test the new solution in the real world (or a simulation) and, if necessary, revise. Suppose Fred adapted his pancake solution by adding blueberries to the batter.  After mixing, he discovers that the batter has turned blue  an undesired effect.  This suggests the following revision:  delay the addition of blueberries until after the batter has been ladled into the pan.
- Retain:  After the solution has been successfully adapted to the target problem, store the resulting experience as a new case in memory.  Fred, accordingly, records his newfound procedure for making blueberry pancakes, thereby enriching his set of stored experiences, and better preparing him for future pancake-making demands.

# Comparison to other methods
At first glance, CBR may seem similar to the rule-induction algorithms of machine learning.  Like a rule-induction algorithm, CBR starts with a set of cases or training examples; it forms generalizations of these examples, albeit implicit ones, by identifying commonalities between a retrieved case and the target problem.
If for instance a procedure for plain pancakes is mapped to blueberry pancakes, a decision is made to use the same basic batter and frying method, thus implicitly generalizing the set of situations under which the batter and frying method can be used. The key difference, however, between the implicit generalization in CBR and the generalization in rule induction lies in when the generalization is made.  A rule-induction algorithm draws its generalizations from a set of training examples before the target problem is even known; that is, it performs eager generalization.
For instance, if a rule-induction algorithm were given recipes for plain pancakes, Dutch apple pancakes, and banana pancakes as its training examples, it would have to derive, at training time, a set of general rules for making all types of pancakes. It would not be until testing time that it would be given, say, the task of cooking blueberry pancakes.  The difficulty for the rule-induction algorithm is in anticipating the different directions in which it should attempt to generalize its training examples.  This is in contrast to CBR, which delays (implicit) generalization of its cases until testing time  a strategy of lazy generalization.  In the pancake example, CBR has already been given the target problem of cooking blueberry pancakes; thus it can generalize its cases exactly as needed to cover this situation. CBR therefore tends to be a good approach for rich, complex domains in which there are myriad ways to generalize a case.

# Criticism
Critics of CBR argue that it is an approach that accepts anecdotal evidence as its main operating principle. Without statistically relevant data for backing and implicit generalization, there is no guarantee that the generalization is correct.
All inductive reasoning where data is too scarce for statistical relevance is inherently based on anecdotal evidence.

# History
CBR traces its roots to the work of Roger Schank and his students at Yale University in the early 1980s.  Schank's model of dynamic memory was the basis for the earliest CBR systems: Janet Kolodner's CYRUS and Michael Lebowitz's IPP.
Other schools of CBR and closely allied fields emerged in the 1980s, investigating such topics as CBR in legal reasoning, memory-based reasoning (a way of reasoning from examples on massively parallel machines), and combinations of CBR with other reasoning methods.  In the 1990s, interest in CBR grew in the international community, as evidenced by the establishment of an International Conference on Case-Based Reasoning in 1995, as well as European, German, British, Italian, and other CBR workshops.
CBR technology has produced a number of successful deployed systems, the earliest being Lockheed's CLAVIER, a system for laying out composite parts to be baked in an industrial convection oven.  CBR has been used extensively in help-desk applications such as the Compaq SMART system.  As of this writing, a number of CBR decision support tools are commercially available, including k-Commerce from eGain (formerly Inference Corporation), Kaidara Advisor from Kaidara (formerly AcknoSoft) and SMART from Illation.