Cases of Chaos: Case-Based Reasoning

Case based reasoning (CBR) is a a new method which might looks quite similar to previous rule based examples we have seen previously but has a few key differences.

 

CBR takes past experiences and categorises them as cases and uses them to solve future problems. The scope of these cases varies from implementation to implementation but they mostly contained the initial problem and the past solution. These past cases can be changed if needed and as such the CBR system maintains an accurate working memory that it uses to tackle problems with which increases in accuracy as time passes.

 

Unlike rule-induction algorithms which make their training examples from the get go, CBR waits until the actual testing time to do so meaning it is not pre-optimised for a particular scenario. This means that in a database where the solutions could be extremely varied from one another CBR tends to perform well. The cases in CBR, such as in the rules found in other systems, all depend on well the database is organised and how many measures exist that help the system judge if a case is valuable and relevant.

What follows is a rundown on how the algorithm works and a brief explanation of its steps:

 

Analyse problem

Categorise the problem and break down to its components so it can be compared to other cases in the database and relevant ones be found.

 

Retrieve Relevant Past Cases

Retrieve any cases relevant to the problem at hand. These will usually have ascribed solutions or descriptions on why they failed which will help to provide a solution for this problem.

 

Reuse

Use the solution off a previous relevant case to solve this problem. This might necessitate tweaking the solution to match this problem.

 

Revise

Test the solution and check if it works. If the solution isn’t adequate this is where we could try to adapt it to meet the current requirements. If this is not possible append a description of why that is the case and store it in the case database as a failed case.

 

Retain

If the solution gas been made to work for this problem store in the database as a new case. The CBR memory grows accordingly and can now use this new case in any future problems.

 

 

Using the above steps CBR effectively learns and uses what it has learn to solve new problems. Depending on the use cases CBR databases can grow to huge sizes so a developer should look to implement a system that identifies redundant or little used cases and remove them.

 

 

REFERENCES

Harrison, Ian. (1997). Case Based Reasoning

Available from: http://www.aiai.ed.ac.uk/links/cbr.html

 

Riesback, Chris. (2016). Case-Based Reasoning

Available from: https://www.cs.northwestern.edu/academics/courses/325/readings/cbr-intro.php

Please reload

Featured Posts

Starting an interdisciplinary project

May 24, 2017

1/2
Please reload

Recent Posts
Please reload