El razonamiento basado en casos (CBR) constituye una aproximación para reutilizar el conocimiento existente para resolver nuevos problemas. En muchos problemas complejos existen soluciones obtenidas como resultado de largos periodos de experimentación, aplicación de conocimiento proveniente de diversas fuentes, aplicación de conocimiento difícil de formalizar de diversos tipos, etc., Las soluciones se basan en la experiencia extensa, prueba y error, intuición y experiencia personal de expertos del dominio, habilidad de las empresas, etc., - pero no existe ningún modelo formal y el conocimiento no puede ser fácilmente "codificado", por ejemplo, en forma de conjunto de reglas. En estos casos uno de los acercamientos más prometedores consiste en la aplicación del conocimiento existente sobre casos (problemas) nuevos similares para resolverlos, quizás después de ajustes o modificaciones (si es necesario). Éste también es el caso de la supervisión de alto nivel realizada en procesos de naturaleza compleja y sin ningún modelo matemático preciso, donde la experiencia, el conocimiento y la intuición de los especialistas proporcionan un control satisfactorio y seguro. Simplemente la reutilización de ese conocimiento puede constituir un acercamiento constructivo para una supervisión eficaz.
Uno de los problemas acerca del desarrollo y las aplicaciones prácticas
de sistemas expertos es la dificultad de adquisición del conocimiento
(el llamado cuello de botella de adquisición del conocimiento o
cuello de botella de obtención del conocimiento). Hay varias razones
para obtener un conjunto de reglas útil, correcto, completo y consistente
para resolver problemas (aunque si es posible, en ciertos dominios, puede
construirse un sistema potente); algunas de las más típicas
son las siguientes:
Además , existen problemas con la sintonía precisa
para proporcionar soluciones correctas a gran variedad de tareas específicas,
mientras que a veces el conocimiento codificado a priori no proporciona
detalles sutiles para que el sistema sea capaz de diferenciar entre problemas
similares con soluciones diferentes.
El razonamiento basado en casos es una ''ideología'' general consistente en reconocer la necesidad de usar, aprender y reutilizar de forma creativa un conocimiento en forma de casos particulares ya resueltos. Simultáneamente, constituye un esfuerzo por resolver, al menos parcialmente, los problemas anteriores. El razonamiento basado en casos (CBR) tiende a representar conocimiento sobre casos específicos y reutilizar soluciones anteriormente obtenidas para refinar, corregir o guiar la búsqueda de soluciones a problemas actuales.
El CBR no es una metodología única bien definida; dependiendo del problema y de la representación de conocimiento así como del modelo del sistema existen varias maneras de aplicación de CBR. Puede usarse como método independiente o para apoyar y reforzar herramientas existentes. Como método independiente, CBR requiere de entrada una buena selección en cuanto a la representación de conocimiento. Los casos individuales, consistiendo en problemas y sus soluciones, deben codificarse de forma que permitan una búsqueda eficaz. La búsqueda para un caso específico, sin embargo, no puede basarse en técnicas simples de recuperación en un banco de datos; estas técnicas son restrictivas y, en la mayoría de los casos, incapaces encontrar casos "similares" o "analógicos". Así, la representación de conocimiento debe apoyar la recuperación flexible del mismo, no idéntica, pero "suficientemente parecida" a la búsqueda.
Es más, la representación de conocimiento debe soportar
la posibilidad de modificar o ajustar la solución existente para
que pueda aplicarse a cada caso específico considerado. Así
la reutilizacion de conocimiento debe comprender elementos de creatividad.
Algunos de estos elementos consisten en una revisión apropiada de
la solución final guardándola en de forma apropiada en la
base de conocimiento para su uso posterior. El general, se dice que el
CBR comprende las siguientes cuatro actividades RE:
El ciclo básico en CBR puede ilustrarse con la siguiente
figura:
En los casos más simples, para la representación de conocimiento puede aplicarse un esquema clásico de base de datos relacional. En sistemas más complejos, pueden usarse bancos de datos basados en objetos o estructuras parecidas para el acopio de casos. También los mecanismos de recuperación dependen mucho del método de representación de conocimiento utilizado. Por ejemplo, una recuperación "suave" puede estar basada en ciertas medidas de similitud, incluyendo varias definiciones de distancia y medidas difusas de divergencia. También los métodos de adaptación de casos pueden variar desde el simple ajuste de parámetros hasta modificaciones estructurales. El CBR puede ser ampliado mediante todas las técnicas de inferencia de la IA, incluyendo procedimientos de reconocimiento de formas, búsqueda, aprendizaje y generalización inductivos, aprendizaje paramétrico, inferencia lógica y otros.
A continuación, como ejemplo, se perfila un acercamiento al CBR para reforzar la potencia de un sistema experto jerarquizado, basada en \cite{Bach:96}.
Un sistema experto jerarquizado se basa en la noción de jerarquía de categorías, similar a la de clases y subclases en programación orientada a objetos. La estructura básica de estos sistemas es similar a un árbol de decisión, donde los nodos intermedios corresponden a clases específicas. Descendiendo por el árbol, se encuentran más y más clases específicas. Finalmente, los nodos hoja representan conceptos individuales, decisión, o cualquier cosa de interés. Un sistema organizado a partir de este esquema es muy útil para tareas de categorización y clasificación de clases (asignación de situaciones, clasificación de modelos, diagnósticos, etc.).
Para construir el proceso, cada nodo no-hoja esta provisto de una prueba,
cuestión o fórmula para su evaluación y posterior
especificación de la subclase correspondiente. Este sistema puede
usarse en varias tareas de decisión, donde la inferencia diagnóstica
parece ser un ejemplo importante. Su funcionamiento, sin embargo, no está
libre de errores. Los más típicos incluyen:
Los errores más frecuentes corresponden a posibilidades 2.
y 3. También pueden definirse dos tipos más precisos de errores:
Para ayudar al sistema a tratar con estos tipos de fallos, se incorpora
un mecanismo CBR. La idea básica consiste en guardar y reutilizar
casos correctamente clasificados.
Un caso es un conjunto de hechos (valores de variables medidos en el
sistema) junto a la decisión correcta. Cada nodo de la jerarquía
apunta a una lista correspondiente de casos, y para cualquier caso hay
información sobre si es un caso positivo o negativo con respecto
a la categoría asignada al nodo. Entonces, el mecanismo CBR realiza
tres pasos básicos:
El conjunto de ejemplos positivos y negativos constituye un valioso
conocimiento auxiliar para guiar y refinar la búsqueda. Por otro
lado, los sistemas jerarquizados pueden interpretarse como índices
de casos para la recuperación rápida de casos específicos.