Sistemas Expertos Introduccin Arquitectura Motor de Inferencias Ingeniera

  • Slides: 42
Download presentation
Sistemas Expertos Introducción Arquitectura - Motor de Inferencias Ingeniería Electrónica Ingeniería del Conocimiento 10/27/2020

Sistemas Expertos Introducción Arquitectura - Motor de Inferencias Ingeniería Electrónica Ingeniería del Conocimiento 10/27/2020 IIA - Sistemas Expertos 1

Inicio de los Sistemas Expertos 60´s 70´s Se buscaban soluciones generales Los sistemas son

Inicio de los Sistemas Expertos 60´s 70´s Se buscaban soluciones generales Los sistemas son más eficientes en dominios acotados La calidad y cantidad de conocimiento son esenciales para una buena performance Es importante independizar el conocimiento del dominio, del mecanismo de inferencia. 10/27/2020 IIA - Sistemas Expertos 2

Sistemas basados en conocimiento (SBC-KBS) Definiciones. Ø Sistemas que resuelven problemas aplicando una representación

Sistemas basados en conocimiento (SBC-KBS) Definiciones. Ø Sistemas que resuelven problemas aplicando una representación simbólica de la experiencia humana. Jackson. Ø Sistemas que representan el conocimiento sobre el dominio en forma explícita y separada del resto del sistema. Waterman. 10/27/2020 IIA - Sistemas Expertos 3

Sistemas basados en conocimiento (SBC-KBS) Definiciones. Ø Sistemas de software capaz de soportar la

Sistemas basados en conocimiento (SBC-KBS) Definiciones. Ø Sistemas de software capaz de soportar la representación explícita del conocimiento de un dominio específico y de explotarlo a través de mecanismos apropiados de razonamiento para proporcionar un comportamiento de alto nivel en la resolución de problemas. Guida y Taso 10/27/2020 IIA - Sistemas Expertos 4

Sistemas Expertos: Definición. Es un sistema de cómputo capaz de simular la conducta inteligente

Sistemas Expertos: Definición. Es un sistema de cómputo capaz de simular la conducta inteligente de un experto humano en un dominio específico y especializado, con el objeto de resolver problemas. Hardware + software Sistema de computación Simulación Conducta inteligente Experto Fuente de pericia humana en el dominio Dominio limitado 10/27/2020 Específico y especializado IIA - Sistemas Expertos 5

Experiencia humana vs. SE. Los humanos son aún imprescindibles. 10/27/2020 IIA - Sistemas Expertos

Experiencia humana vs. SE. Los humanos son aún imprescindibles. 10/27/2020 IIA - Sistemas Expertos 6

SE/SBC: Tareas Síntesis: Clasificación, diagnóstico Tareas abordadas Análisis: Planificación, diseño o modelado Las áreas

SE/SBC: Tareas Síntesis: Clasificación, diagnóstico Tareas abordadas Análisis: Planificación, diseño o modelado Las áreas de aplicación son muy variadas !!! Ø Los SBC abordan problemas complejos en dominios específicos en los que el peso de las heurísticas para acotar el espacio de búsqueda es importante. 10/27/2020 IIA - Sistemas Expertos 7

Primeros Sistemas Expertos MYCIN PROSPECTOR INTERNIST CASNET Stanford (Buchanan - Shortliffe 1976): Diagnóstico y

Primeros Sistemas Expertos MYCIN PROSPECTOR INTERNIST CASNET Stanford (Buchanan - Shortliffe 1976): Diagnóstico y tratamiento de enfermedades infecciosas (aprox. 500 reglas). Introduce factores de certeza. Stanford-US Geological Survey (Duda-Gashning. Hart, 1979): Evaluación de yacimientos minerales y petrolíferos. (aprox 1600 reglas). Probabilidades condicionales y Teorema de Bayes. Pittsburg (Pople-Myers, 1977): Diagnóstico en Medicina interna. CADUCEUS: Analiza relaciones causales. Rutgens (Kulikowsky-Weiss-Safir, 1977): Oftalmología. Aplica un modelo causal para el diagnóstico de glaucoma. Carnegie Mellon (Mc Dermott): Configuración de ordenadores VAX (aprox 500 reglas). Descompone el diseño en distintos niveles de abstracción. R 1 MOLGEN 10/27/2020 Stanford (Stefik): Diseño de experimentos genéticos. Utiliza abstracción. IIA - Sistemas Expertos Conocimiento inexacto Razonamiento experto Modelos causales Reducción espacio de búsqueda 8

Habilidades que se esperan de un SE Manipular con fluidez descripciones simbólicas. Buena perfomance,

Habilidades que se esperan de un SE Manipular con fluidez descripciones simbólicas. Buena perfomance, comparable al menos a la de los especialistas. Interfaz amigable, adecuada a las necesidades de la aplicación. Habilidad para manipular conocimiento incompleto e impreciso. Capacidad de explicar sus decisiones a los usuarios. Posibilidad de justificar sus conclusiones. 10/27/2020 IIA - Sistemas Expertos 9

Estructura básica de un SE. Ingeniero del conocimiento Experto del dominio 10/27/2020 K A

Estructura básica de un SE. Ingeniero del conocimiento Experto del dominio 10/27/2020 K A T Base de Conocimientos Motor de Inferencias IIA - Sistemas Expertos I n t e r f a c e U s u a r i o 10

Estructura básica de un Sistema Experto Base de Conocimientos Su estructura de datos queda

Estructura básica de un Sistema Experto Base de Conocimientos Su estructura de datos queda definida en términos del esquema de representación elegido para incorporar el conocimiento del dominio de trabajo. Separados entre sí Motor de Inferencias 10/27/2020 Es la estructura de control de un SE, contiene el programa que gestiona la BC y otros mecanismos necesarios para administrar un sistema de naturaleza interactiva. IIA - Sistemas Expertos 11

Periodo industrial de la IA Década de los 80 Importante apoyo económico a los

Periodo industrial de la IA Década de los 80 Importante apoyo económico a los esfuerzos de I+D. Gran cantidad de SE en distintos dominios. Problemas con la metodología de desarrollo Limitaciones propias del tipo de sistema. Comparable a la Crisis de los SI pero posterior 10/27/2020 IIA - Sistemas Expertos CRISIS 12

Ingeniería del Conocimiento (IC) Crisis SI Crisis SBC Desarrollo de la Ingeniería del Software

Ingeniería del Conocimiento (IC) Crisis SI Crisis SBC Desarrollo de la Ingeniería del Software Desarrollo de la Ingeniería del Conocimiento La Ingeniería del Software consiste en la aplicación de una aproximación sistemática, disciplinada y cuantificable al desarrollo, funcionamiento y mantenimiento del software. (IEEE, 1999) Ø La IC tiene los mismos objetivos respecto de los SBC 10/27/2020 IIA - Sistemas Expertos 13

SBC: Ventajas Ø El conocimiento no se pierde. Ø Reducción del espacio de búsqueda

SBC: Ventajas Ø El conocimiento no se pierde. Ø Reducción del espacio de búsqueda con heurísticas para que el problema sea tratable en un tiempo razonable. Ø Manejo de conocimiento incierto e incompleto. Ø Posibilidad de justificar el razonamiento seguido. Ø Hacer el conocimiento disponible en ambientes hostiles o con carencia de especialistas. Ø Aumento de fiabilidad, evitando que prevalezcan las últimas experiencias. 10/27/2020 Expertos 14 Ø Modificación sencilla de. IIAla- Sistemas BC por su característica modular.

SBC: Inconvenientes Ø La adquisición del conocimiento es difícil y cara. Ø La reutilización

SBC: Inconvenientes Ø La adquisición del conocimiento es difícil y cara. Ø La reutilización del conocimiento en contextos diferentes no es simple. Ø Falta de creatividad y sentido común. Ø Obstáculos para el aprendizaje y la adaptación. Quedan inmersos en el campo de los Sistemas Inteligentes. Se trabaja sobre metodología de desarrollo Se los combina con otras tecnologías 10/27/2020 IIA - Sistemas Expertos 15

SE basados en reglas de producción Sistemas de producción BC (Reglas) Newell y Simon

SE basados en reglas de producción Sistemas de producción BC (Reglas) Newell y Simon (1972): Al resolver problemas, las personas utilizan su memoria a largo plazo (permanente) que aplican a situaciones actuales contenidas en su memoria a corto plazo (transitoria). Esto puede generar modificaciones en la última. Memoria de trabajo (Hechos) Mundo Exterior Motor de Inferencias 10/27/2020 IIA - Sistemas Expertos 16

SE basados en reglas de producción Reglas de producción < CONDICION > < ACCION>

SE basados en reglas de producción Reglas de producción < CONDICION > < ACCION> Ä Son “gránulos” de conocimiento. ÄReúnen información relativa a las condiciones de disparo y a los efectos resultantes del disparo. Ä Son estructuras bidireccionales. SI ? X ES MAMIFERO Y ? X COME CARNE ENTONCES ? X ES CARNIVORO. 10/27/2020 IIA - Sistemas Expertos 17

SE basados en reglas de producción Ventajas: ÄNaturaleza modular: El conocimiento es fácil de

SE basados en reglas de producción Ventajas: ÄNaturaleza modular: El conocimiento es fácil de encapsular y expandir. Ä Explicaciones sencillas: El registro de reglas disparadas permite presentar la cadena de razonamiento asociada. Ä Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Ä Completitud y consistencia como responsabilidad del desarrollador. Ä Se necesitan otras estructuras para lograr una visión global del conocimiento del dominio. ØSe las combina con otros formalismos de representación. 10/27/2020 IIA - Sistemas Expertos 18

SE basados en reglas de producción MOTOR DE INFERENCIAS Dos formas de funcionamiento. Inductivo:

SE basados en reglas de producción MOTOR DE INFERENCIAS Dos formas de funcionamiento. Inductivo: A partir de un objetivo intenta verificar los hechos que los sostienen Deductivo: A partir de los hechos disponibles infiere todas las conclusiones posibles 10/27/2020 IIA - Sistemas Expertos BACKWARD CHAINING FORWARD CHAINING 19

SE basados en reglas de producción Encadenamiento hacia atrás - Backward Chaining. BH :

SE basados en reglas de producción Encadenamiento hacia atrás - Backward Chaining. BH : = CONOCIMIENTO INICIAL (HECHOS). HASTA OBJETIVO O SIN REGLAS PARA DISPARAR. Hechos iniciales REPITA (1) ENCONTRAR K CONJUNTO DE REGLAS, CUYAS CONCLUSIONES PUEDEN UNIFICARSE CON LA HIPÓTESIS (CONJUNTO DE CONFLICTO). (2) ELEGIR R DE K SEGÚN ESTRATEGIA DE SOLUCIÓN DE CONFLICTOS (POSIBLE BACKTRACKING). (3) SI LA PREMISA DE R NO ESTÁ EN BH, TOMARLA COMO SUBOBJETIVO. 10/27/2020 IIA - Sistemas Expertos Objetivo 20

SE basados en reglas de producción Backward Chaining: Ciclo base de un motor inductivo.

SE basados en reglas de producción Backward Chaining: Ciclo base de un motor inductivo. DETECCIÓN: SI EL OBJETIVO ES CONOCIDO ÉXITO. SINO, TOMAR LAS REGLAS QUE LO CONCLUYEN (CC). ELECCIÓN: DECIDIR QUE REGLA APLICAR (RC) APLICACIÓN: REEMPLAZAR EL OBJETIVO POR LA CONJUNCIÓN DE LAS CONDICIONES DE LA PREMISA ELEGIDA. 10/27/2020 IIA - Sistemas Expertos 21

SE basados en reglas de producción Ejemplo Backward Chaining: Primer paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Backward Chaining: Primer paso BASE DE REGLAS R 1: p q s Ø OBJETIVO: v R 2: r t Ø v BH ? R 3: s t u Ø v BH R 4: s r v Ø SIGUE BH: p q r 10/27/2020 IIA - Sistemas Expertos 22

SE basados en reglas de producción Ejemplo Backward Chaining: Segundo paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Backward Chaining: Segundo paso BASE DE REGLAS Ø MATCHING CON v R 1: p q s ØCC = { R 4 } R 2: r t Ø s BH? R 3: s t u Ø s BH R 4: s r v Ø s SUBOBJETIVO Ø SIGUE BH: p q r 10/27/2020 IIA - Sistemas Expertos 23

SE basados en reglas de producción Ejemplo Backward Chaining: Tercer paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Backward Chaining: Tercer paso BASE DE REGLAS R 1: p q s Ø MATCHING CON s R 2: r t ØCC = { R 1 } R 3: s t u Ø p BH? SI. R 4: s r v Ø q BH? SI. Ø DISPARA R 1. BH: p q r 10/27/2020 Ø BH s IIA - Sistemas Expertos 24

SE basados en reglas de producción Ejemplo Backward Chaining: 4º paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Backward Chaining: 4º paso BASE DE REGLAS R 1: p q s ØCC = { R 4 } R 2: r t Ø r BH? SI. R 3: s t u ØDISPARA R 4: s r v Ø BH v BH: p q r s 10/27/2020 IIA - Sistemas Expertos 25

SE basados en reglas de producción Ejemplo Backward Chaining: 5º paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Backward Chaining: 5º paso BASE DE REGLAS R 1: p q s R 2: r t ØOBJETIVO OK. R 3: s t u Ø FIN R 4: s r v BH: p q r s v 10/27/2020 IIA - Sistemas Expertos 26

SE basados en reglas de producción Encadenamiento hacia adelante - Forward Chaining. BH :

SE basados en reglas de producción Encadenamiento hacia adelante - Forward Chaining. BH : = CONOCIMIENTO INICIAL (HECHOS). HASTA OBJETIVO O SIN REGLAS PARA DISPARAR. Hechos iniciales REPITA: (1) ENCONTRAR K CONJUNTO DE REGLAS CUYAS PREMISAS CUMPLEN CON BH (CONJUNTO DE CONFLICTO-CC). (2) ELEGIR R DE K SEGÚN ESTRATEGIA DE SOLUCIÓN DE CONFLICTOS (RC). (3) DISPARAR R (RECORDAR R). 10/27/2020 Y ACTUALIZAR BH. IIA - Sistemas Expertos Objetivo 27

SE basados en reglas de producción Forward Chaining: Ciclo base de un motor deductivo.

SE basados en reglas de producción Forward Chaining: Ciclo base de un motor deductivo. DETECCIÓN: DETERMINAR EL CONJUNTO DE REGLAS APLICABLES ELECCIÓN: DECIDIR QUE REGLA APLICAR (RC) APLICACIÓN DISPARAR LA REGLA ELEGIDA Y ACTUALIZAR BH. 10/27/2020 IIA - Sistemas Expertos 28

SE basados en reglas de producción Ejemplo Forward Chaining: Primer paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Forward Chaining: Primer paso BASE DE REGLAS ØCC = { R 1, R 2 } R 1: p q s Ø R 1 RC R 2: r t Ø DISPARA R 1 R 3: s t u Ø BH s R 4: s r v Ø R 1 APLICADA BH: p q r 10/27/2020 IIA - Sistemas Expertos 29

SE basados en reglas de producción Ejemplo Forward Chaining: 2º paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Forward Chaining: 2º paso BASE DE REGLAS ØCC = { R 2, R 4 } R 1: p q s Ø R 2 RC R 2: r t Ø DISPARA R 2 R 3: s t u Ø BH t R 4: s r v Ø R 2 APLICADA BH: p q r s 10/27/2020 IIA - Sistemas Expertos 30

SE basados en reglas de producción Ejemplo Forward Chaining: 3 er paso BASE DE

SE basados en reglas de producción Ejemplo Forward Chaining: 3 er paso BASE DE REGLAS ØCC = { R 3, R 4 } R 1: (p q s) Ø R 3 RC R 2: (r t) Ø DISPARA R 3: s t u Ø BH u R 4: s r v Ø R 3 APLICADA BH: p q r s t 10/27/2020 IIA - Sistemas Expertos 31

SE basados en reglas de producción Ejemplo Forward Chaining: 4º paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Forward Chaining: 4º paso BASE DE REGLAS ØCC = {R 4 } (R 1: p q s) Ø R 4 RC (R 2: r t) Ø DISPARA R 4 (R 3: s t u) Ø BH v R 4: s r v Ø R 4 APLICADA BH: p q r s t u 10/27/2020 IIA - Sistemas Expertos 32

SE basados en reglas de producción Ejemplo Forward Chaining: 5º paso BASE DE REGLAS

SE basados en reglas de producción Ejemplo Forward Chaining: 5º paso BASE DE REGLAS (R 1: p q s) (R 2: r t) ØCC = { } (R 3: s t u) ØFIN (R 4: s r v) BH: p q r s t u v 10/27/2020 IIA - Sistemas Expertos 33

Sistemas expertos: Metaconocimiento Es el conocimiento estratégico vinculado a la utilización del conocimiento del

Sistemas expertos: Metaconocimiento Es el conocimiento estratégico vinculado a la utilización del conocimiento del dominio del Sistema Experto. Es conocimiento que predica sobre el conocimiento involucrado en el sistema. Métodos de implementación: Meta-reglas Funciones Activación o no de grupos de reglas específicas. Ordenación de las reglas dentro de los grupos. Definición de la búsqueda o no de conceptos asociados. PC-PLUS FINDOUT - NOFINDOUT Orden de las reglas Posibilidad de asignarles “pesos” numéricos. PC-PLUS UTILITY. 10/27/2020 KAPPA-PC PRIORITY IIA - Sistemas Expertos 34

Sistemas expertos: Metaconocimiento Enriquece y aporta a la perfomance de un Sistema Experto y

Sistemas expertos: Metaconocimiento Enriquece y aporta a la perfomance de un Sistema Experto y por sus características incluye: Elementos en el Motor de Inferencias: Demonios. Elementos en la Base de Conocimientos: Metareglas, PRIORITY, etc. Ejemplos de Metareglas en SEXP-1 IF Litología_Principal = Arenisca THEN Tratar sólo el grupo de reglas asociadas. IF Litología_Principal = Roca_Ignea THEN 10/27/2020 IIA - Sistemas Expertos No. Ask (Lista de valores) 35

Motor de Inferencias: Estructuras de control Funcionamiento sistemático Tipo de búsqueda implementada Ruptura Son

Motor de Inferencias: Estructuras de control Funcionamiento sistemático Tipo de búsqueda implementada Ruptura Son procedimientos especiales Demonios Elementos de metaconocimiento Se invocan a partir de cierto conocimiento deducido durante la ejecución de la aplicación. 10/27/2020 IIA - Sistemas Expertos 36

Estructuras de control: Demonios El demonio es una estructura de control que vigila constantemente

Estructuras de control: Demonios El demonio es una estructura de control que vigila constantemente el comportamiento del SE y se activa cuando encuentra determinadas condiciones en la BC. Disparador BC Procedimiento v Difieren de los procedimientos tradicionales, en que estos últimos responden a un llamado específico que los identifica y pone en acción. Personal Consultant-xx Kappa-PC 10/27/2020 Forward Chaining es un demonio, manejado mediante la propiedad ANTECEDENT de las reglas. Monitores: Demonios que se activan a partir de cómo maneja el sistema los objetos con los que se los asocia. IIA - Sistemas Expertos 37

SE: Herramientas Una herramienta para la construcción de sistemas expertos (expert system building tools-shell)

SE: Herramientas Una herramienta para la construcción de sistemas expertos (expert system building tools-shell) es un software para el desarrollo de sistemas expertos, : • un motor de inferencias, • forma/s de representar el conocimiento (BC vacía) y • una interfaz para el usuario final, Ø permite construir sistemas expertos agregando el conocimiento específico sobre el dominio particular que se quiere resolver. 10/27/2020 IIA - Sistemas Expertos 38

SE: Herramientas • KAPPA-PC (C - Intellicorp, software liberado) • CLIPS (C – NASA,

SE: Herramientas • KAPPA-PC (C - Intellicorp, software liberado) • CLIPS (C – NASA, software libre) • JESS (Java - Lic. académica) ----- • M 1 • Personal Consultant-Easy / PC-Pluss • INSIGHT 2 +. • VP-Expert Ø permiten construir sistemas expertos agregando el conocimiento específico sobre el dominio particular que 10/27/2020 39 se quiere resolver. IIA - Sistemas Expertos

Herramientas: Kappa-PC KAPPA-PC Es un shell, cáscara o Sistema Experto vacío Reglas y Objetos

Herramientas: Kappa-PC KAPPA-PC Es un shell, cáscara o Sistema Experto vacío Reglas y Objetos Formalismos de representación Funcionamiento del Motor de Inferencias El funcionamiento sistemático está definido, pueden personalizarse características (Forward-Backward) Posee herramientas de trace y debug. 10/27/2020 IIA - Sistemas Expertos 40

¿ Qué es Jess ? • JESS (Java Expert System Shell). • • http:

¿ Qué es Jess ? • JESS (Java Expert System Shell). • • http: //herzberg. ca. sandia. gov/jess/ (ejfried@ca. sandia. gov) Diseñado para integrar fácilmente Clips y Java. Originalmente (1995) era un clon de Clips, programado en Java. Hoy es mucho más. (versión actual: 7. 1) Objetivo: Aplicaciones Java + razonamiento de un sistema experto (reglas+motor de inferencias). Integración Ontología + inferencia 10/27/2020 IIA - Sistemas Expertos 41

Características • Utiliza el algoritmo de Rete para procesar las reglas. • Puede obtener

Características • Utiliza el algoritmo de Rete para procesar las reglas. • Puede obtener mayor rapidez que CLIPS. • Incluye encadenamiento hacia atrás (5. 0) • Permite manipulación directa de objetos Java (objetos definidos en Protege) • Incluye lógica difusa en la 5. 0 (Fuzzy. Jess): http: //ai. iit. nrc. ca/IR_public/fuzzy. JTool. Kit. html 10/27/2020 IIA - Sistemas Expertos 42