Tendencias de Desarrollo del Software Guía 14 – Sistemas Expertos Guía 14 – Sistemas Expertos Tendencias de Desarrollo del Software
52
Simulación
La simulación es una técnica que consistente en crear modelos basados en hechos, observaciones e interpretaciones sobre la computadora, a fin de estudiar el comportamiento de los mismos mediante la observación de las salidas para un conjunto de entradas. Las técnicas tradicionales de simulación requieren modelos matemáticos y lógicos, que describen el comportamiento del sistema bajo estudio.
El empleo de los SE para la simulación viene motivado por la principal característica de los SE, que es su capacidad para la simulación del razonamiento de un experto humano, que es un proceso complejo.
Configuraciones
En la aplicación de los SE para simulación hay que diferenciar cinco configuraciones posibles:
Un SE puede disponer de un simulador con el fin de comprobar las soluciones y en su caso rectificar el proceso que sigue.
Un sistema de simulación puede contener como parte del mismo a un SE y por lo tanto el SE no tiene que ser necesariamente de simulación.
Un SE puede controlar un proceso de simulación, es decir que el modelo está en la base de conocimiento del SE y su evolución es función de la base de hechos, la base de conocimientos y el motor de inferencia, y no de un conjunto de ecuaciones aritmético – lógicas.
Un SE puede utilizarse como consejero del usuario y del sistema de simulación.
Un SE puede utilizarse como máscara o sistema frontal de un simulador con el fin de que el usuario reciba explicación y justificación de los procesos.
Instrucción
Un sistema de instrucción realizara un seguimiento del proceso de aprendizaje. El sistema detecta errores ya sea de una persona con conocimientos e identifica el remedio adecuado, es decir, desarrolla un plan de enseñanza que facilita el proceso de aprendizaje y la corrección de errores.
Recuperación de información
Los Sistemas Expertos, con su capacidad para combinar información y reglas de actuación, han sido vistos como una de las posibles soluciones al tratamiento y recuperación de información, no sólo documental. La década de 1980 fue prolija en investigación y publicaciones sobre experimentos de este orden, interés que continua en la actualidad.
Los SE pueden utilizarse para ayudar al usuario, en selección de recursos de información, en filtrado de respuestas, etc. Un SE puede actuar como un intermediario inteligente que guía y apoya el trabajo del usuario final.
Ramas afines
Ingeniería del conocimiento
Gestión del conocimiento
Sistemas de información hospitalaria
Enlaces
Sistemas expertos en aplicaciones reales (inglés)
Semantic Networks and Intelligent Agents (inglés)
Sistemas Expertos y Modelos de Redes Probabilísticas (español)
Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic
Programming Project
Lenguaje de creación de Sistemas Expertos basado en CommonKADS
Lenguaje para implementar sistemas expertos con modelos algebraicos
Conceptos básicos sobre sistemas expertos
49
¿Por qué utilizar un Sistema Experto?
Con la ayuda de un Sistema Experto, personas con poca experiencia pueden resolver problemas que requieren un "conocimiento formal especializado".
Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de forma más rápida que los expertos humanos.
Los Sistemas Expertos razonan pero en base a un conocimiento adquirido y no tienen sitio para la subjetividad.
Se ha comprobado que los Sistemas Expertos tienen al menos, la misma competencia que un especialista humano.
Usos
El uso de Sistemas Expertos es especialmente recomendado en las siguientes situaciones:
Cuando los expertos humanos en una determinada materia son escasos.
En situaciones complejas, donde la subjetividad humana puede llevar a conclusiones erróneas.
Cuando es muy elevado el volumen de datos que ha de considerarse para obtener una conclusión.
Aplicaciones
Aplicaciones en
Medicina
Economía
Psicología
Finanzas
Derecho
Prácticamente todas las ramas del conocimiento.
Estructura básica de un SE
Un Sistema Experto está conformado por:
Base de conocimientos (BC): Contiene conocimiento modelado extraído del diálogo con un experto.
Base de hechos (Memoria de trabajo): contiene los hechos sobre un problema que se ha descubierto durante el análisis.
Motor de inferencia (MI): Modela el proceso de razonamiento humano.
Módulos de justificación (MJ): Explica el razonamiento utilizado por el sistema para llegar a una determinada conclusión.
Interfaz de usuario (GUI): es la interacción entre el SE y el usuario, y se realiza mediante el lenguaje natural.
Tipos de SE
Principalmente existen tres tipos de sistemas expertos:
• Basados en reglas previamente establecidas.
• Basados en casos o CBR (Case Based Reasoning).
• Basados en redes bayesianas.
En cada uno de ellos, la solución a un problema planteado se obtiene:
Aplicando reglas heurísticas apoyadas generalmente en lógica difusa para su evaluación y aplicación.
Aplicando el razonamiento basado en casos, donde la solución a un problema similar planteado con anterioridad se adapta al nuevo problema.
Aplicando redes bayesianas, basadas en estadística y el teorema de Bayes.
Teorema de Bayes
Expresa la probabilidad condicional de un evento aleatorio A dado B en términos de la distribución de probabilidad condicional del evento B dado A y la distribución de probabilidad marginal de sólo A.
50
Es decir que sabiendo la probabilidad de tener un dolor de cabeza dado que se tiene gripe, se podría saber -si se tiene algún dato más-, la probabilidad de tener gripe si se tiene un dolor de cabeza,
Ventajas y limitaciones de los Sistemas Expertos
Ventajas
Permanencia: A diferencia de un experto humano un SE (sistema experto) no envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo.
Replicación: Una vez programado un SE lo podemos replicar infinidad de veces.
Rapidez: Un SE puede obtener información de una base de datos y realizar cálculos numéricos mucho más rápido que cualquier ser humano.
Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la capacidad de duplicación el coste finalmente es bajo.
Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos para el ser humano.
Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano sí (cansancio, presión, etc.).
Consolidar varios conocimientos.
Apoyo Académico.
Limitaciones
Sentido común: Para un Sistema Experto no hay nada obvio. Por ejemplo, un sistema experto sobre medicina podría admitir que un hombre lleva 40 meses embarazado, a no ser que se especifique que esto no es posible ya que un hombre no puede gestar hijos.
Lenguaje natural: Con un experto humano podemos mantener una conversación informal mientras que con un SE no podemos.
Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y de errores ajenos, que un SE haga esto es muy complicado.
Perspectiva global: Un experto humano es capaz de distinguir cuales son las cuestiones relevantes de un problema y separarlas de cuestiones secundarias.
Capacidad sensorial: Un SE carece de sentidos.
Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para la resolución de un problema.
Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento poco estructurado.
Ejemplos de Sistemas Expertos muy importantes
• Dendral
• XCon
• Dipmeter Advisor
• Mycin
• CADUCEUS
• R1
• CLIPS, Jess
• Prolog
Tareas que realiza un Sistema Experto
Monitorización
La monitorización es un caso particular de la interpretación, y consiste en la comparación continua de los valores de las señales o datos de entrada y unos valores que actúan como criterios de normalidad o estándares. En el campo del mantenimiento predictivo los Sistemas Expertos se utilizan fundamentalmente como herramientas de diagnóstico. 51
Se trata de que el programa pueda determinar en cada momento el estado de funcionamiento de sistemas complejos, anticipándose a los posibles incidentes que pudieran acontecer. Así, usando un modelo computacional del razonamiento de un experto humano, proporciona los mismos resultados que alcanzaría dicho experto.
Diseño
Diseño es el proceso de especificar una descripción de un artefacto que satisface varias características desde un número de fuentes de conocimiento.
El diseño se concibe de distintas formas:
El diseño en ingeniería es el uso de principios científicos, información técnica e imaginación en la definición de una estructura mecánica, máquina o sistema que ejecute funciones específicas con el máximo de economía y eficiencia.
El diseño industrial busca rectificar las omisiones de la ingeniería, es un intento consciente de traer forma y orden visual a la ingeniería de hardware donde la tecnología no provee estas características.
Los SE en diseño ven este proceso como un problema de búsqueda de una solución óptima o adecuada. Las soluciones alternas pueden ser conocidas de antemano o se pueden generar automáticamente probándose distintos diseños para verificar cuáles de ellos cumplen los requerimientos solicitados por el usuario, ésta técnica es llamada “generación y prueba”, por lo tanto estos SE son llamados de selección. En áreas de aplicación, la prueba se termina cuando se encuentra la primera solución; sin embargo, existen problemas más complejos en los que el objetivo es encontrar la solución óptima.
Planificación
La planificación es la realización de planes o secuencias de acciones y es un caso particular de la simulación. Está compuesto por un simulador y un sistema de control. El efecto final es la ordenación de un conjunto de acciones con el fin de conseguir un objetivo global.
Problemas
Los problemas que presentan la planificación mediante SE son los siguientes:
Existen consecuencias no previsibles, de forma que hay que explorar y explicar varios planes.
Existen muchas consideraciones que deben ser valoradas o incluirles un factor de peso.
Suelen existir interacciones entre planes de subobjetivos diversos, por lo que deben elegirse soluciones de compromiso.
Trabajo frecuente con incertidumbre, pues la mayoría de los datos con los que se trabaja son más o menos probables pero no seguros.
Es necesario hacer uso de fuentes diversas tales como bases de datos.
Control
Un sistema de control participa en la realización de las tareas de interpretación, diagnóstico y reparación de forma secuencial. Con ello se consigue conducir o guiar un proceso o sistema. Los sistemas de control son complejos debido al número de funciones que deben manejar y el gran número de factores que deben considerar; esta complejidad creciente es otra de las razones que apuntan al uso del conocimiento, y por tanto de SE.
Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el mismo la realimentación o el paso de un proceso a otro lo realiza el operador, o en lazo cerrado si no tiene que intervenir el operador en ninguna parte del mismo.
La reparación, corrección, terapia o tratamiento
Consiste en la proposición de las acciones correctoras necesarias para la resolución de un problema. Los SE en reparación tienen que cumplir diversos objetivos, como son: Reparación lo más rápida y económicamente posible. Orden de las reparaciones cuando hay que realizar varias. Evitar los efectos secundarios de la reparación, es decir la aparición de nuevas averías por la reparación.
www.dariolara.com www.dariolara.com
|