Вы находитесь на странице: 1из 2

How would you use Case-Based Reasoning to design an agent that can

answer Raven's progressive matrices?


Case-Based reasoning is the process by which we solve new problems based on the solutions
to previous problems. There are four steps in case based reasoning:
1. Retrieval, where we look for a similar problem from our records.
2. Adaptation, where we adapt the found problems solution to the new problem.
3. Evaluation, where we evaluate the efficacy of the solution.
4. Storage, where we store the new problem for future cases.

Storage
It is instructive to think of what we are going to store in our agent. An obvious answer would be
to store the whole problem, with its solution. However, it will be more advantageous to instead
store a single shape in one of the images, along with a transformation for this shape and the
final resultant shape.
This is because we can break an RPM problem, into a problem of individual shapes. In one
subproblem, we have a single shape and a transformed shape. We will then be asked to give a
new transformed shape based on the above transformation and a new shape. Here are four
cases we could potentially store.

Case storage based on index, (the index being original shape) is adequate for our purposes.

Retrieval
We will first decompose the RPM to subproblems of individual shapes. Then we retrieve cases
which have a similar starting shape for more analysis. For example consider this subproblem.

For this subproblem, we will retrieve all the above cases. The first two cases, to construct the
transformation, and the last two to construct the resultant figure based on the transformation.

Adaptation
There are three ways of doing case adaptation: by model, by recursive reasoning, and by rules.
Of all three, the best way seems to be by recursive reasoning for RPM. We look at each of the
cases, and see if it captured a part of the transformation. If it did so, we include the cases
transformation to our potential solution. We then try to match the remaining transformation with
the other cases. In our case, we see that reflection captures a part of the transformation, and
the rest seems to be satisfied by add fill. Hence, we then look for cases reflection and add
fill for the curved-arrow shape, and apply both of these transformations to get the answer. The
adapted solution for our subproblem is as follows:

Evaluation
Once we created a solution, we look for the most similar figure in the given options for the RPM.
If we find a very similar figure, then we have a good solution, otherwise not. Hence in our
subproblem, we look for the shape given in the adaption section.

Вам также может понравиться