4.13 Razonamiento basado en casos

    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.