Fundamento de Sistemas Expertos
Tópicos ● Defini Definició ción n ● Característi Características cas ● ¿Cuándo ¿Cuándo usar y no usar usar un SBC? ● Aplica Aplicacio ciones nes ● Ventajas Ventajas y desvent desventajas ajas
● Es un un programa programa de computación Inteligente que usa el conocimiento y los procedimiento de inferencia para resolver problemas que son suficientemente difíciles como para requerir significada experiencia humana para su solución.
Edward Feigenbaum (1982) http://ksl-web.stanford. edu/people/eaf/
● Los programas programas de IA que consig consiguen uen una capacidad a nivel de experto en la resolución de problemas mediante la reproducción de un cuerpo de conocimiento se denominan sistemas basados en conocimiento, o sistemas expertos. Feigenbaum, McCorduck y Nii (1988) ● Los sistemas basados en conocimiento denotan los programas que razonan utilizando grandes bases de conocimiento. Nils J. Nilsson(2000)
● Los sistemas expertos son una rama de la IA que hace un amplio uso del conocimiento especializado para resolver problemas como un especialista humano (persona que tiene experiencia desarrollada en Giarratano – Riley
cierta área).
(2001) http://prtl.uhcl. edu/portal/page/portal/SCE/COMPUTING_MATHMATICS_DIV/CS/
● El procesamiento del conocimiento es indiferente al conocimiento. ● Simula la labor de un experto humano, y no de un operador. ● Alto desempeño. El sistema debe tener la capacidad de responder a un nivel de competencia igual o superior al de un especialista en el campo. Esto significa que la calidad del consejo dado por el sistema debe ser muy alta. ● Comprensible. El sistema debe ser capaz de explicar los pasos de su razonamiento. Este rasgo es importante, 1ro porque proporciona una revisión del razonamiento; 2do
● Flexibilidad. Debido a la gran cantidad de conocimiento que puede albergar un SE es importante contar con un mecanismo eficiente para añadir, modificar y eliminar el conocimiento. ● Tiempo de respuesta adecuado. El sistema debe actuar en un tiempo razonable, comparable o mejor al tiempo requerido por un especialista para alcanzar una decisión. ● Confiabilidad. El sistema experto debe ser confiable y no propenso a fallos.
¿ Cuando usar un SE ? ● EL problema puede ser resuelto usando conocimiento y/o experiencia ● El conocimiento debe ser claro, preciso y bien definido. ● El conocimiento debe ser colocado en forma explícita (conocimiento tácito). ● El conocimiento debe proporcionar soluciones satisfactoria.
¿ Cuando NO usar un SE ? ● Problemas de optimización. ● Cantidad de conocimiento inconmensurable ● Problemas basados en búsqueda (juegos inteligentes) ● Problemas basados en conocimiento no explícito.
Recordar:
● Se trata de apoyar al experto humano (quien toma decisión) ● Se trata de criticar las decisiones del experto humano. ● Se trata de suplantar al experto humano
Industria: ● Identificación de materiales ● Sistemas de detección de fallas ● Sistemas de clasificación ● Monitoreo y administración de la producción ● Control de sistemas críticos
Servicio: ● Diagnóstico de enfermedades ● Segmentación ● Tutor inteligente ● Software Educativo ● Auditoria ● Control estratégico ● Alineamiento de presupuestos
5. Ventajas y Desventajas Desventaja ● No tiene capacidad de aprender. ● No tiene capacidad de generalizar conocimiento. ● No tiene capacidad de hacer analogías.
Ventajas ● Coste reducido. El coste de poner la experiencia a disposición del usuario se reduce de manera considerable. A mayor uso menor costo. ● Peligro reducido. Los sistemas expertos pueden usarse en ambientes que podrían ser peligrosos para un ser humano. ● Experiencia Permanente. La experiencia es permanente y no depende de causas externas. ● Experiencia múltiple. El conocimiento de varios especialistas puede estar disponible de manera simultánea. ● Mayor confiabilidad. Al proporcionar una segunda opinión
5. Ventajas y Desventajas Ventajas ● El conocimiento que tiene es fácil de actualizar. ● Es capaz de utilizar grandes cantidades de conocimiento. ● Son fáciles de duplicar. ● Son consistentes. ● Son documentables. ● Explicación. El sistema experto puede explicar de forma clara y detalladamente el razonamiento que conduce a una conclusión aumentando la confianza. ● Respuesta rápida. Respuesta en tiempo real.
5. Ventajas y Desventajas Ventajas ● Respuestas sólidas, completas y sin emociones. El sistema experto siempre funciona a plena capacidad sin tener presión ni fatiga. ● Inteligente. El sistema experto puede actuar como un tutor inteligente, dejando que el estudiante ejecute programas de ejemplo y explicando el razonamiento del sistema. ● Base de datos inteligente. Los sistemas expertos pueden usarse para tener acceso a una base de datos en forma inteligente.
Arquitectura
Tópicos ● La Arquitectura y Funcionamiento ● La Base de Conocimiento. ● La Base de Hechos. ● El Motor de Inferencia. ● El Módulo de Adquisición del Conocimiento. ● El Módulo de Explicación ● La Interface Usuario.
Base de
Módulo de
Conocimiento
Explicación
Módulo de Adquisición
Interfase
de Conocimient
Motor de
o
Inferencia
Usuario
Base de Hechos
Adquisición de
Representación del
Tratamiento del
Utilización del
Conocimiento
Conocimiento
Conocimiento
Conocimiento
Arquitectura de los Sistemas Expertos 1. Arquitectura y Funcionamiento Los componentes principales de todo sistema experto son: ● La Base de Conocimiento. Es un repositorio en donde se almacena el conocimiento y la experiencia asociada al problema a resolver. ● La Base de Hechos. Es un repositorio temporal en donde se almacenan los hechos del problema a resolver. ● El Motor de Inferencia. Es el programa que tiene por objetivo resolver el problema, esto adquirido los hechos, usa la base conocimiento y algún mecanismo de inferencia, y con ello obtiene la solución al problema. Las componente importantes pero no indispensables de un sistema expertos son: ● El módulo de Interface de Usuario. A través del cual el usuario interactúa con el sistema ● El módulo de Adquisición de Conocimiento. A través del cual el responsable del conocimiento actualiza el conocimiento de la Base de Conocimiento. ● El módulo de Explicación. Este módulo tiene por finalidad explicar el raciocinio del sistema en la obtención de la solución al problema.
Arquitectura de los Sistemas Expertos 1. Arquitectura y Funcionamiento ● El usuario (quien usa el sistema), interactúa con el sistema experto a través del módulo de interfase de usuario. A través de este módulo, el usuario ingresa al sistema los hechos asociados a un problema y este le responde las conclusiones. Esto se consigue a través del motor de inferencia, quien a su vez interactúa con la Base de Conocimiento y la Base de Hechos. ● El usuario también puede solicitar información sobre como el sistema obtuvo sus conclusiones, esto se consigue gracias al módulo de explicación. ● La adquisición y actualización del conocimiento del sistema, lo realiza el responsable del conocimiento (que puede ser un experto o un usuario designado por la organización).
Arquitectura de los Sistemas Expertos 2. La Base de Conocimiento ● La Base de Conocimientos de un Sistema Experto contiene el conocimiento y o experiencia de los expertos en un dominio o área del saber determinado. ● Una característica muy importante de los Sistemas Expertos es es que la base de conocimientos es independiente del mecanismo de inferencia que se utiliza para resolver los problemas. De esta forma, cuando los conocimientos almacenados se han quedado obsoletos, o cuando se dispone de nuevos conocimientos, es relativamente fácil añadir nuevas reglas, eliminar las antiguas, o corregir los existentes, sin necesidad de
Arquitectura de los Sistemas Expertos 2. La Base de Conocimiento
La Base de Conocimiento está constituido de: ● Objetos y sus relaciones ● Situaciones particulares (meta – conocimiento, meta-reglas) ● Estrategias de resolución y sus condiciones (en algunos casos)
Arquitectura de los Sistemas Expertos 3. La Base de Hechos
● La base de hechos o base de datos es una memoria auxiliar que se utiliza para almacenar los datos asociado al problema que se desea resolver. En ella también se registra los resultados intermedios obtenido a lo largo del procedimiento de deducción. ● Al memorizar todos los resultados intermedios, conserva el vestigio de los razonamientos efectuados; por lo tanto, se puede utilizar
Arquitectura de los Sistemas Expertos 3. La Base de Hechos
● La base de hechos es temporal, salvo necesidades del usuario, y depende exclusivamente de la situación estudiada.
Arquitectura de los Sistemas Expertos 4. El Motor de Inferencia ● El motor de inferencia (o mecanismo de inferencia) es la componente principal del SE cuya misión es obtener conclusiones mediante la aplicación del conocimiento abstracto (metodología de inferencias) sobre al conocimiento concreto (base de conocimiento) y los datos (base de hechos). ● La metodología de inferencia puede ser: ○ Encadenamiento hacia delante (forward chaining, progresivo o deductivo) ○ Encadenamiento hacia atrás (backward chaining, regresivo o inductivo)
Arquitectura de los Sistemas Expertos 4. El Motor de Inferencia
● Si el motor de inferencia no puede obtener conclusión, el sistema podrá solicitar a través del modulo de adquisición de conocimiento más conocimiento o través del módulo de interfase con el usuario más hechos, a fin de obtener alguna conclusión válida.
Arquitectura de los Sistemas Expertos 5. El Módulo de Adquisición de Conocimiento ● Es un subsistema que ayuda a la estructuración e implementación del conocimiento en la Base de Conocimiento. Este módulo permite que se puedan añadir, eliminar o modificar elementos de conocimiento en el sistema experto. ● El proceso de construir la Base de Conocimiento (transferir conocimiento del experto para el SE) es conocido como cognimática; las personas que realizan este proceso son llamados de cognimáticos o ingenieros
Arquitectura de los Sistemas Expertos 5. El Módulo de Adquisición de Conocimiento Algunas Consideraciones: 1. El conocimiento se debe introducirse de la forma más sencilla posible. 2. Posibilidades de representación clara de todas las informaciones contenidas en una base de conocimientos. 3. Comprobación automática de la sintaxis. 4. Posibilidad constante de acceso al lenguaje de programación.
Arquitectura de los Sistemas Expertos 6. El Módulo de Explicación ● Es un subsistema que tiene por objetivo dar una explicación de las conclusiones obtenidas o de las acciones ejecutadas por el Sistema Experto. ● Está diseñado para aclarar al usuario la línea de razonamiento seguida en el proceso de inferencia. ● Si el usuario pregunta al sistema cómo ha alcanzado una conclusión, éste le presentará la secuencia completa de reglas usada. Esta posibilidad de explicación es especialmente valiosa cuando se tiene la necesidad de tomar decisiones importantes amparándose en el consejo del sistema experto.
Arquitectura de los Sistemas Expertos 7. La Interfase de Usuario ● También denominado de sistema de consulta, es la componente que gobierna el dialogo entre el usuario y el sistema. Su objetivo es permitir un dialogo casi– natural con la máquina. ● El interfaz de usuario permite que el usuario pueda: describir el problema al sistema experto, interpretar sus preguntas, los comandos y la información ofrecida. ● Esta componente posibilita que la respuesta proporcionada por el sistema sea inteligible para el interesado. También puede solicitar más información si
Arquitectura de los Sistemas Expertos 7. La Interfase de Usuario
Requisitos o Características de la interfaz ● El aprendizaje del manejo debe ser rápido. ● Debe evitarse en lo posible la entrada de datos errónea. ● Los resultados deben presentarse en una forma clara para el usuario. ● Las preguntas y explicaciones deben ser comprensibles.
Taxonomía
Taxonomía
Existen varias formas de clasificar a los sistemas expertos: [Henao 2002] ● Por su funcionalidad o propósito. ● Por su estado de evolución. ● Por la forma de interacción con el usuario.
1. Taxonomía – Funcionalidad Esta clasificación es de acuerdo con la función que él realiza o el propósito para el cual fue desarrollado: Descubrimiento Diagnóstico Diseño Interprete Monitorización Planeación Descripción
1. Taxonomía – Funcionalidad
Descubrimiento: Sistemas que generan nuevos conceptos a partir de reglas y principios consistentes y permiten encontrar nuevas relaciones entre los datos. - PROSPECTOR: Para el descubrimiento de yacimientos de molibdeno. - AM: Para la formulación de conceptos y conjeturas sobre la teoría de números. - META-DENDRAL: Para el descubrimiento de reglas sobre la conducta de algunos compuestos en el espectrómetro de masas.
1. Taxonomía – Funcionalidad Diagnóstico: Para detectar las causas del mal funcionamiento de un sistema. - MYCIN: Diagnostica las causas de enfermedades infecciosas en un paciente. - ACE: Localiza las causas de fallas en redes telefónicas. - REACTOR: Encuentra las fallas en los sistemas de enfriado de reactores nucleares.
www.matthewtavares.com/GES_Documentation.html
1. Taxonomía – Funcionalidad Diseño: Con el objetivo de configurar estructuras a partir de unas condiciones iniciales. - XCON: Configura sistemas computarizados. - SECS: Genera complejos compuestos químicos. - PALLADIO: Diseña y prueba nuevos circuitos de tipo VLSI. detectar las causas del mal funcionamiento de un sistema.
http://www.ruleworks.co.uk/mobat/r1-soar. htm
1. Taxonomía – Funcionalidad Interprete: Sistema que infiere el significado de los datos (analiza los datos), es decir, sirve para determinar qué está sucediendo en un momento dado. - PROSPECTOR: Interpreta datos de muestras de material mineral para detectar yacimientos. - REACTOR: Interpreta los datos en tiempo real, de reactores nucleares. - CRYSALIS: Interpreta los datos de un mapa de densidad de electrones para inferir la estructura tridimensional de una proteína.
http://www.chromsmart.com/be-screen-captures. htm
1. Taxonomía – Funcionalidad Monitorización: Su objetivo es comparar el estado de un proceso real con el estado esperado, para detectar desviaciones y sugerir las correcciones. - YES/MVS: Controla y hace la monitorización de las funciones de un sistema operativo. - VM: Hace la monitorización del estado de un paciente en una sala de cuidado intensivo. - REACTOR: Hace la monitorización de los procesos de un reactor nuclear. http://domino.watson.ibm.com/tchjr/journalindex. nsf/0b9bc46ed06cbac1852565e6006fe1a0/e8fda97988a 5350385256bfa0067f649?OpenDocument
1. Taxonomía – Funcionalidad Planeación: Para plantear la mejor acción a realizar para alcanzar un objetivo. - THE UNDERWRITING ADVISOR: Ayuda al asesor de seguros en la determinación de si otorgar o no una póliza y en qué condiciones. - PLANNER: Hace la planeación estratégica de una organización.
http://www.jdi-solutions.co.uk/products.php?
product=expsys - KNOBS: Asiste en la planeación táctica de ataques aéreos. http://www.scambs.gov.uk/faqs/faq.htm? mode=20&pk_faq=33
1. Taxonomía – Funcionalidad
Predicción: Sistemas que infieren las probables consecuencias de una situación, utilizando modelos de simulación. - PLANT: Estima los daños potenciales de plagas sobre plantíos. - I&W: Predice los posibles lugares de conflictos armados. - PTRANS: Estima los requerimientos de manufactura de algún producto.
2. Taxonomía – Evolución del Sistema
Esta clasificación es de acuerdo con el grado de evolución que el sistema ha tenido. Es decir, que dependiendo de su propósito, cubrimiento y del conocimiento que maneja se tienen diversos estados del sistema [Waterman 86]: - Prototipo de demostración - Prototipo de investigación - Prototipo de campo - Modelo de producción - Sistema comercial
2. Taxonomía – Evolución del Sistema Prototipo de demostración: El sistema soluciona una porción del problema, sugiriendo que el enfoque es viable y el desarrollo del sistema es alcanzable. Es pequeño y se utiliza como estrategia de convencimiento de la utilidad del SBC. Prototipo de investigación: El sistema presenta un desempeño aceptable del problema pero puede ser frágil debido a que no se ha probado y revisado completamente. Es de tamaño mediano. Prototipo de campo: El sistema muestra un buen desempeño y ha sido revisado en el entorno del usuario. Es de tamaño que varía de mediano a grande.
2. Taxonomía – Evolución del Sistema
Modelo de producción: El sistema exhibe muy buena calidad, desempeño, rapidez y una ejecución eficiente en el entorno del usuario. Son grandes programas implementados en lenguajes eficientes. Sistema comercial: El sistema es un modelo de producción que está siendo usado regularmente en una base comercial.
3. Taxonomía – Interacción con el Usuario Esta clasificación se refiere a la forma como el SBC interactúa con el usuario en términos de compartir tareas y responsabilidades [Guida 94]: Sistema soporte: Sistema prescriptivo Sistema autónomo:
3. Taxonomía – Interacción con el Usuario
Sistema soporte: Es un SBC que puede darle soporte experto al usuario. Este sistema puede actuar en diferentes roles, como asistente, colega crítico, segunda opinión, asesor, consultor tutor, etc. Ofrece conocimientos y competencias pero no prescribe soluciones o decisiones. Actúa como un ayudante, sin la intención de reemplazar al experto. Sistema prescriptivo: Es un SBC que puede guiar, restringir y controlar la actividad de un usuario en la ejecución de una tarea compleja. Mejora la calidad y el tiempo de respuesta sin reemplazar a los expertos. Este sistema tiene la autoridad para mejorar los objetivos, restricciones, soluciones o decisiones. Sistema autónomo: No interactúa con ningún humano ya que se utiliza para reemplazarlos