El razonamiento basado en casos: una vía para el diseño de engranes
Enviado por Cesar Alberto Chagoyen Mendez
- Resumen
- Introducción
- Caracterización de los Sistemas Basados en el Conocimiento
- Particularidades del Razonamiento Basado en Casos
- Modelo General de RBC para el diseño
- Conclusiones
- Referencias Bibliográficas
Resumen
Con el objetivo de mejorar la reutilización de experiencias de los sistemas CAD (Computer Aided Design) (Diseño Asistido por Computadoras) actuales y no permitir que se pierda la experiencia acumulada por los diseñadores durante años, se hace necesario acudir a técnicas de avanzada en la computación y dentro de ellas las técnicas de Inteligencia Artificial (IA).
Es por ello que en esta monografía se dan algunos rasgos y definiciones de la IA. Se realiza una caracterización de los Sistemas Basados en el Conocimiento (SBCo), su desarrollo y tipos existentes. Se analiza cómo el proceso de adquisición de conocimiento en lo relativo a la creación de la Base de Conocimientos (BC) ha motivado el desarrollo de nuevas tecnologías, en particular se describe el Razonamiento Basado en Casos (RBC) como un escalón superior y se comenta acerca de varios Sistemas Basados en Casos (SBCa) que existen en la actualidad en áreas como el diagnóstico, el diseño y la planificación; se amplía en los referidos al diseño.
Introducción
La IA es una rama de la Ciencia de la Computación dedicada a la creación de hardware y software que intenta producir resultados similares a los producidos por los humanos. [1]
IA es un término que se acompaña de muchas definiciones; así por ejemplo, muchos expertos están de acuerdo en que a la IA le conciernen dos ideas básicas: la primera es que ésta involucra el estudio de los procesos del pensamiento de los humanos y la segunda que trata de representar estos procesos en una computadora [2].
Existe un conjunto de problemas que cae dentro del radio de acción de la IA, entre los que se pueden citar: [3-5]
Juegos
Demostración de teoremas
Resolución general de problemas
Percepción:
– Visión
– Habla
Comprensión del lenguaje natural
Robótica
Resolución de problemas expertos (sistemas expertos):
–Matemática simbólica
-Diagnosis médica
–Análisis químico
-Diseño en ingeniería
Uno de los primeros proyectos de los investigadores de la IA fue el desarrollo del intelecto artificial. Este proyecto concebía a la computadora con dotes para almacenar y manipular todo el conocimiento general existente, con el fin de desempeñar funciones inteligentes. Precisamente estas ideas traían aparejado el diseño de métodos generales de solución, los cuales constituirían métodos de inferencia poderosos y universales. [3]
Sin embargo, en la década de los años 70 se reconoció que era impracticable trabajar con estos tipos de métodos a la hora de enfrentar aplicaciones prácticas. Se determinó que era necesario conocimiento específico sobre el problema, limitado a los dominios de aplicación de interés, en lugar de conocimiento general aplicable a muchos dominios. Este reconocimiento condujo al desarrollo de los llamados Sistemas Expertos (SE). [5]
Un SE puede concebirse como un sistema computarizado que usa conocimiento sobre algún dominio para llegar a una solución de un problema de ese dominio, siendo esa solución la misma que la obtenida por una persona experimentada en el dominio del problema cuando se enfrenta a él. Uno de sus objetivos es mejorar la productividad e incrementar la fuerza de trabajo en muchas áreas especializadas donde se hace difícil encontrar y mantener los expertos humanos [2]. Sin embargo, esto no es una definición porque pudiera ser aplicada a programas que no se consideran SE.
Realmente, los SE se caracterizan por más rasgos y no simplemente por el hecho de duplicar conocimiento y experticidad de un experto humano para un dominio específico. Los conceptos fundamentales relativos a los SE que lo distinguen de los programas algorítmicos convencionales y de los programas basados en búsqueda general son: [3]
La separación del conocimiento de cómo éste es usado (distinción entre conocimiento y estrategia de control).
El uso de conocimiento muy específico del dominio.
Naturaleza heurística en lugar de algorítmica del conocimiento empleado.
No requieren completitud y pueden dar varias soluciones.
Frecuentemente se usan de forma indistinta los términos SE y SBCo. No obstante, algunos autores los diferencian, limitando el nombre de SE al caso en que se utiliza conocimiento experto (conocimiento privado) y además el sistema exhibe amplias facilidades de explicación. [2], [3], [5],
Otro enfoque de la IA es el denominado como Inteligencia Artificial Conexionista (IAC), el cual generalmente se identifica con las Redes Neuronales Artificiales. En éste la búsqueda de soluciones es un proceso paralelo de cálculo de niveles de activación de las neuronas, el conocimiento se formaliza como un conjunto de pesos asociados a los enlaces entre las neuronas de la red y para el aprendizaje se utilizan diferentes algoritmos con el objetivo de ajustar los pesos de la red neuronal artificial. [6]
El empleo del enfoque conexionista para el desarrollo de SBCo ofrece entre sus ventajas principales el hecho de no necesitar expertos al cual extraerle el conocimiento, pues el conocimiento lo adquieren a partir de ejemplos. No obstante, tienen también desventajas, entre las cuales se pueden citar: necesidad de gran cantidad de ejemplos y no poder explicar cómo alcanza los resultados. Por esta razón, se trabaja en la actualidad en buscar la combinación de enfoques, lo cual ha conllevado al desarrollo de sistemas híbridos con el objetivo de aprovechar las bondades de los modelos y minimizar las debilidades de cada uno. [7]
La programación de los SBCo incluye como aspecto fundamental la formalización del conocimiento, la cual hace uso de la representación explícita del conocimiento a utilizar por el sistema, de su interpretación y manipulación lógica por medio de mecanismos de inferencia, que permitan deducir nuevo conocimiento a partir del que ya se conoce. [1]
Este trabajo se plantea precisamente eso, la formalización del conocimiento en el campo del diseño, dentro de ciertos límites, la representación explícita de ese conocimiento, su interpretación y manipulación lógica para obtener un SBCa.
Caracterización de los Sistemas Basados en el Conocimiento
Los SBCo constituyen un modelo computacional de más alto nivel que el paradigma de la programación convencional, los cuales están formados por tres componentes básicas: la base de conocimientos (BC), la máquina de Inferencia (MI) y la interfaz con el usuario. En la BC se almacena el conocimiento necesario para resolver los problemas del dominio de aplicación, atendiendo a una forma de representación del conocimiento (FRC), y la MI es un procedimiento basado en un esquema de razonamiento o método de solución de problemas (MSP) que utiliza el conocimiento para resolver los problemas de ese dominio.[8]
El MSP que se utiliza también viene determinado, generalmente, por el tipo de conocimiento. Estos métodos se pueden clasificar en base a la cantidad y especificidad del conocimiento sobre el dominio que ellos utilizan. Así por ejemplo, si el dominio del conocimiento no está estructurado y no hay experiencias pasadas se utilizan métodos de búsqueda a ciegas: [primero a lo ancho (breadth-first search), primero en profundidad (depth-first search)] o los métodos heurísticos de carácter general [primero el mejor (best-first), ascensión de colinas (hillclimbing), etc.].[8] Si existe conocimiento específico del dominio como planes de solución de problemas tipos, éstos se pueden instanciar, directamente. Si no hay planes específicos, pero el problema a resolver es semejante a uno resuelto previamente, se puede usar razonamiento por analogía. [16], [9]
Sin embargo, como se plantea por algunos investigadores [10-12] de acuerdo con el fruto de su experiencia personal, el proceso de adquisición del conocimiento y por ende la creación de la BC dificulta el proceso de desarrollo de los sistemas basados en el conocimiento y constituye el clásico "cuello de botella" para la construcción de éstos. De ahí la necesidad de desarrollar nuevas técnicas que tiendan a eliminar lo difícil y complejo del proceso de transferencia del conocimiento atendiendo a:
formas de expresar el conocimiento.
formas de transferir el conocimiento a la computadora.
número de participantes que intervienen en la transferencia de información.
estructuración del conocimiento.
Una vez que la BC se construye, es necesario la existencia de un programa que acceda a ese conocimiento para la inferencia y toma de decisiones en el proceso de solución del problema. Este programa controla el razonamiento y dirige la búsqueda en la BC y es el que generalmente se conoce con el nombre de máquina de inferencia. Según Turban [2] existen variadas categorías de razonamiento ó métodos inferenciales como son el razonamiento deductivo, el razonamiento inductivo, el razonamiento por analogía, el razonamiento formal, el razonamiento procedural numérico, la generalización y la abstracción.
El conocimiento puede organizarse en uno o más esquemas. Esto es análogo a las bases de datos que se pueden organizar en forma relacional, jerárquica o red. Una amplia variedad de esquemas se han desarrollado a lo largo de los años compartiendo todos ellos dos características. La primera de ellas es que estos esquemas pueden programarse con lenguajes de programación existentes y almacenarse en memoria. Segundo, todos ellos se diseñan de modo que el conocimiento que almacenan pueda usarse en el razonamiento, es decir, la BC contiene una estructura de datos que puede manejarse por un sistema de inferencia que usa técnicas de búsqueda y patrones de equivalencia (pattern matching) para responder preguntas, trazar conclusiones o ejecutar una función inteligente. [2], [13]
El conocimiento puede ser de diferente tipo: el más clásico es el conocimiento simbólico, que se representa por distintos esquemas o FRC como son: el cálculo de predicados, listas, redes semánticas, frames, scripts y reglas de producción. Otro tipo de conocimiento se expresa por las probabilidades o frecuencias que modelan relaciones entre los valores de los diferentes rasgos que caracterizan el dominio; otro tipo se expresa por los pesos de una red neuronal, y otro por los casos o ejemplos del problema del dominio. [1]
Estos diferentes tipos de conocimiento dan lugar a distintos tipos de sistemas basados en el conocimiento (Tabla 2.1). Entre ellos se encuentran los sistemas basados en reglas (SBR), los sistemas basados en probabilidades (SBP), los sistemas expertos conexionistas o redes expertas (RNA) y los sistemas basados en casos (SBCa), aunque existen otros que no se encuentra señalados en la tabla.[14], [15]
Tabla 2.1. Tipos de sistemas basados en el conocimiento
Atendiendo a los tipos de SBCo anteriormente mencionados, se puede apreciar que la complejidad del proceso de adquisición del conocimiento se hace mayor en los sistemas basados en conocimiento de tipo simbólico y en particular en los más difundidos, los sistemas basados en reglas [2, 3, 16, 17]. En éstos ese proceso es largo y prolongado porque consta de un conjunto de pasos que incluye la extracción del conocimiento desde varias fuentes (entrevistas a expertos, consulta de ICT y análisis de casos), la formulación de reglas, la codificación de éstas en dependencia del lenguaje seleccionado y el consecuente refinamiento de las mismas.
En los sistemas basados en probabilidades, la adquisición de conocimiento consiste en coleccionar muestras y realizar un procesamiento estadístico que produzca las probabilidades o frecuencias que forman la BC; pero este proceso puede ser también arduo por la posible carencia de fuentes que permitan estimar tales probabilidades con suficiente fiabilidad. [1]
En las redes expertas, la adquisición del conocimiento incluye la selección de ejemplos, el diseño de la topología de la red y el entrenamiento de la red para hallar el conjunto de pesos. Este entrenamiento puede requerir sólo pocas semanas y por ello puede ser menos complejo el proceso de adquisición del conocimiento que en los tipos de sistemas anteriores. Sin embargo, la definición de la topología de la red puede ser compleja. Caudill [18] compara diferentes formas de usar las redes neuronales en concordancia con los sistemas expertos.
En los sistemas basados en casos la adquisición del conocimiento se reduce a la selección de un conjunto de ejemplos o casos resueltos y su organización en la base de casos, reduciéndose la envergadura del proceso sustancialmente, siendo esta una de las causas por las cuales se escoge, dentro de todos los tipos de SBCo, a los SBCa para desarrollar el modelo que se propondrá. Otra causa es la posibilidad que dan los SBCa a través de ejemplos resueltos, de transmitir la experiencia de los diseñadores más duchos a los diseñadores noveles.
Particularidades del Razonamiento Basado en Casos
El RBC en la IA aparece durante el desarrollo de nuevas tecnologías para la creación de SBCo, motivado por otras formas del conocimiento a utilizar en la BC y como un nuevo e importante paradigma de búsqueda. [1]
Los antecedentes del RBC están en resultados alcanzados en un área de la IA conocida como aprendizaje automatizado la cual está orientada al desarrollo de técnicas que permitan a los sistemas auto extenderse y denota la posibilidad que tiene el sistema de cambiar para hacer una tarea más eficiente la próxima vez. Simplificadamente, se podría esquematizar el desarrollo histórico de esta nueva tecnología en la forma siguiente: [1,19]
En una primera etapa conocida como aprendizaje basado en similaridad, la técnica consistió en generalizar conceptos o reglas a partir de ejemplos para almacenar de forma explícita este conocimiento de modo que pudiera utilizarse posteriormente por programas inteligentes.
En la segunda etapa se consideran generalizaciones heurísticas para la solución de problemas de modo que se pueda mejorar el desempeño de los programas inteligentes en la solución de problemas.
Y en la tercera, en que aparece el RBC, se intenta resolver nuevos problemas a partir de los ejemplos directamente.
Los trabajos básicos sobre el enfoque basado en casos fueron desarrollados por Roger Schank en la Universidad de Yale en los años 80. Al final de esa década el Defense Advenced Research Proyects Agency (DARPA), comenzó a centrar esfuerzos en la aplicación de esta tecnología.
El RBC se inspira en el papel que juega la memoria en la capacidad de razonamiento del hombre. La memoria permite relacionar el presente con el pasado y que ambos trasciendan al futuro. La memoria puede organizar las experiencias generalizadas y usarlas en la solución de problemas.
En general, la segunda vez que se intenta resolver algún problema, es más fácil que la primera porque se recuerda y se repite la solución previa, somos más competentes la segunda vez porque se recuerdan los errores cometidos y se tratan de evitar. En la IA esta forma de resolver los problemas se modeló mediante el razonamiento por analogía. Carbonell [20] plantea que la solución de problemas por analogía consiste "en transferir el conocimiento sobre la solución de problemas pasados a los nuevos problemas que comparten aspectos significativos con las correspondientes experiencias pasadas, y usar el conocimiento transferido para construir las soluciones a los nuevos problemas".
Teniendo en cuenta estos aspectos y lo planteado por varios autores (epígrafe 1.) referente al diseño de engranajes, fueron estas las principales causas que dieron motivo a asumir el RBC como tecnología para conservar y transmitir la experiencia de los diseñadores.
El RBC es una forma de razonamiento por analogía. Según Carbonell [21] "la analogía y el RBC son dos lados de la misma moneda: ambos confían en el conocimiento episódico encapsulado para guiar la solución de problemas complejos, pero la primera enfatiza en el proceso de modificar, adaptar y verificar derivaciones pasadas (casos), mientras el último enfatiza en la organización, indizamiento jerárquico y recuperación de casos en la memoria".
Existen variadas razones que justifican los trabajos de investigación sobre RBC. Stanfill y Waltz [22] consideran dos razones fundamentales: la primera que es difícil concebir pensamiento sin memoria; la segunda es la incapacidad de los SBCo actuales para alcanzar éxito en cualquier dominio amplio, o captar efectivamente la noción del sentido común, mucho de lo cual, se cree, está basado esencialmente en la memorización de la experiencia pasada.
Slade [23] por su parte enuncia dos propósitos a largo plazo del RBC: el desarrollar un modelo científico de la memoria humana y el construir programas robustos que puedan asimilar las experiencias y adaptarse a nuevas situaciones.
No siempre el pensamiento humano está regido conscientemente por las reglas de la lógica; en ocasiones es básicamente un procesamiento de información recuperada con el tiempo. Precisamente para Riesbeck y Schank [24] la anterior afirmación constituye una justificación para usar el RBC.
El RBC representa un nuevo método para resolver problemas no estructurados en el cual el razonamiento se realiza a partir de una memoria asociativa que usa un algoritmo para determinar una medida de semejanza entre dos objetos. El mismo denota un método en el cual la solución de un nuevo problema se realiza a partir de las soluciones conocidas para un conjunto de problemas previamente resueltos (o no resueltos) del dominio de aplicación. [1]
RBC significa razonar en base a experiencias o casos previos. La idea básica es: dada la descripción de un nuevo problema, recuperar desde una base de casos un problema (caso) similar y la solución de este se adapta al nuevo problema. En [24-26] se fundamentan las características del RBC.
Para Riesbeck y Shank [24] el RBC consta de dos etapas:
Encontrar aquellos casos en memoria que solucionen problemas similares al actual.
Adaptar la solución o las soluciones previas al problema actual teniendo en cuenta diferencias entre la situación previa y la actual.
Hacer cualquier inferencia basada en casos incluye los pasos siguientes:
1. Presentar como entrada al sistema una descripción del problema a resolver o problema actual (Presentación).
2. Encontrar aquellos casos en memoria que resuelven problemas similares al actual (Recuperación).
3. Determinar cuáles partes del viejo caso se deben focalizar para resolver el subproblema activo.
4. Derivar una solución adaptando la solución previa a las restricciones del nuevo problema. (Adaptación).
5. Chequear la consistencia del valor derivado con la descripción del problema a resolver y aceptar o rechazar este valor (Validación).
6. Si se considera apropiada la solución validada, se añade a la base de casos para ser usada en el futuro (Actualización).
Atendiendo a estos pasos, un sistema que implemente el RBC consta de tres componentes principales, una base de casos, un módulo de acceso y recuperación (recuperador) y el módulo de adaptación (razonador). En la Figura 1 aparece un esquema típico de SBCa.
Figura 1 Esquema típico de un Sistema Basado en Casos.
El caso representa situaciones experimentadas previamente y el mismo debe contener la descripción del problema y su solución, así como información acerca de si la solución fue correcta o incorrecta.
Para almacenar los casos debe usarse una memoria o base de casos que posea propiedades similares a la memoria humana, tales como:
a) ser ilimitada.
b) en la medida que la base de casos crezca no puede hacerse más lenta.
c) debe permitir buscar directamente los elementos de memoria que sean relevantes a un problema.
La tercera característica está estrechamente vinculada con la segunda componente de un sistema basado en casos, es decir, el módulo de acceso y recuperación de los casos. La problemática está en cómo recuperar desde la base de casos, los casos relevantes con respecto al problema a resolver, partiendo del hecho de que en el mundo real no existe una equivalencia exacta entre dos problemas, por lo que se requiere de un medio para comparar el nuevo problema con los problemas resueltos registrados en la base de casos y seleccionar el o los casos que poseen una mayor similitud con el mismo.
Por lo general, el propio modelo de organización de la base de casos es quien facilita el acceso al conjunto de casos candidatos. Ahora bien, la recuperación de los casos que mayor similitud guardan con el patrón de búsqueda, puede realizarse con la utilización de dos métodos: [26]
Por semejanza parcial
Por analogía
En el primero, se emplea una función de semejanza la cual determina una medida numérica del grado de similitud de cada objeto de la memoria con respecto al nuevo problema. En el segundo, se busca un elemento de la memoria cuya descripción pueda hacerse igual a la del nuevo problema, mediante el reemplazamiento de los valores de los rasgos diferentes a partir de la equivalencia de valores, definida en una red semántica. [1]
Para aplicar un método de recuperación debe determinarse bajo qué condiciones se realizará la comparación entre los casos. Para ello se hace necesario definir:
a) El espacio de representación de cada objeto, caso o problema, es decir, el conjunto de rasgos o propiedades que lo describen R={x1,x2,…,xn}, donde xi representa el rasgo i y n la cantidad de rasgos.
b) El dominio de valores permisibles para cada rasgo. Se denomina Mi al conjunto de valores permisibles del rasgo i.
c) El criterio de comparación (i de cada rasgo.
d) El peso o la importancia de cada rasgo.
La selección de rasgos es cuestión central, tanto en la definición del modelo de la base de casos como en el modelo de recuperación de casos. Potencialmente, en el conjunto de rasgos podrían estar todas las propiedades que describen los objetos pero generalmente esto no es así, ya que existen rasgos inútiles que carecen de importancia de acuerdo con el dominio de aplicación. Otro aspecto muy importante es que dentro del conjunto de rasgos que se seleccionan no todos tienen la misma importancia y esta diferencia debe tenerse en cuenta a la hora de comparar objetos. El cálculo de la importancia de cada rasgo se realiza a partir de criterios tales como:
criterio de los especialistas del dominio de aplicación.
la dispersión de los valores del rasgo.
la frecuencia de aparición del rasgo.
la frecuencia del valor dado al rasgo.
el carácter diferenciante del rasgo.
la fuerza predictiva del rasgo.
En la determinación del dominio del rasgo, se define ante todo la clasificación de los valores, en cuantitativos y cualitativos, lo cual es importante para posteriormente buscar los criterios de comparación. El criterio de comparación puede ser booleano, o finito-valente para representar una graduación de la igualdad de dos valores del rasgo o aritmético para dar una magnitud que exprese el grado de coincidencia de dichos valores. En el trabajo de Ruíz [27] aparecen varios ejemplos de criterios de comparación.
Cuando la recuperación se realiza a partir de funciones de semejanza, se diseña una expresión analítica que de una medida numérica del grado de similitud entre dos casos. Esta función integra los resultados alcanzados a nivel de comparación de rasgos así como la importancia de los rasgos seleccionados. Pudieran utilizarse como funciones de semejanza los ejemplos de métricas, seudométricas o semimétricas conocidos [93] u otros ejemplos que aparecen en la literatura científica y que no responden a los conceptos anteriores [6, 27].
La tercera componente de un sistema basado en casos es el módulo de adaptación, el cual, a partir de los casos recuperados, se encarga de encontrar los valores de los rasgos desconocidos, mediante un algoritmo capaz de adaptar las soluciones de los casos semejantes para completar el nuevo problema.
Atendiendo al módulo de adaptación se distinguen dos tipos de sistemas basados en casos: los interpretativos y los solucionadores de problema. Un sistema interpretativo toma un problema y su solución y utiliza los casos para proponer un argumento para justificar esa solución. Un solucionador de problemas deriva soluciones al nuevo problema a partir de soluciones viejas a problemas similares.
En forma general, la adaptación puede realizarse atendiendo a las siguientes reglas:
No realizar adaptación
Adaptación parametrizada, es decir, establecer dependencias entre rasgos.
Adaptación basada en un crítico.
Usar algoritmos de solución primaria.
Adaptación basada en casos.
Todo proceso de adaptación consta de cuatro pasos generales según Jurisica [23]:
1. Decidir qué se necesita adaptar. Para ello, determinar si se va a adaptar basándose en: las diferencias entre ambas descripciones, o las diferencias entre las soluciones recuperadas y los nuevos objetivos, o una explicación de fracaso, o una lista predefinida de elementos a adaptar
2. Estimar si vale la pena continuar la adaptación.
3. Especificar cómo se pueden disminuir las diferencias.
4. Ejecutar la adaptación. La adaptación se realiza velando por los requisitos siguientes: las reglas de adaptación deben ser dependientes del dominio, cada tipo de adaptación implica usar conocimiento del dominio y el tipo de aplicación implica el momento de la adaptación.
El RBC, como un nuevo MSP para el desarrollo de sistemas basados en el conocimiento, goza de un conjunto de ventajas entre las que se pueden citar: [1]
El esfuerzo en la definición de problemas puede ser capturado para ahorrar trabajo en el futuro.
Experiencias previas que resultaron exitosas pueden usarse para justificar nuevas soluciones.
La comunicación entre el sistema y los expertos se realiza en base a ejemplos concretos, es decir, el sistema explica sus decisiones citando precedentes.
Es un algoritmo de aprendizaje incremental, el aprendizaje tiene lugar tan pronto como un nuevo ejemplo está disponible sin excesivo costo computacional.
Permite proponer soluciones para los problemas rápidamente, reduce el tiempo necesario para derivar respuestas desde el estado inicial de un proceso de búsqueda de soluciones. Esta ventaja se manifiesta principalmente en situaciones donde un sistema basado en reglas por ejemplo, necesitaría realizar una larga cadena de inferencias para alcanzar una solución.
Permite proponer soluciones en dominios que no se comprenden completamente.
Los casos ayudan a focalizar el razonamiento sobre las partes importantes de un problema a partir de los rasgos más importantes.
Es aplicable a un amplio rango de problemas.
Sin embargo, el RBC tiene un conjunto de debilidades en su contra:
Un sistema que implementa el RBC no explora todo el espacio de soluciones por lo que no puede afirmarse que la solución encontrada sea la solución óptima.
En ocasiones se requiere de una base de casos considerablemente grande y bien seleccionada.
La consistencia entre varios casos es difícil de mantener.
El RBC depende de una adecuada función de semejanza y de una correcta ponderación de los rasgos en la misma, lo cual no es fácil de realizar para cada aplicación, siendo ésta precisamente una novedad del trabajo para el caso de árboles.
Existe un gran número de problemas para los cuales el RBC resulta ser el único método de solución o en ocasiones el mejor. Así por ejemplo, en tareas de diseño, el problema a resolver queda definido por un conjunto de restricciones. Muchas veces no existe una solución correcta que satisfaga todos los requerimientos, y en estos casos no existe un algoritmo que permita hallar la solución. Otras veces sucede que el espacio de búsqueda es muy grande, por lo que encontrar la solución en el mismo podría consumir gran cantidad de tiempo. Ese mismo problema en ocasiones es muy grande y difícil de descomponer en partes que se puedan solucionar de forma independiente para luego unir las soluciones parciales en una final. Las dificultades en la descomposición surgen frecuentemente porque las partes pueden estar muy ligadas entre sí. [1], [19]
El RBC es también ventajoso para problemas especificados de forma incompleta o difusa, así como cuando la solución de problemas requiere de un largo proceso de inferencia.
De acuerdo con todo lo especificado anteriormente, el RBC puede ser útil en diferentes tareas de la resolución de problemas tales como:
Diagnóstico: dado un conjunto de síntomas y la descripción de un dispositivo encontrar una explicación a los síntomas.
Planificación: dado un conjunto de objetivos y restricciones entrar una secuencia de acciones que puedan ejecutarse para alcanzar los objetivos.
Diseño: dado un conjunto de objetivos y restricciones, crear un artefacto que cumpla estos requerimientos de la mejor forma posible, tarea a la que se dedica este trabajo.
Explicación: dada una situación, encontrar una interpretación que muestre el por qué de dicha situación.
En el área de diagnóstico se cuenta con diferentes sistemas basados en casos. En la literatura consultada se encuentran entre otros: PROTOS [28], EAD [29], BOLERO [26], SHRINK [29], CASEY [30], Case-Based Help System [31] y FRANK [32], muchos de los cuales se desarrollan en el área de la medicina. Se aprecia alta tendencia en particular a la conformación de sistemas híbridos que combinan la tecnología del RBC con otros métodos como son los empleados por los sistemas basados en reglas, los sistemas basados en modelos y los sistemas de planificación, aprovechando las ventajas que aportan cada uno.
En el área de planificación también existen algunos sistemas basados en casos, entre los que se tiene: PLEXUS [33], CHEF [34] y MEDIATOR [35].
En la bibliografía aparecen varios sistemas basados en casos perfilados hacia el área de diseño entre los que se encuentran FIRST [36], DEJAVU [36], STRUPLE [37], XBE[37], ARGO[38], JULIA [38], SEED[39], CLAVIER [40], [41], CADRE [41], KITRIK [42], MEMORABILIA [42], CAB-ASSEMBLY [43], ARCHIE [44], CYCLOPS [44], CADREM [45] y CADET [10]. A continuación se mencionan algunas características de estos sistemas.
CLAVIER (creado por Barletta, Hennessy y Hinkle, 1989). Es un sistema que resuelve problemas aplicados al diseño mecánico. Es empleado por la compañía de aviación norteamericana Lookheed para el diseño de autoclaves y para resolver el problema consistente en la determinación de la posición en que deben ser colocadas las piezas de materiales especiales aleados que van a ser tratadas térmicamente en un horno. Esta compañía asegura que han ahorrado, como promedio, de $ 20 000 a $ 50 000 mensuales. Está en operación desde 1990.
ARCHIE ayuda al diseño arquitectónico ( Domeshek y Kolodner, 1992). Este sistema basado en casos se construyó desde REMIND, un shell implementado para desarrollar sistemas basados en casos en el Cognitive Systems. ARCHIE contiene tres tipos de conocimiento, conceptos primitivos (referido a objetos, relaciones y parámetros de los edificios de oficinas), modelos de dominios (que captan relaciones causales entre conceptos) y casos de diseño. La recuperación de casos se realiza mediante dos mecanismos: la equivalencia con el vecino más cercano y la agrupación o cluster basada en modelos de dominios.
KITRIK (Goel y Chandrasekaran, 1989). Es un sistema híbrido para el diseño de mecanismos simples tales como pequeños ensambles mecánicos e intercambiadores de calor, combinando el RBC y el razonamiento basado en modelos. Utiliza la modificación guiada por un modelo para adaptar viejos diseños y formar otros nuevos.
FIRST (Daube y Hayes – Roth, 1990). Es un sistema de rediseño mecánico para vigas estructurales mediante la recuperación de casos y la adaptación de sus soluciones satisfaciendo un conjunto de restricciones. La entrada al sistema consiste en un conjunto de variables que ofrece un primer nivel de descripción de la viga junto con las restricciones que debe satisfacer la solución final. Además el usuario propone un diseño preliminar el cual puede o no estar en el espacio de los diseños posibles. Está enfocado hacia la reparación de fallos de diseño.
DEJAVU (Bardasz y Zeid, 1991). Es uno de los primeros sistemas asistentes a diseñadores de artefactos mecánicos. Lo hace en un ambiente integrado que permite la adquisición semiautomática de nuevos casos. Estos nuevos casos son el resultado del diseñador trabajando respecto a la solución de un problema de diseño no resuelto. Es sumamente general pues en él se puede diseñar desde una silla hasta una rueda dentada.
CYCLOPS (Navishandra, 1989). Es un solucionador de problemas de diseño en el dominio del paisajismo y cuando se diseña un nuevo vecindario. Este sistema usa casos para modificar diseños.
CADRE (Hua y Faltings, 1993). Emplea una base de casos para el diseño arquitectónico. Aquí se le da solución al problema dejando que el usuario seleccione el caso, con una destacable interacción del usuario con el sistema.
JULIA (Kolodner, 1987 y Hinrichs, 1989). Diseña planes de menúes alimenticios, entre otras aplicaciones.
CADREM (Raphael, 1994). Consiste en una compilación de diseño de estructuras para edificios. Los métodos de diseños fueron almacenados en casos.
STRUPLE es un sistema para el diseño estructural de edificios basado en analogía transformacional.
CAB-ASSEMBLY (Pu y Reschberger, 1992). Es un sistema para el diseño de secuencias de ensamblaje de objetos.
CADET (Navichandra y Sycara, 1992 ). Combina el RBC con técnicas de razonamiento cualitativo. Es una herramienta que usa la elaboración por indización como medio de encontrar y sintetizar casos completos o partes de estos. El sistema elude la adaptación en el sentido tradicional del RBC.
MEMORABILIA (Oxman, 1992). El usuario puede recorrer los casos de diseño grabados y decidir él mismo cuáles recuperar y adaptar. Este recorrido a menudo se completa con la incorporación de técnicas de multimedia a las técnicas del RBC.
SEED (Flemming, 1994). Es un sistema para el apoyo de las fases iniciales del diseño de edificios.
XBE (Pankakoski y otros, 1991) para el diseño de sistemas de manufactura.
ARGO para el diseño de circuitos digitales VLSI. Utiliza razonamiento por analogía.
También existen otras aplicaciones de SBCa que cubren un amplio espectro de actividades de diseño como son: [42, 46, 47]
– Software de Ingeniería de Medio Ambiente.
– Software de Interfaces.
– Diseño de Museos.
– Diseño de Bombas de Incendio, entre otros.
Existe además un sinnúmero de aplicaciones prácticas con RBC sobre servicios on-line para usuarios, entre los que se encuentran:
– Sistema SMART (1992) de Compaq Computer Co., que resuelve conflictos de los usuarios frente a productos Compaq. Sus propietarios estiman que han ahorrado ya cerca de $ 100 millones anuales.
– Sistema PRISM (1990) de Cognitive Systems Inc., de propósitos bancarios.
– Sistema SQUAD (1992) de NEC Corporation, para el control de calidad de los software.
– Sistema CASCADE (1992) de Digital Equipment Corporation, para sugerir soluciones a los fallos en los sistemas operativos.
En la UCLV se desarrolló el Sistema Inteligente de Ayuda al Diseño (SIAD) [48,49]. El mismo consta de una Máquina de Inferencia (MI) que es un programa independiente del objeto de diseño, la Base de Conocimiento y ocasionalmente un conjunto de programas utilizados por la MI. Este sistema trabaja la idea de la integración de diferentes metodologías para la representación del conocimiento, siendo la esencia de la integración determinada por las características propias de las tareas de diseño ingenieril. Es un sistema híbrido pues utiliza frames para almacenar una descripción estructurada del conocimiento y utiliza reglas de producción para los procedimientos de cálculo y las acciones. Es una máquina de inferencia orientada a la creación de sistemas CAD.
Este sistema ha sido utilizado en Cuba con gran éxito para el diseño de elementos de máquinas, transmisiones, mecanismos y máquinas en general. El autor de los trabajos [50-52] utiliza este sistema para realizar cálculos de resistencia de materiales en vigas.
A pesar de ser capaz de generar y editar gráficos y de generar información para AutoCAD, es esta su principal debilidad, pues el diseñador, además de enfrentarse a una nueva forma de describir su conocimiento, debe utilizar un editor gráfico que no cuenta con todas las posibilidades.
Modelo General de RBC para el diseño
Los ejemplos anteriores son suficientes para ilustrar varios productos en los cuales se combinan la tecnología del RBC con otros métodos. En general, existe en la actualidad un auge creciente en lo referente a la creación de sistemas híbridos basados en el conocimiento, los cuales son una etapa superior de los sistemas basados en el conocimiento en los que se combinan diferentes tecnologías (sistemas basados en reglas, redes neuronales artificiales, razonamiento basado en casos, algoritmos genéticos, etc.) para obtener un producto que aprovecha las ventajas de cada uno y minimiza sus deficiencias [35, 53].
Diferentes autores han valorado los beneficios de combinar un sistema CAD con las opciones inteligentes, específicamente con los sistemas basados en casos. Una justificación es que los sistemas CAD actuales a pesar de ser muy eficientes apoyan la reutilización de experiencias sólo marginalmente [39].
Existen dos variantes para combinar el sistema CAD elegido y la tecnología de RBC, ellas son:
– Mantener el ambiente original del sistema CAD y ampliar sus posibilidades con opciones inteligentes.
– Crear una interfaz desde la cual se tenga acceso al sistema CAD (el cual mantiene su ambiente original) y a las opciones inteligentes.
En la primera variante existe la dificultad de que es necesario dominar los códigos conocidos como "fuentes" del sistema para poder manipular la información de los diseños creados. Estos códigos no son ofrecidos por ningún productor de software incluso ni vendidos.
La segunda variante es mucho más factible de acometer. Un ejemplo de esta variante lo constituye el sistema CASECAD el cual posee una interfaz gráfica para el usuario desde la cual se accede a un Case-Based Manager (buscador y editor de casos), a un Case-Based Designer (recuperador y selector de casos) y a los paquetes XFIG y AutoCAD. Desde estos tres lugares se tiene acceso a la memoria, donde se encuentran la base de casos y la base de modelos. También se emplea multimedia para la representación de los casos. [54-60].
Por todo lo explicado anteriormente, para la futura construcción del Sistema Basado en Casos, se recomienda la segunda variante.
Quedó definido en los epígrafes iniciales de esta monografía los motivos por los cuales se emplearía el RBC como tecnología para transmitir la experiencia de los diseñadores al efectuar el diseño de engranes. El mismo debe contar con las tres componentes básicas, es decir, una base de casos, un módulo de acceso y recuperación y un módulo de adaptación.
Como ya se dijo de una manera muy sintética en el epígrafe 2.3. al describir las componentes de un sistema que implementa RBC, un caso es la descripción de un problema y la solución de éste, lo cual puede incluir o no el proceso mediante el cual se llegó a esa solución (historia del caso). Para este trabajo de investigación un caso es el plano de la rueda dentada con alguna información adicional.
Página siguiente |