IM-RECIDE

Main Page 

System Architecture

Spaces

Processes

Opportunistic Reasoning

 
Processes
 This chapter is about search processes in creative spaces. A process uses one or more cases in the creative space to build a new case, whose solution is presented to the user (see figure 1). The term operator has the same meaning of process. 
 
Figure 1 - Inputs and Outputs of an operator.
 

Cases used to generate a new case are called base cases. The process picks the cases it can use from the cases in the space. From this group of selected cases it then chooses a base case by using a metric of similarity. 

Each process has one or more spaces where it can be used. The creative space where each process works was chosen having in mind both the characteristics of the space and those of the process. 

It can be seen that the further apart our space is from the problem the more powerful and risky are the processes use to search in that space 
 

Matching

The matching process is used in a space where all cases have a situation description exactly equal to the new problem's. All cases in this space are a possible solution to the problem. What this operator does is to choose one of the cases, by using the similarity metric, and present it as the solution to the new problem. 

Adaptation

The adaptation process can only be applied to a case whose situation description is exactly the same as the new problem's, except in the values of one its attributes. A base case is selected through the use of the similarity metric. The presented solution is the one of the base case. We consider the small difference in the problem isn't likely to affect the solution. 

Splitting & Merging

The solution presented by this process is a result of the splitting of cases in pieces and the following combination of these pieces. This is a process already used in RECIDE and which was only modified so it would work with incomplete footprints. The splitting and merging operator in RECIDE builds six groups of cases. A group is a set of cases having something in common. In RECIDE the sixth group is ignored and the process works inside of the others creating a case in each of them. From those a case is them chosen according to the similarity metric. 

The splitting & merging process used in the creation space uses four of the groups already used by RECIDE. The first group isn't used as this group is equal to the current problem solving space. In the speculation space a new group was created which includes all cases in the space. The first group continues to be ignored. 

The new group, used only in the speculation space, works as follows: 
- chooses the best case, using the similarity metric; 
- divides the case, breaking it by explanations; 
- merges the explanations with complete or incomplete footprints building a new case; 
- while this new case's situation description doesn't contain all facts in the new problem, finds and joins an explanation with (some of) the missing facts; 
- if it is unable to find an explanation, it fails. 

Explanations are chosen, among explanations from the other cases in the space according to the following criteria which are applied in the same order as they are presented. 

We prefer: 
- strong explanations to weak explanations; 
- the explanation that adds the greatest number of necessary facts (to complete the case's situation description); 
- the explanations adding lest facts not belonging to the problem. 

As a consequence of the way this group works the situation description in the new case may not be equal to the new problem. 

Elaboration

There are two kinds of elaboration: by relaxing or strengthening of constraints. A constraint is a fact from the situation's description or from the problem. When doing elaboration by relaxing of constraints, this process finds the best case whose situation description is a subset of the new problem. When doing elaboration by strengthening of constraints the chosen case is a case whose situation description contains the new problem's description. The process is constraining the problem through the extra facts (constraints) in the case chose to be a base case. 

In both situations the system suggests as solution the base case's solution. We say we are doing constraint relaxing because we present the solution of a case that doesn't contain some of the constraints. In the same way we say we are doing constraint strengthening when the presented solution comes from a case having more constraints than our problem. When doing constraint strengthening we remove from the stored case all facts not belonging to the new problem. When we remove those facts it may be necessary to change strong explanations into weak ones or even to eliminate an explanation completely. 

Reformulation

This process has also two kinds: by relaxing or by strengthening of constraints. We can use a case for reformulation if its situation description contains the problem or if its situation description is contained in the problem. In the first case we say we are doing constraint strengthening and in the former we are doing constraint relaxing. After choosing a case to be the base case this process checks to see if this base case is violating any of the indivisible failure cases. If it is the process then searches, in other cases, for explanations containing the necessary facts to make the solution a valid one. The explanations are chosen according to the same rules used in the splitting & merging process. This process creates a case that is the base case with the extra explanations. The added explanations imply that the presented solution may be a solution for a problem different from the initial problem. 

Generalization

The generalization may be used on a case whose situation description is exactly equal to the new problem except in the values of one fact. The base case is selected using the similarity metric. The new case built by this process is equal to the base case with the only change being that of the substitution of the different values in the base case by the ones in the new problem. 

Substitution

The substitution process can be applied to any case whose situation description is exactly equal to the new problem, except in one of the attributes. The base case is selected using the similarity metric. The new case built by this process is equal to the base case with the only change being that of the substitution of the different attribute in the base case by the ones in the new problem.