Case based reasoning

Memory-based problem-solving, reusing past experiences.

To solve a new problem by remembering a previous similar situation and by reusing information and knowledge of that situation.

 CBR System Components  – database of previous cases (experience) – index for cases in library – matching most similar case(s) – retrieving the solution(s) from these case(s) – alter the retrieved solution(s) to reflect differences between new case and retrieved case(s)  CBR Assumptions  – Similar problems have similar solutions: • e.g., an aspirin can be taken for any mild pain
 * Case-base
 * Retrieval of relevant cases
 * Adaptation of solution
 * Main assumption

today will probably hold true tomorrow • (e.g., if you have a headache, you take aspirin, because it has always helped) point in remembering them • (e.g., it helps to remember how you found a parking space near that restaurant)  Two big tasks of CBR  – Diagnosis - what type of fault is this? – Prediction / estimation - what happened when we saw this pattern before? – Engineering Design – Planning – Scheduling  Case Representation  – Dependent on requirements of domain and task – Structure of already available case data  CBR Knowledge Containers  – lesson to be learned – context in which lesson applies – features and values of problem/solution – features used to index cases – relative importance of features used for similarity – circumstances when adaptation is needed – alteration to apply
 * Two other assumptions
 * The world is a regular place: what holds true
 * Situations repeat: if they do not, there is no
 * Classification tasks (good for CBR)
 * Synthesis tasks (harder for CBR)
 * Flat feature-value list
 * Object Oriented representation
 * Graph representation
 * The choice of representation is:
 * Cases
 * Description Language
 * Retrieval Knowledge
 * Adaptation Knowledge