Introducción
Los sistemas expertos son apasionados por dos razones fundamentales :
En primer lugar, son generalmente programas útiles y prácticos que colman una necesida concreta.
En segundo lugar, son realizables.
Estas son las razones que apoyan gran parte del éxito comercial de la Inteligencia Artificial.
De entre los paradigmas y estrategias de la Inteligencia Artificial, actualmente dos tienen el mayor interés para las aplicaciones en la empresa:los sistemas expertos y las redes neuronales artificiales.
Estos sistemas se pueden combinar, por lo que una solución práctica es utilizar sistemas mixtos que incorporan un módulo de sistema experto con sus reglas junto a otros módulos neuronales y estadísticos.
ORIGEN.
Su origen se sitúa a mediados de los años setenta, aunque es a partir de la década de los ochenta cuando se desarrollan aplicaciones en toda su plenitud. Su objetivo es modelizar el conocimiento, representándolo en forma de símbolos.
LA IDEA.
Un sistema experto es un programa que soluciona problemas y da consejos en un área especializada de conocimiento. Por ejemplo:
- Diagnóstico médico
- Diseño de automóviles
- Prospecciones geológicas.
Un ingeniero del conocimiento dedica meses a observar y entrevistar expertos humanos en el área de interés. Una vez que la "masa de conocimientos" es organizada y formalizada, se graba en la "base de conocimientos" del programa.
Los sistemas basados en conocimientos son programas de cómputo capaces de representar conocimiento sobre un dominio muy concreto y razonar con él; tienen una arquitectura tal que el conocimiento del dominio está claramente separado de los programas de inferencia y control que lo manejan.
QUE SON LOS SISTEMAS EXPERTOS?
Son sistemas basados en conocimientos dedicados a tareas específicas que requieren una gran cantidad de conocimiento de un dominio de experiencia particular, proporcionan experiencia en forma de diagnósticos, instrucciones, predicciones o consejos ante situaciones reales que se planteen y pueden servir también como herramientas de entrenamiento. Son aplicables a numerosos campos de experiencia, como medicina, actividades militares, económicas financieras e industriales, ciencia, ingeniería, y derecho.
- Son sistemas que imitan el comportamiento de un humano.
- Utilizan la información que el usuario le proporciona para darle una opinión sobre cierta materia.
- Por tanto, el sistema experto le hace preguntas hasta que pueda identificar un objeto que se relacione con sus respuestas.
Ejemplo para entender lo que hace un sistema experto:
Diálogo entre un experto en frutas y alguien que busca consejo.
Experto ¿Es verde?
Usuario No.
Experto ¿Es roja?
Usuario Sí.
Experto ¿Ha crecido en un árbol?
Usuario No.
Experto ¿Ha crecido en una caña?
Usuario Sí.
Experto ¿Tiene espinas la caña?
Usuario Sí.
Experto !Es una frambuesa!
Comentarios del Ejemplo anterior :
- La meta de un sistema computarizado experto en frutas es reproducir este diálogo.
- Y más generalmente, un sistema experto intenta dar consejo a su usuario sobre el tema que conoce
DIFERENTES DEFINICIONES SOBRE
LOS SISTEMAS EXPERTOS
Algunas definiciones están basadas en la función de los sistemas expertos. Otras en su estructura, otras combinan función y estructura y muchas más asumen lo que es reglas basada en conicimiento.
Componentes funcionales
(Qué hace el sistema)"…un programa de computadora que al igual que el humano elige entre varios caminos."[Winston & Prendesrgast, 1984]
Area del Problema
- "…resuelven problemas efficientemente y efectivos alrededor del problema."[Waterman,1986]
- "…tipicamente son problemas que se pueden reprensentar simbolicamente"[Liebowitz,1988]
Dificultad del Problema
- "… aplica su experiencia del conocimientos a dificiles problemas del mundo real"[Waterman,1986]
- "… resolver problemas que son lo suficientemente difíciles para requerir significativamente un experto humano para su solución" [Edward Feigenbaum en Harmon & King 1985, p.5]
Requerimientos de Funcionalidad
- "La habilidad de trabajar al nivel de un experto" [Liebowitz, 1988]
- "… programas que imitan la capacidad de poder notificar de los expertos humanos." [Brule, 1986]
- "… comparación a un nivel competente de un expero humano en un campo en particular." [Bishop, 1986]
- "… pueden ofrecer notificaciones inteligentes o hacer desiciones inteligentes sobre una función procesada." [British Computer Society’s Specialist in Forsyth, 1984]
- "permite al usuario accesar el especialista de una manera similar a como a la cual se consultaria a un humano experto, con un resultado similar." [Edwards and Cornell, 1989]
Explicar Razonamiento
- "…la capacidad del sistema, en demanda, de justificar su propia linea de razonamiento de una manera directa inteligible all encuestado." [British Computer Society’s Specialist Group in Forysth]
- "…incorporación del proceso de explicación." [Liebowitz, 1988]
Componentes Estructurales
(Cómo funciona el sistema)
Utilizan Técnicas de IA
- "… usando las técnicas de programación de la inteligencia artificial, especialmente aquellas técnicas desarrolladas para resolución de problemas"" [Dictionary of Computing, 1986]
Componente del Conocimiento
- "…el incorporamiento en una computadora del componente de la base del conocimiento, de la habilidad de un experto." [British Computer Society’s Group of Forsyth, 1984]
- "un sistema basado en cómputo en el cual, las representaciones del experto son almacenadas." [Edwards and Cornell, 1989]
- "El conocimiento de un sistema experto consiste en hechos y heurística. Los hechos constituyen el cuerpo de la información que es ampliamente compartida, publicamente disponible, y generalmente aceptado por expertos en el campo." [Edward Feigenbaum in Harmon & Kings, 1985]
- "Los Sistemas Expertos son programas de cómputo sofisticados los cuales manipulan el conocimiento para resolver problemas." [ Waterman, 1986]
Separación del conocimiento y control
- "… hacen un dominio de conocimiento explícito y lo separa del resto del sistema." [Waterman, 1986]
Usan procediminetos de inferencia – heurística - incertidumbre
- "… un programa de computacional inteligente que usa conocimiento para inferir procedimientos." [Edward Feigenbaum in Harmon & King, 1985]
Modelo de un Humano Experto
- "… se puede pensar como un modelo de la experiencia de los mejores practicantes en la rama." [Edward Feigenbaum in Harmon & King, 1985]
- "…representación de un dominio específico del conocimiento en la manera en la cual el piensa el experto." [Liebowitz, 1988]
- "… envolviendo el uso de la información apropiada adquirida previamente por humanos expertos." [Dictionary of Computing, 1986]
Los sistemas expertos mas exitantes trabajan con dominios analíticos, donde la solución del problema consiste en identificar la solución correcta de un gran lista predefinida y finita de soluciones. (Merry, 1985)
Un sistema experto es un sistema de computadora que encapsula conocimiento especial acerca de un dominio en particular y es capaz de tomar decisiones inteligentes dentro de ese dominio.(Forsyth, 1984).
Sistema Experto
- Razona heurísticamente, interactua con los humanos utilizando lenguaje natural.
- Razona acerca de descripciones simbólicas.
- Puede funcionar con datos inciertos
- Puede contemplar hipótesis competitivas
- Puede explicar sus preguntas y sus conclusiones.
(Hayes-Roth,1984)
El Grupo Especialista en Sistemas Expertos de la Sociedad Británica de Ordenadores los define de la siguiente manera:"La incoporación dentro de un sistema de ordenador de un componente basado en el conocimiento, correspondiente a una habilidad experta, de tal forma que el sistema pueda afrecer asesoramiento inteligente o tomar una decisión inteligente sobre una función del proceso. Una característica, adicional deseable, que muchos consideran fundamental, es la capacidad del sistema, si se le solicita, de justificar su propia línea de razonamiento de un modo directamente inteligible para el interrogador. El estilo adoptado para alcanzar estas caracaterízticas es la programación basada en reglas."
ESTRUCTURA DE UN SISTEMA EXPERTO
Sus dos componentes principales son la base de conocimientos y un programa de inferencia. El conocimiento se representa mediante el uso de símbolos, y así se crea una base de conocimiento. Una vez creada la base de conocimiento, se debe diseñar un método para utilizarla, que es el programa de inferencia. El programa de inferencia manipula la información simbólica amacenada en la base de conocimiento mediante un proceso de búsqueda.
FUNCIONALIDAD
( Como funciona el sistema experto)Todos los sistemas expertos tienen dos partes: la base del conocimiento y el motor de inferencia.
- La base de conocimiento
La base de conocimiento es una base de datos que posee una informacion y unas n reglas especificas sobre una materia deternimada.
Objeto: La conclusion que es definida por sus reglas asociadas.
Atributo: Una cualidad especifica que, con su regla, ayuda a definir el objeto.
En base a objeto y atributo definimos a la base de conocimiento como una lista de objetos con sus reglas y atributos asociados.
Ejemplo: Un sistema experto que identifique distintos tipos de fruta prodria tener una base de conocimiento como la siguiente.
Objeto Regla Atributo Manzana ha crecido en un arbol
tiene forma redonda no ha crecido en el Sur tiene color rojo o amarillo Uva ha crecido en una viña tiene color púrpura no tiene espinas la viña tiene la capacidad de convertirse en vino Naranja ha crecido en un árbol tiene forma redonda no ha crecido en el Norte tiene color naranja
- Si se ve esta base de conocimiento puede simplificarse. Se puede usar unicamente una regla <<tiene/ha>> y usar una forma negativa del atributo si debe establecer una relacion de <<no tiene/no ha>>. Por tanto, la regla simplemente se convierte en <<posee>>, y la base de conocimiento simplificada queda de la siguiente manera:
Objeto Posee Manzana Crece en un árbol redonda no crece en el sur color rojo o amarillo Uva crece en viñas varios colores la viña no tiene espinas puede utilizarse para fabricar vino Naranja crece en un árbol redonda no puede crecer en el norte color naranja
El motor de inferencia
El motor de inferencia es la parte del sistema experto que intenta utilizar la información que usted le suministra para encontrar un objeto que le encaje.Hay dos categorías muy amplias sobre los motores de inferencia: la determinística y la probabilística.Para entender la diferencia entre estas categorías, imaginemos a dos especialistas - uno en química y otro en sociologa.
-El quimico puede informar con certeza que si un átomo en cuestión tiene dos protones, entonces se trata de un átomo de helio. No hay problema acerca de la identidad del átomo porque el número de protones determina el tipo de elemento. Sin embargo, si se le pregunta a un sociólogo cuál es la mejor forma de evitar que los estudiantes abandonen la escuela, el sociólogo le dará una respuesta que califica como sólo probable, o como mucho, con una cierta probabilidad de éxito. Por lo tanto, la respuesta es probable, pero incierta.
3 formas basicas de construir el motor de inferencia
Encadenamiento hacia adelante
Encadenamiento hacia atrás
Reglas de producción
- Encadenamiento-hacia adelante: Al encadenamiento hacia adelante se le llama algunas veces <<conducido por datos>> porque el motor de inferencia utiliza la información que el usuario le proporciona para moverse a tráves de una red de Ies griegas (ANDs) y Oes (ORs) lógicos hasta que encuentra un punto terminal, que es el objeto. Si el motor de inferencia no puede encontrar un objeto usando la información existente, entonces le pide más. Los atributos que definen al objeto crean un camino que conduce al mismo objeto: la única forma de alcanzar dicho objeto es la de satisfacer todas sus reglas. Por tanto, un motor de inferencia de encadenamiento hacia adelante comienza con alguna información y luego intenta encontrar un objeto que encaje con dicha información.
Encadenamiento hacia adelante hasta el objeto manzana.
Nota : como puede verse, un sistema de encadenamiento hacia adelante esencial construye un árbol desde las hojas hasta la raíz.
- Encadenamiento –hacia atrás: El encadenamiento hacia atrás es el contrario al encadenamiento hacia adelante. Un motor de inferencia de encadenamiento hacia átras comienza con una hipótesis ( un objeto) y pide información para confirmarlo o negarlo. Al encadenamiento hacia átras se le llama algunas veces <<conducido por objetos>> porque el sistema experto empieza con un objeto e intenta verificarlo.
Ejemplo: Si la fruta en cuestión es una manzana, aplicando deducciones de encadenamiento hacia átras a la base de conocimiento de frutas, nos produce el diagrama siguiente:
- Reglas de producción: Un motor de inferencia de las reglas de producción es teóricamente superior tanto a un sistema de encadenamiento hacia adelante como hacia átras porque pide la información que tenga una mayor importancia de acuerdo con el estado actual del sistema. Un motor de inferencia de reglas de producción es, en realidad, un motor de encadenamiento hacia átras mejorado. La teoría operativa general es que el sistema pide como nueva información aquella que elimine la mayor incertidumbre posible del sistema.
Ejemplo: para entender el funcionamiento de las reglas de producción, imagine que ha llamado a un médico porque su hijo está enfermo. El doctor, primero le pregunta si el niño tiene fiebre, porque la respuesta a esta pregunta reduce el mayor número de posibilidades. Si su respuesta es <<sí>>, el doctor le pregunta si su hijo tiene angustia. Al igual que en la pregunta anterior, el doctor se la hace antes que cualquier otra porque es la de mayor impacto en el diagnóstico, dado el estado actual. Este procedimiento continúa hasta que el doctor pueda dar un diagnóstico.
En este ejemplo, el punto clave estriba en que el doctor selecciona aquellas preguntas que le llevan más rápidamente hacia una conclusión.
VENTAJAS DE UN SISTEMA EXPERTO
El atractivo de un sistema experto es fundamentalmente su disponibilidad y conveniencia. A diferencia de un humano que tiene que dormir,comer,descansar,etc..., el sistema experto está disponible durante las 24 horas del día, todos los días del año.
- Los conocimientos de un sistema experto pueden ser copiados y almacenados fácilmente, siendo muy dificil la pérdida de éstos.
Otra ventaja de los sistemas expertos sobre los humanos es que el experto computarizado siempre está a pleno rendimiento. Cuando un humano se cansa, la exactitud de sus consejos puede decaer. Sin embargo, el experto computerizado siempre proporcionará las mejores opiniones posibles dentro de las limitaciones de sus conocimientos.
C) Otra ventaja menos importante de un sistema experto radica en su !falta de personalidad! Como probablemente sabrá, las personalidades no son siempre compatibles. Si no se lleva bien con el humano experto, puede que se encuentre reticente a recabar sus conocimientos.
D) Una última ventaja de un sistema experto está en que después de que un experto computerizado exista, usted puede crear un nuevo experto simplemente copiando el programa de una máquina a otra. Un humano necesita mucho tiempo para convertirse en un especialista en ciertos campos, lo que hace difícil que puedan aparecer nuevos especialistas humanos.
DESVENTAJAS DE UN SISTEMA EXPERTO
- Creatividad: los humanos pueden responder creativamente a situaciones inusuales, los sistemas expertos no pueden.
- Experiencia Sensorial:los humanos tienen un amplio rango de diponibilidad de experiancia sensorial. Y los sistemas expertos actualmente dependen de una entrada simbolica.
- Degradación: los sistemas expertos no son bueno para reconocer cuando no existen respuestas o cuando los problemas estan fuera de su area.
LIMITACIONES DE UN SISTEMA EXPERTO
- Programación: Difícil de elaborar y precisan mantenimiento complejo
- El elevado coste: En tiempo y dinero para extraer el conocimiento de los especialistas humanos.
- Poca flexibilidad a cambios: Hay que reprogramar el sistema
- Dificultad para manipular información no estructurada:Especialmente la información incompleta, inconsistente o errónea.
- Desacuerdo entre los especialistas humanos:En la elaboración del sistema experto, los especialistas humanos pueden estar en desacuerdo entre ellos mismos a la hora de tomar las mejores decisiones para la solución de los problemas particulares.
EJEMPLOS DE ALGUNOS SISTEMAS EXPERTOS COMERCIALES
- MYCIN fue el primer sistema experto de exito mundial. Desarrollado en la Universidad de Stanford en la mitad de los setenta, fue disenado para ayudar a los medicos a diagnosticar algunas enfermedades bacterianas.
- Otro ejemplo de la viabilidad comercial de los sistemas expertos es el PROSPECTOR, que fue creado en 1978 por Richard Duda, Peter Hard y Rene Reboh. PROSPECTOR es un experto en geologia; predice la posibilidad de que ciertos depositos de minerales se encuentren en una region en particular.
Las reflexiones.
"Hay un peligro inherente en la etiqueta " sistemas expertos ". Cuando hablamos de un experto humano nos referimos a alguien con un conocimiento profundo, que no le sirve únicamente para solucionar problemas específicos adecuadamente formulados, sino también para ponerlos dentro de un contexto más amplio, Nosotros distinguimos entre un experto y un idiota erudito. Llamar a un programa un experto puede llevar a conclusiones erróneas. (…) Estas desfiguraciones quizá sean útiles para quienes traten de conseguir dinero para su investigación o traten de vender programas, pero pueden crear esperanzas injustas en quienes piensen en usarlos."
B I B L I O G R A F I A / R E F E R E N C I A S
http://concord.cscdc.be/conference/presentation/3_1030_3_1/
http://mx.nsu.ru/FAQ/F_ai_expert/Q4_1.html
http://www.bus.orst.edu/faculty/brownc/es_tutor/es_tutor.htm
http://www.adi.uam.es/~adarraga/Lozano/SEVENWEB.HTM
http://cyberconta.unisar.es/DepCyF/SIC/parte3/Leccion7/7.200.htm
http://www.ghgcorp.com/clips/ExpertSystems.html
http://mcs.une.edu.au/dept/research/comp/projects/node34.html
http://www.csd.abdn.ac.uk/~apreece/Pubs/ESWA92.html
http://www.virtualia.com.mx/971216/notas/logical.html
http://www.amzi.com/assesstest.htm
http://mx.nsu.ru/FAQ/F-ai-expert/Q6-1.html
Artificial Inteligence, Schild, McGraw Hill
Knowledge Engineering, Hojjat Adeli Vol I, Fundamentals, McGraw Hill
Comentarios sobre este documento, favor de dirigirlas a [mailto:uflores@ens.com.mx?Subject=docs/ia/Sistemas_Expertos]