Case-based Reasoning (CBR)
The key idea in case-based reasoning is "solve new problems by adapting -- and remembering what happens -- old solutions." A problem here might be "explain why squirrels have bushy tails" or "design a gas pump that doesn't spill when the hose is yanked out" or anything that needs thought. The claim is that CBR allows problem solving with very incomplete knowledge. Old solutions can be tweaked to make new ones, if things are close enough, without requiring enough knowledge to construct to construct those solutions from scratch.
The critical phases in CBR are finding the most appropriate old solutions to adapt, adapting them, and indexing the results for future retrieval. What makes an old case appropriate is not always obvious. Take an example from Kris Hammond's dissertation on adapting recipes. Suppose we want to create a stir fry dish with chicken and broccoli, and, among many other recipes, we know how to make a casserole with chicken and broccoli and a stir fry dish with beef and green peppers. The latter can be tweaked by substituting the main ingredients and using local adaptation rules such as "chicken has bones, so add a step to remove the bones" and "broccoli is denser than green pepper, so extend the frying time."
If the adapted solution works, the system saves it, so that it doesn't have to do much work to solve the same or similar problems in the future. If the adapted solution fails, the system saves that too, annotated with an explanation of what to watch out for in the future.