Case-Based Reasoning

Definition
Case-Based Reasoning solves new problems by finding and adapting solutions that worked in similar past cases. Think of retrieving an old ticket with a similar bug and tweaking that solution for the new one. It differs from rule-based systems by relying on concrete past examples instead of abstracted rules, and from purely statistical methods by emphasizing adaptation of discrete cases.
Case-Based Reasoning

How does it work?

Case-Based Reasoning methods manipulate symbols or rules: represent knowledge explicitly, and apply inference algorithms (forward/backward chaining, constraint propagation, search). Implementations focus on rule ordering, conflict resolution, and efficient indexing of facts.

Examples

  • Legal precedent retrieval — Find past cases with similar facts to support legal arguments.
  • Help-desk ticket reuse — Suggest solutions based on previously solved tickets with similar symptoms.
  • Design reuse — Adapt past engineering designs to new requirements by analogical reasoning.

Problems

  • Case base can grow large and slow down retrieval over time
  • Defining a good similarity/distance metric between cases is hard
  • Adapting a retrieved case to a new situation isn't always straightforward
  • Quality depends heavily on the coverage and quality of stored cases
  1. Wikipedia: Case-Based Reasoning