Un Sistema Experto: MYCIN Juan Santaella Vallejo 5º de Ing. De Telecomunicación Inteligencia de Redes de Comunicación 1º Introducción En este trabajo vamos a ver un ejemplo de un sistema experto, dicho sistema es MYCIN veremos cual es su objetivo, como trabaja para concluir con un ejemplo real de aplicación. Pero antes vamos hacer un poco de historia. A mediados de los años sesenta los investigadores Alan Newell y Herbert Simon desarrollaron un programa llamado GPS (General Problem Solver; solucionador general de problemas). Podía trabajar con criptoaritmética, con las torres de Hanoi y con otros problemas similares. Lo que no podía hacer el GPS era resolver problemas del mundo real, tales como un diagnóstico médico. Algunos investigadores decidieron entonces cambiar por completo el enfoque del problema restringiendo su ambición a un dominio específico e intentando simular el razonamiento de un experto humano. En vez de dedicarse a computarizar la inteligencia general, se centraron en dominios de conocimiento muy concretos. De esta manera nacieron los sistemas expertos (SE). Un SE 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. A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenzó a desarrollar SE utilizando bases de conocimiento definidas minuciosamente. Dos años más tarde se construye DENDRAL, el cual es considerado como el primer SE. La función de dicho SE era identificar estructuras químicas moleculares a partir de su análisis espectrográfico. En la década de los setenta se desarrolló MYCIN . Este sistema introdujo nuevas características: utilización de conocimiento impreciso para razonar y posibilidad de explicar el proceso de razonamiento. Lo más importante es que funcionaba de manera correcta, dando conclusiones análogas a las que un ser humano daría tras largos años de experiencia. 2º Objetivo de MYCIN MYCIN como ya hemos dicho es un SE (desarrollado entre 1972 y 1980, Universidad de Stanford) para la realización de diagnósticos. Iniciado por Ed Feigenbaum y posteriormente desarrollados por E.Shortliffe y sus colaboradores. Su función es la de aconsejar a los médicos en la investigación y determinación de diagnósticos en el campo de las enfermedades infecciosas de la sangre. El sistema diagnosticaba la causa de la infección usando el conocimiento relativo a la infección de los microorganismos con historiales de pacientes, síntomas y los resultados de los test de laboratorio. Desde el principio, en el proyecto se habían impuesto una serie de obligaciones: 1. Tenía que ser funcional (esto implicaba competencia y consistencia). El área de uso era elegido según una necesidad demostrada. (Por ejemplo, a principios de los 70 a una cuarta parte de la población de USA se le recetaba penicilina, el 90 % de esas prescripciones eran innecesarias). 2. El programa tenía que ser diseñado con un énfasis de cumplir el rol de un medico y como una utilidad para un medico, a pesar de reemplazar sus propios procesos de razonamiento. 3. El programa debía albergar una cantidad ingente de información técnica. 4 .El sistema tenía que interactuar mediante diálogos, tenía que dar una explicación concreta de su razonamiento para llegar a la solución propuesta. 5. Velocidad, accesibidad y facilidad de uso. 3º ¿Cómo funcionaba? Para ver como funcionaba MYCIN vamos a verlo desde dos puntos de vista uno de forma general el funcionamiento de usuario y otro de forma más específica, viendo en que principios se basaba. El funcionamiento de MYCIN a grandes rasgos lo podríamos describir de esta manera. El sistema, al ser consultado por el médico, solicita primero datos generales sobre el paciente: nombre, edad, síntomas, etc. Una vez conocida esta información por parte de la maquina, el SE plantea unas hipótesis. Para poder verificarlas comprueba primero la exactitud de las premisas de la regla. Esto se realiza mediante una búsqueda de enunciados correspondientes en la base de conocimientos. Estos enunciados pueden a su vez estar de nuevo en la parte de consulta de otra regla. También lo realiza mediante determinadas preguntas al usuario. Aquí se hacen preguntas del tipo: ¿Se ha practicado en el paciente algún tipo de intervención quirúrgica? Con las respuestas que recibe, el MYCIN verifica o rechaza las hipótesis planteadas. Para entender bien MYCIN vamos a hablar brevemente sobre los SE. Una característica decisiva de los SE es la separación entre conocimiento (reglas, hechos) por un lado y su procesamiento por el otro. A ello se añade una “interface” de usuario y un componente explicativo. A continuación mostramos una breve descripción de cada uno de los componentes. La Base de Conocimientos de un Sistema Experto contiene el conocimiento de los hechos y de las experiencias de los expertos en un dominio determinado. El Mecanismo de Inferencia de un Sistema Experto puede simular la estrategia de solución de un experto. El Componente Explicativo explica al usuario la estrategia de solución encontrada y el porqué de las decisiones tomadas. La Interface de Usuario sirve para que éste pueda realizar una consulta en un lenguaje lo más natural posible. También existe un componente de adquisición que puede ofrecer ayuda a la estructuración e implementación del conocimiento en la base de conocimientos, pero esto no forma parte de la estructura básica de SE. MYCIN se basaba para realizar los razonamientos en factores de certeza y certidumbre ya que los autores de MYCIN decidieron no seguir la teoría de probabilidad porque: 1.Los expertos se resisten a expresar sus procesos de razonamiento en términos probabilísticos coherentes. 2.La probabilidad requiere de grandes cantidades de datos y muchas aproximaciones y suposiciones. Entonces desarrollaron una nueva técnica, cuya base es el concepto de confirmación interpretación lógica de probabilidad subjetiva. Bajo estas consideraciones se desarrolla la técnica de factores de certeza. Esta técnica no la vamos a ver en el trabajo ya que seria profundizar mucho pero vamos a resaltar algunas de sus conclusiones: Aunque pretendía apartarse de probabilidad, se ha demostrado que la técnica de MYCIN corresponde a un subconjunto de probabilidad con una serie de suposiciones implícitas: • • • La evidencia es condicionalmente independiente de la hipótesis y su negación. La red de inferencia debe corresponder a un árbol para que los resultados sean coherentes. Las fórmulas para conjunción y disjunción (min y max) sólo son válidas si uno de los términos es subconjunto del otro. Estas suposiciones no son válidas en muchas aplicaciones por lo que el método de MYCIN no se puede generalizar. Para concluir este punto vamos a resaltar que MYCIN fue escrito en lenguaje Lisp y sus reglas están formalmente representadas como expresión Lisp. Esto permite una gran flexibilidad pero pierde algo de modularidad y claridad. 4 Impacto en la IA Una de las aportaciones más importantes de MYCIN a la IA es que aparece claramente diferenciados motor de inferencia y la base de conocimientos. Al separar esas dos partes, se puede considerar el motor de inferencias aisladamente. Esto da como resultado un sistema vacío o shell (concha). Esta nueva forma permitió avanzar sobre los mejores sistemas expertos hasta el momento. Primero, su base de conocimiento consistía en cientos de reglas. Segundo, esas reglas eran probabilísticas, como hemos comentado en el punto anterior. MYCIN era lo bastante robusto como para determinar correctamente conclusiones cuando algunas evidencias eran incompletas o incorrectas. Tercero, MYCIN podía explicar sus propios procesos de razonamiento. El usuario podía preguntar de muchas formas. Preguntando, porque al realizar una cuestión concreta o como había llegado a una determinada conclusión, por ejemplo. Fue uno de los primeros sistemas genuinamente amigables. Cuarto, y crucial, MYCIN funciona. MYCIN supuso el punto de partida para un monto de sistemas expertos que fueron dando a su vez otros. Así surgió EMYCIN (MYCIN Esencial) con el que se construyó SACON, utilizado para estructuras de ingeniería, PUFF para estudiar la función pulmonar y GUIDON para elegir tratamientos terapéuticos. En esa época se desarrollaron también: HERSAY, que intentaba identificar la palabra hablada, y PROSPECTOR, utilizado para hallar yacimientos de minerales. De este último derivó el shell KAS (Knowledge Adquisition System). En la década de los ochenta se ponen de moda los SE, numerosas empresas de alta tecnología investigan en este área de la inteligencia artificial, desarrollando SE para su comercialización. Se llega a la conclusión de que el éxito de un SE depende casi exclusivamente de la calidad de su base de conocimiento. El inconveniente es que codificar la pericia de un experto humano puede resultar difícil, largo y laborioso. Un ejemplo de SE moderno es CASHVALUE, que evalúa proyectos de inversión y VATIA, que asesora acerca del impuesto sobre el valor añadido o IVA Parte de esto queda muy bien reflejado en el siguiente gráfico: 5 INTERACIONES REALES CON USUARIOS Vamos a ver un ejemplo de una iteración real con un usuario. Se puede comprobar que se cumple el funcionamiento explicado en el punto tercero. Ya que MYCIN formula una serie de preguntas, dará un diagnostico y se pedirá que lo explique. 1. Patient’s name: (first - last) ** FRED BRAUN (Questions 1-3 request background patient data). 2. Sex: ** M 3. Age: ** 55 4. Are there any cultures for Fred Braun which may be related to the present illness, and from which organisms have been grown successfully in the microbiology laboratory? ** Y - - - CULTURE - 1 - - 5. From what site was the specimen for CULTURE - 1 taken? ** BLOD = BLOOD (System corrects typing error). 6. Please give the date and time when CULTURE-1 was obtained. (mo/da/yr time) ** JUN 20, 1977 The first organism isolated from the blood culture of 20-JUN-77 (CULTURE-1) will be referred to as: - - - ORGANISM - 1 - - 7. Enter the laboratory - reported identity of ORGANISM-1: ** UNKNOWN (Typically identity is not known yet). 8. The strain (gram or Ziehl-Neelsen acid-fast) of ORGANISM-1: ** NEG (Preliminary lab results give some clues). 9. Is ORGANISM - 1 rod or coccus (etc.): ** ROD 10. What is the form of the individual organisms (e.g. lancet-shaped for cocci, fusiform for rods, etc)? ** FUSIFORM (... more questions follow in order to gather sufficient information to infer the identity and significance of the infecting organisms ...) ... ... 23. What is the suspected portal of entry of the gramneg rod from the blood culture of 20-JUN77 (ORGANISM-1) into this sterile site? ** GI (6) (User indicates the uncertainty of his response). 24. Is Fred Braun a burn patient? ** N 25. Is Fred Braun a compromised host (e.g. alcoholic, sickle-cell-disease, immunosuppressed)? ** N 26. Is Fred Braun febrile? ** Y ( ... after about 50-60 questions, MYCIN prints the diagnostic hypotheses on which therapy will be based ...) My therapy recommendations will be designed to treat for organisms that are either very likely, or, although less likely, would have a significant effect on therapy selection if they were present. It is important to cover for the following probable infection(s) and associated organism(s): INFECTION-1 is BACTEREMIA <ITEM-1> E.COLI [ORGANISM-1] <ITEM-2> KLEBSIELLA [ORGANISM-1] <ITEM-3> ENTEROBACTER [ORGANISM-1] <ITEM-4> KLEBSIELLA-PNEUMONIAE [ORGANISM-1] 6 Conclusiones Los SE proporcionan la capacidad de trabajar con grandes cantidades de información, que son uno de los grandes problemas que enfrenta el analista humano que puede afectar negativamente a la toma de decisiones pues el analista humano puede depurar datos que no considere relevantes, mientras un SE debido a su gran velocidad de proceso analiza toda la información incluyendo las no útiles para de esta manera aportar una decisión más sólida. Otro punto positivo es; debido a la escasez de expertos humanos en determinadas áreas, los SE pueden almacenar su conocimiento para cuando sea necesario poder aplicarlo. Así mismo los SE pueden ser utilizados por personas no especializadas para resolver problemas. Además si una persona utiliza con frecuencia un SE aprenderá de el. Se puede resumir el proceso de funcionamiento de un SE de esta manera