![]() |
|||
![]()
|
![]() |
![]() |
![]() |
3.2. INDEXING CASESIn order for the case-based reasoner to retrieve "similar" cases, labels (known as indexes) must be assigned to a case to "identify" it as an appropriate case to be retrieved, given a particular situation. Hence, indexes signify which cases are relevant (hence useful) and are potentially able to provide a solution to a problem. Deciding on a good index requires a good understanding of the problem domain and the problem-solving goal. Since indexes represent an interpretation of a situation, a good index (appropriate for the problem-solving situation) would allow relevant cases (with potential solutions) to be retrieved quickly and accurately. However, choosing a good index may not be as simple as it sounds since there are no guidelines or established methods that exist for choosing good indexes. As a guide, however, there are four qualities of good indexes (Kolodner, 1993):
In summary, the indexing problem is "the problem of retrieving applicable cases at appropriate times -- problem of assigning labels (called indexes) to cases that designate under what conditions each case can be used to make useful inferences" (Kolodner, 1993). 3.3. SIMILARITY MATCHINGGiven the particulars of a new case, the case-based reasoner looks at all the existing cases and retrieves those "most similar." "Most similar" is determined by matching each individual feature of the new case with all the existing cases. One such matching process is known as nearest-neighbor matching, where given a new case and a retrieved case, for each feature, the case-based reasoner computes their degree of match by looking first at each field type (whether text, numeric, Boolean, etc.) to define how the scoring is to be handled, and then comparing the values. A similarity score is then assigned to the feature. This is repeated for all features that have been defined by the user (i.e., features that contribute to the reasoning goal). Each feature is also given a weightage to reflect their relative importance. The overall similarity score for the case is computed by using a formula such as: where wi is the importance of the feature i, sim is the similarity function for primitives, and fi I and fi R are the values of feature fi in the input and retrieved cases, respectively. After computing the extent of the match, and based on a weighted sum of all features, the case-based reasoner retrieves the highest-ranking or best-matching cases. These cases are then displayed to the user for browsing. 3.4. ADAPTATIONAdaptation means modifying the solution as suggested by the retrieved case, to suit and meet the requirements of the new case. The modification process may involve a series of steps covering simple substitutions (replacing values), to a more substantial structure modification. There are two general kinds of adaptation: (1) structural adaptation, where adaptation rules are applied directly to the solution retrieved from the most similar case; and (2) derivational adaptation, where rules that generated the original solution are rerun to generate a new solution appropriate to the new case. This means that parts of the retrieved solution are re-executed, rather than modified directly. Adaptation rules are easiest to define for simple substitutions of values, or adjusting or interpolating numerical parameters. Adaptation rules are most difficult to define for structural modifications which may involve deletions or insertions of features, and such adaptation rules are usually guided by a causal model or model-based repair strategies. Retrieved cases may even be used to suggest suitable adaptations. An adaptation process can be quite complex since much domain knowledge is required to determine what adaptation should be done, and how to do it. All of the above CBR concepts will be re-visited under the paragraph on Research Challenges to discuss some of the existing problems and difficulties facing CBR. 4. CBR APPLICATIONSCBR has been applied to a variety of applications including diagnosis, classification, story understanding, interpretation, tutoring, planning, scheduling, design, and forecasting/prediction. In solving planning and design problems, for example, CBR has proven useful in that plans and designs that have been used successfully in the past are re-used, instead of having to start from scratch. CBR is able to suggest solutions to complex planning problems through previously used plans indexed by the conjunction of goals they satisfy. Hence, in complex real-world problems with many competing and interacting goals and exponentially increasing numbers of constraints to satisfy, a case-based planner can reduce this complexity by doing a "pattern match" on achieving several goals simultaneously or in conjunction with each other, without really "understanding" the individual goals themselves. Similarly, previous failure allows the anticipation of problems before execution time, thus avoiding it (as in CHEF). For complex design problems, there are many constraints that must be satisfied. However, which are the important ones to focus on first, and how can a solution be constructed? Most design problems are specified in the form of constraints, without any guidance on how the solution is to be derived. CBR's solution to design problems is to re-use an old design case as the starting point, thus providing a partial solution or framework that can be adapted to fit the new problem requirements by filling in the relevant details. For applications such as legal reasoning, CBR systems have been built that are able to argue for or against a case (very much like how a lawyer would operate) by retrieving past cases whose interpretation or classification is known. By evaluating, comparing, and contrasting a new case with past cases, the system is able to give reasons on how a situation should be interpreted. Similarly, CBR systems are able to "understand stories" by asking questions and making assumptions when information is incomplete. Since it is not possible to describe all possible applications of CBR, two systems, very different in nature, are described here to illustrate the versatility of this technology and how it has been applied.
|
![]() |
|
Use of this site is subject certain Terms & Conditions. Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details. |