In case-based reasoning (CBR), a new untreated case is compared to cases that have been treated earlier, after which data from the similar cases (if found) are used to predict the corresponding unknown data values for the new case. Because case comparisons will seldom result in an exact-similarity matching of cases and the conventional CBR approaches do not efficiently deal with such imperfections, more advanced approaches that adequately cope with these imperfections can help to enhance CBR. Moreover, CBR in its turn can be used to enhance flexible querying. In this chapter, we describe how fuzzy set theory can be used to model a gradation in similarity of the cases and how the inevitable uncertainty that occurs when predictions are made can be handled using possibility theory resulting in what we call flexible CBR. Furthermore, we present how and under which conditions flexible CBR can be used to enhance flexible querying of regular databases.
Key Terms in this Chapter
Case Based Reasoning: Case based reasoning (CBR) is a methodology where new problems are solved by investigating, adapting, and reusing solutions to a previously solved, similar problem. Hereby knowledge is deduced from the characteristics of a collection of past cases, rather than induced from a set of knowledge rules that are stored in a knowledge base.
Case Comparison: This CBR process is responsible for the retrieval of cases in the database that are adequately similar to the case for which some values need to be predicted. Hereby, the fuzzy preferences and/or fuzzy conditions provided in the case description process are applied.
Database: A collection of persistent data. In a database, data are modeled in accordance with a database model. This model defines the structure of the data, the constraints for integrity and security, and the behavior of the data.
Revision: This process is activated when no similar cases are found in the case comparison or when the actual values for the attributes involved in the prediction process become available. The latter typically occurs when the case has been further processed by the users and the new data have been entered in the database. All extra information is processed. Eventually, a request to modify the parameter settings is generated and sent to the case description process.
Case Description: In this CBR process, it is identified how the cases are structured and can be extracted from the database. Furthermore, the parameters required for case comparison purposes are set. For example, in case of a fuzzy case comparison, the fuzzy preferences and/or fuzzy conditions are specified.
Relational Database: A relational database is a database that is modeled in accordance with the relational database model. In the relational database model, the data are structured in relations that are represented by tables. The behavior of the data is defined in terms of the relational algebra, which originally consists of eight operators (union, intersection, division, cross product, join, selection, projection, and division), or in terms of the relational calculus, which is of a declarative nature.
Flexible Querying: Searching for data in a database is called querying. Modern database systems offer/provide a query language to support querying. Relational databases are usually queried using SQL (Structured Query Language). Regular database querying can be made more user friendly by applying techniques for self-correction of syntax and semantic errors, database navigation or “indirect” answers like summaries, conditional answers, and contextual background information for (empty) results. This is called flexible querying. A special subcategory of flexible querying techniques is based on the introduction of fuzzy preferences and/or fuzzy conditions in queries. This is sometimes called fuzzy querying.
Flexible Querying Techniques Based on CBR: CBR techniques can be used for flexible database querying purposes. More specifically, CBR techniques can be used for instance-based prediction with which unknown data values can be approximated. Hereby, four main processes can be identified: case description, case comparison, prediction, and revision.
Prediction: Based on the data in similar cases, a prediction model is built for each of the unknown data values that must be predicted. Each prediction model represents the predicted approximation of the unknown value. These models are forwarded to the user and to the revision process.