Source: http://docplayer.es/2572289-.html
Timestamp: 2018-02-20 19:51:04+00:00

Document:
Elisa Ruiz Castro
1 Inteligencia Artificial Fernando Berzal, Temario Sistemas Inteligentes de Gestión: Inteligencia Artificial y Sistemas Expertos Introducción a la Inteligencia Artificial Búsqueda en I.A. Sistemas expertos basados en reglas: CLIPS Lógica en I.A. PROLOG 1
2 Inteligencia Artificial Inteligencia Artificial Historia Definiciones Aplicaciones Sistemas expertos Historia Estructura de un sistema experto Características de un sistema experto Mecanismos de representación del conocimiento Métodos de razonamiento Sistemas expertos basados en reglas (S.E.B.R.) Motor de inferencia Encadenamiento hacia adelante y hacia atrás 2 Inteligencia Artificial Historia 1943 Circuitos booleanos como modelos del cerebro McCulloch & Pitts: A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5: Test de Turing Alan M. Turing: Computing Machinery and Intelligence", Mind LIX (236): , 460, doi: /mind/lix Inteligencia Artificial Dartmouth Summer Research Conference on Artificial Intelligence (John McCarthy, Marvin Minsky, Nathaniel Rochester, Claude Shannon, Ray Solomonoff, Oliver Selfridge, Trenchard More, Arthur Samuel, Herbert Simon & Allen Newell) 3
3 Inteligencia Artificial Historia 1950s Primeros programas con IA: LT [Logic Theorist], GPS [General Problem Solver] 1965 Algoritmo para razonamiento lógico de Robinson Estudios sobre la complejidad computacional. La investigación en redes neuronales casi desaparece Primeros sistemas basados en el conocimiento: DENDRAL, MYCIN, PROSPECTOR 4 Inteligencia Artificial Historia Años 80 Industria de la I.A. (boom de los sistemas expertos) Poco después: El invierno de la I.A. Modelo conexionista: backpropagation (1986) Las redes neuronales retoman su popularidad. Aplicaciones, p.ej. SAT solvers (problemas de satisfacción de restricciones), modelos ocultos de Markov (procesamiento del lenguaje natural) 5
4 Inteligencia Artificial Historia Años 90 Knowledge Discovery & Data Mining KDD workshop, Detroit, MI, August 20 th, Business rule engines (versión moderna de los sistemas expertos de los 80) Agentes inteligentes 6 Inteligencia Artificial Qué significa ser inteligente? La inteligencia se puede definir como la capacidad de resolver problemas o elaborar productos que sean valiosos en una o más culturas. -- Howard Gardner, Universidad de Harvard 7
5 Inteligencia Artificial Definiciones de Inteligencia Artificial Sistemas que ( piensan actúan ) ( racionalmente como humanos ) 8 Inteligencia Artificial Definiciones de Inteligencia Artificial: Sistemas que piensan como humanos El nuevo y excitante esfuerzo de hacer que los ordenadores piensen máquinas con mentes en el más amplio sentido literal (Haugeland, 1985) [La automatización de] actividades que vinculamos con procesos de pensamiento humano, actividades como la toma de decisiones, resolución de problemas, aprendizaje (Bellman, 1978) 9
6 Inteligencia Artificial Definiciones de Inteligencia Artificial: Sistemas que piensan racionalmente El estudio de las facultades mentales mediante el uso de los modelos computacionales (Charniak & McDermott, 1985) El estudio de cálculos que hacen posible percibir, razonar y actuar (Winston, 1992) 10 Inteligencia Artificial Definiciones de Inteligencia Artificial: Sistemas que actúan como humanos El arte de desarrollar máquinas con capacidad para realizar funciones que cuando son realizadas por personas requieren inteligencia (Kurzweil, 1990) El estudio de cómo lograr que los computadores realicen tareas que, por el momento, los humanos hacen mejor (Rich & Knight, 1991) 11
7 Inteligencia Artificial Definiciones de Inteligencia Artificial: Sistemas que actúan racionalmente La inteligencia computacional es el estudio del diseño de agentes inteligentes (Poole et al., 1998) IA está relacionada con conductas inteligentes en artefactos (Nilsson, 1998) IA construcción de agentes que se comportan racionalmente (dados los recursos disponibles) (Russell & Norvig, 1995) 12 Aplicaciones Sistemas de planificación Google Maps 13
8 Aplicaciones Visión artificial UC Berkeley project (funded by Caltrans) Microsoft Kinect 14 Aplicaciones Robótica Roomba irobot QRIO & AIBO Sony 15
9 Aplicaciones Vehículos autónomos Stanley 2005 DARPA Grand Challenge Winner 16 Aplicaciones Juegos IBM Deep Blue,
10 Aplicaciones Juegos RoboCup 18 Aplicaciones Reconocimiento de voz Android Voice Search Kinect (mic array) 19
11 Aplicaciones Procesamiento del lenguaje natural IBM Watson, 2011 Jeopardy! 20 Sistemas Expertos Encargados de realizar (o asistir en la realización de) tareas ejecutadas por expertos: Ingeniería (diseño, detección de fallos ) Análisis científico Diagnóstico médico Análisis financiero Configuración de componentes Sistemas de control y monitorización Educación [intelligent tutoring systems] 21
12 Sistemas Expertos Historia Dendral [ Dendritic Algorithm ] Universidad de Stanford, Edward Feigenbaum, Bruce Buchanan, Joshua Lederberg & Carl Djerassi Primer sistema experto, programado en LISP para la identificación de compuestos orgánicos analizando datos de espectroscopia de masas. 22 Sistemas Expertos Historia MYCIN Stanford Research Institute, 1970s Tesis doctoral de Edward Shortliffe bajo la dirección de Bruce Buchanan. Diseñado en LISP para identificar las bacterias causantes de infecciones severas (p.ej. meningitis) y recomendar antibióticos, con una dosis ajustada al peso del paciente [NOTA:: el nombre de muchos antibióticos termina con el sufijo -mycin ]. Separación entre datos y conocimiento (reglas). Manejo de incertidumbre mediante factores de certeza [CF: Certainty Factors]. ]. 23
13 Sistemas Expertos Historia PROSPECTOR Stanford Research Institute, R. Duda, P.E. Hart, N.J. Nilsson, et al. Evaluación del potencial minero de una localización geológica (lugares de exploración o prospección). Representación del conocimiento del experto (mediante una red de inferencia) y de su proceso de razonamiento (mediante el uso de técnicas de tipo probabilístico). 24 Sistemas Expertos Historia R1 / XCON [expert CONfigurer] Carnegie Mellon University, 1978 John P. McDermott Escrito en OPS5 para ayudar en la selección de componentes para la configuración de máquinas DEC VAX, de Digital Equipment Corporation (adquirida por Compaq en 1998, que se fusionó con HP en 2002). Puesto en marcha en 1980, en 1986 había procesado 80,000 pedidos y se estima que le ahorraba a DEC más de $40M al año. 25
14 Sistemas Expertos Historia CLIPS NASA Johnson Space Center, Gary Riley C Language Integrated Production System. Sintaxis y nombre inspirado en OPS ( Official Production System ), 1977, creado por Charles Forgy durante su doctorado con Allen Newell en CMU. Otros expert system shells, descendientes de CLIPS: Jess [Java Expert System Shell] FuzzyCLIPS, NRC, Canada 26 Sistemas Expertos Algunos sistemas expertos clásicos Medicina Química Matemáticas AM ( MYCIN, PUFF, ABEL, AI/COAG, AI/RHEUM, CADUCEUS, ANNA, BLUE BOX, ONCOCIN, VM, INTERNIST-I, I, CASNET CRYSALIS, DENDRAL, TQMSTUNE, CLONER, MOLGEN, SECS, SPEX AM (Automated Mathematician), EURISKO, SMP, MATHPERT CCH-ES, ExperTAX Informática PTRANS, BDS, R1/XCON, XSEL, XSITE, DART, SNAP, YES/MVS, TIMM Electrónica Ingeniería Geología ACE, IN-ATE, NDS, EURISKO, PALLADIO, IDEA, REDESIGN, CADHELP, SOPHIE REACTOR, DELTA (GE), JETA, STEAMER, SACON, CALLISTO, G2, SHARP, MARVEL, Pile Selection DIPMETER, LITHO, MUD, PROSPECTOR 27
15 Sistemas Expertos Algunos shells para sistemas expertos E-MYCIN [ Essential Essential/EmptyEmpty MYCIN ], Stanford Research Institute, OPS [ Official Production System ] Carnegie Mellon University, KEE [ Knowledge Engineering Environment ] para máquinas Lisp, IntelliCorp, 1983 CLIPS [ C Language Integrated Production System ] NASA Johnson Space Center, 1985 ESDE [ Expert System Development Environment ], para máquinas MVS y VM, IBM, 1986 JESS [ Java Expert System Shell ] Sandia National Labs, 1995 Drools [business rules engine] JBoss, Sistemas Expertos En qué áreas resultan útiles los sistemas expertos? En aquellas en las que haya expertos [humanos] que nos puedan proporcionar el conocimiento necesario (de ahí el nombre de sistemas expertos). 29
16 Sistemas Expertos Diferencias con respecto a la programación convencional (imperativa) Se separa el conocimiento de los mecanismos que permiten manipularlo: Apenas existen instrucciones en el sentido clásico. El programa consiste, básicamente, en declarar conocimiento (usualmente, en forma de reglas). Una caja negra (motor de inferencia) infiere nuevo conocimiento y determina el flujo de control. 30 Sistemas Expertos Datos En lenguaje natural: Los padres de Elena son Carlos y Belén. Los padres de Carlos son Juan y María. Declaración de hechos PROLOG: padres('carlos','belén','elena'). '). padres('juan','maría','carlos'). '). 31
17 Sistemas Expertos Conocimiento En lenguaje natural: Los padres de los padres son los abuelos. Programa en PROLOG : abuelos(abuelo,abuela,nieto) if padres(abuelo,abuela,hijo) and padres(hijo,mujerdelhijo,nieto). abuelos(abuelo,abuela,nieto) if padres(abuelo,abuela,hija) and padres(esposohija,hija,nieto). 32 Sistemas Expertos Uso de un sistema experto Consulta (objetivo):?- abuelos( Juan, María, Nietos). donde Nietos es una variable. Respuesta del intérprete/compilador de PROLOG: Nietos = Elena Conocimiento inferido (deducido) a partir de los hechos y las reglas conocidos por el sistema. 33
18 Sistemas Expertos Ejemplo Sistema de control de una planta industrial Datos: Temperatura actual del reactor 1 = 75º Conocimiento: Si la temperatura de cualquier reactor supera el umbral establecido, entonces activar el mecanismo de emergencia. 34 Sistemas Expertos Ejemplo Sistema de control de una planta industrial El conocimiento suele ser más estático que los datos, pero también puede cambiar ( refinarse ): Si la temperatura de cualquier reactor supera el umbral establecido, entonces activar el mecanismo de emergencia, hacer sonar la alarma y evacuar al personal. 35
19 Sistemas Expertos Datos vs. Conocimiento Datos Afirmaciones puntuales Suelen ser dinámicos Declaración extensiva Gran volumen Almacenamiento secundario Representación eficiente Conocimiento Afirmaciones generales Suele ser estático Declaración intensiva Pequeño volumen Almacenamiento en RAM Representación simbólica 36 Sistemas Expertos Estructura de un sistema experto Conocimiento Datos Motor de inferencia Nuevos datos y conocimiento 37
20 Sistemas Expertos Términos habituales en Psicología Memoria a largo plazo Memoria a corto plazo Razonamiento LTM [long-term memory]: Memoria a largo plazo. STM [short-term memory]: Memoria a corto plazo. 38 Sistemas Expertos Arquitectura de un sistema experto Base de conocimiento Memoria de trabajo Motor de inferencia KB [knowledge base]: Base de conocimiento. WM [working memory]: Memoria de trabajo. 39
21 Sistemas Expertos Arquitectura de un sistema experto Base de conocimiento Memoria de trabajo Motor de inferencia El motor de inferencia [inference engine] determina cuáles son las reglas aplicables en cada momento y se encarga de ejecutarlas. 40 Sistemas Expertos Ejemplo Regla 1. Si el coche no arranca, realice una comprobación de la batería Regla 2. Si el coche no arranca, compruebe el indicador de combustible Regla 75. Si se comprobado la batería y el voltaje de la batería es inferior a 10 voltios, entonces tiene que cambiar la batería. Regla 120. Si ha comprobado el indicador de combustible y el depósito de combustible está vacío, entonces hay que llenar el depósito. 41
22 Sistemas Expertos Ejemplo Regla 1. IF coche no arranca, THEN comprobar batería Regla 2. IF coche no arranca THEN comprobar combustible Regla 75. IF comprobar batería AND voltaje batería < 10V THEN cambiar batería Regla 120. IF comprobar combustible AND depósito de combustible vacío THEN llenar depósito. 42 Sistemas Expertos Ejemplo coche no arranca voltaje < 10 depósito vacío R1 coche no arranca voltaje <10 depósito vacío comprobar batería R75 coche no arranca voltaje <10 depósito vacío comprobar batería cambiar batería R2 coche no arranca voltaje <10 depósito vacío comprobar depósito R120 coche no arranca voltaje <10 depósito vacío comprobar depósito llenar depósito El motor de inferencia determina el orden en el que se aplican las reglas activas (aquéllas para las que se cumple su antecedente). 43
23 Sistemas Expertos Características de un sistema experto Separación de los datos y el conocimiento de su manipulación, lo que permite actualizar fácilmente la base de conocimiento o la base de datos sin tener que modificar el motor de inferencia ( shell ). Implementación del conocimiento explícito de un experto en un dominio concreto [ domain knowledge ] 44 Sistemas Expertos Características de un sistema experto Objetivo: Ayudar en la toma de decisiones (pero no sustituir al experto!!!). Consejo práctico: No intentar cubrir un área excesivamente grande. Dividirla en subproblemas y construir, para cada uno de ellos, un sistema experto específico que lo resuelva. 45
24 Sistemas Expertos Características de un sistema experto Razonamiento simbólico si una persona tiene fiebre y no es alérgica al ácido acetil salicílico (AAS) entonces suministrar aspirina 500 mg Pedro no tiene fiebre Pedro no es alérgico al AAS x x Fiebre(x) AlergiaAAS(x) Terapia(x,Aspirina500) Fiebre(Pedro) AlergiaAAS(Pedro) 46 Sistemas Expertos Características de un sistema experto Razonamiento heurístico Reglas heurísticas basadas en la experiencia de los expertos (que pueden fallar en situaciones concretas): Ante un problema de arranque, descartar que sea un fallo de carburación y chequear primero el sistema eléctrico. Si el tipo de interés está bajo, considerar invertir en acciones. Si el tipo de interés está alto, mejor invertir en bonos. Las personas no suelen coger una gripe en verano. Si se sospecha cáncer, comprobar el historial familiar. 47
25 Sistemas Expertos Características de un sistema experto Razonamiento inexacto (con incertidumbre) PROSPECTOR ( likelihoods [verosimilitudes]) MYCIN ( certainty factors [factores de certeza]) Si el paciente es un huésped de riesgo y existen reglas que mencionan a las pseudomonas y existen reglas que mencionan a las klebsiellas, entonces es plausible (0.4) que deban considerarse primero las segundas. 48 Sistemas Expertos Resumen de características Programas convencionales Programación imperativa Razonamiento algorítmico Control definido por el programador Difíciles de modificar Información precisa Se ofrece una solución como resultado final Solución óptima Sistemas expertos Programación declarativa Razonamiento heurístico Control determinado por el motor de inferencia Fáciles de modificar Información no precisa Se ofrece una recomendación razonada Solución aceptable 49
26 Representación del conocimiento Modelos de memoria Origen: Psicología Cómo estructuramos en nuestra mente datos y conocimiento (eminentemente estático)? EJEMPLO Dominio de discurso: Conjunto de clientes 50 Representación del conocimiento Modelos de memoria Modelos informáticos Representación relacional DNI Nombre Edad Saldo Z Pedro A Juan Representación orientada a objetos Clase Cliente: - Subclase de Persona. - Propiedades: Las heredadas de persona (DNI, nombre, edad) y saldo. - Instancias: Pedro y Juan 51
27 Representación del conocimiento Modelos de memoria Tripletas OAV (objeto-atributo-valor) Representan conocimiento simple en el que se enfatiza la relación entre un objeto y sus propiedades EJEMPLO Juan Altura 185cm Juan EsHijoDe María 52 Representación del conocimiento Modelos de memoria Redes semánticas / ontologías Representación gráfica del conocimiento en la que se representan como arcos las relaciones entre objetos: persona cliente tipo de (herencia) 185cm altura (propiedad) Juan es un (instancia) 53
28 Representación del conocimiento Modelos lógicos Representación formal de las relaciones existentes entre objetos (y entre los objetos y sus propiedades): Lógica Proposicional Lógica de Predicados 54 Representación del conocimiento Modelos lógicos Lógica Proposicional Se utilizan proposiciones que representan afirmaciones que pueden ser verdaderas o falsas. Las proposiciones se unen con operadores lógicos ( [y], [o], [no]), y se construyen reglas con el operador de implicación lógica ( ). Los mecanismos de inferencia permiten obtener nuevos datos a partir de los datos ya conocidos (por ejemplo, modus ponens, modus tollens ) 55
29 Representación del conocimiento Modelos lógicos Lógica Proposicional EJEMPLO: : Modus ponens p p q q si p y p implica q entonces q es un razonamiento válido porque q siempre será verdad, independientemente de lo que represente, cuando se cumplan p y p q. 56 Representación del conocimiento Modelos lógicos Lógica Proposicional EJEMPLO: : Modus ponens p = hace calor q = el profesor está incómodo Memoria de trabajo (datos): Base de conocimiento (reglas): Deducción (aplicando modus ponens): q p p q q pasa a formar parte de la memoria de trabajo. 57
30 Representación del conocimiento Modelos lógicos Lógica Proposicional EJEMPLO: : Modus tollens q si no q p q y p implica q p entonces no p es un razonamiento válido porque p siempre será falso, independientemente de lo que represente, cuando se no se cumpla q y se verifique p q. 58 Representación del conocimiento Modelos lógicos Lógica Proposicional EJEMPLO: : Modus ponens p = hace calor q = el profesor está incómodo Memoria de trabajo (datos) : q Base de conocimiento (reglas): p q Deducción (aplicando modus tollens): p seguro? 59
31 Representación del conocimiento Modelos lógicos Lógica Proposicional En un sistema experto que trabaje con lógica proposicional, el motor de inferencia será el encargado de decidir qué mecanismo de inferencia aplicar en cada momento. 60 Representación del conocimiento Modelos lógicos Lógica de Predicados La Lógica de Predicados añade la posibilidad de utilizar cuantificadores: (para todo) (existe) Mecanismos de inferencia: modus ponens, modus tollens, resolución EJEMPLO: : Lenguaje de programación PROLOG 61
32 Representación del conocimiento Modelos lógicos Lógica de Predicados Formalización de un modelo en Lógica de Predicados: Constantes (lista de objetos): Pedro, Juan, María El conjunto de todas ellas se denomina dominio de discurso. Semántica (proporcionada por el experto) Pedro Juan María 62 Representación del conocimiento Modelos lógicos Lógica de Predicados Formalización de un modelo en Lógica de Predicados: Predicados (relaciones entre objetos): quiere-a, casado-con, con, es-padre, es-abuelo Formalmente, un predicado necesita un nombre y se define enumerando los objetos sobre los que dicho predicado es verdad (es decir, como un subconjunto del producto cartesiano del dominio): quiere-a = {(Pedro,María), (Juan,María)} 63
33 Representación del conocimiento Modelos lógicos Lógica de Predicados Formalización de un modelo en Lógica de Predicados: Usualmente, los predicados se expresan como: quiere-a( a(pedro,maría) quiere-a( a(juan,maría) Pedro quiere a María Juan quiere a Ésta es la forma de representar hechos (datos) en Lógica de Predicados. 64 Representación del conocimiento Modelos lógicos Lógica de Predicados Formalización de un modelo en Lógica de Predicados: Para representar el conocimiento, se utilizan reglas, usualmente cuantificadas universalmente: x y z es-padre( padre(x,y) es-padre( padre(y,z) es-abuelo( abuelo(x,z) El motor de inferencia se encargará de emparejar los hechos con las reglas e ir aplicándolas. 65
34 Representación del conocimiento Modelos lógicos Otros modelos lógicos Existen otras lógicas que permiten incorporar aspectos como el tiempo, la incertidumbre, que hechos dejen de ser ciertos Lógicas modales Lógicas temporales Lógica difusa [fuzzy logic] Lógicas no monótonas 66 Representación del conocimiento Modelos mixtos Lógicas descriptivas [DL: Description Logic] Más expresivas que la lógica proposicional, pero limitándose a fragmentos decidibles de la lógica de predicados de primer orden. La base formal de los lenguajes de descripción de ontologías que se usan en la Web Semántica, p.ej. OWL [Web Ontology Language]. 67
35 Representación del conocimiento Modelos mixtos Lógicas descriptivas [DL: Description Logic] ABox [assertion component]: Hechos. A es una instancia de B. Juan es una persona. TBox [terminological component]: Descripción de un sistema mediante un vocabulario controlado (conjunto de definiciones y especializaciones). Todos los estudiantes son personas. Hay 2 tipos de personas: estudiantes y profesores. 68 Representación del conocimiento Modelos mixtos Lógicas descriptivas [DL: Description Logic] Base de conocimiento = ABox + TBox Desde el punto de vista lógico, la distinción ABox/TBox no es esencial, pero resulta útil en la práctica para resolver problemas concretos (comprobación de instancias en ABox, clasificación en TBox) para modelar correctamente un dominio particular (términos/conceptos en TBox [clases] y manifestaciones particulares de esos conceptos en ABox [instancias]). 69
36 Razonamiento hechos + conocimiento + estrategias conclusiones En sentido amplio, facultad humana que permite resolver problemas, extraer conclusiones de los hechos y aprender de manera consciente de los hechos estableciendo conexiones causales y lógicas necesarias entre ellos. En sentido más restringido, se suele hablar de diferentes tipos de razonamiento: razonamiento deductivo, razonamiento inductivo, razonamiento abductivo, razonamiento por analogías, razonamiento no monótono 70 Razonamiento Razonamiento lógico Proceso mental de realizar la inferencia de una conclusión a partir de un conjunto de premisas: Razonamiento deductivo Razonamiento inductivo Razonamiento abductivo Hasta ahora, sólo hemos visto ejemplos de razonamiento deductivo. 71
37 Razonamiento Razonamiento deductivo Estrictamente lógico: A partir de premisas verdaderas (hechos, axiomas, reglas ), sólo se obtienen conclusiones que siempre son verdaderas. EJEMPLO Dato: Conocimiento: Razonamiento: Inferencia: Sócrates es un hombre. Todos los hombres son mortales. Deductivo. Sócrates es mortal. 72 Razonamiento Razonamiento inductivo Se formulan conjeturas a partir de la observación de ciertos hechos, aunque no siempre sean ciertas (p.ej. técnicas de aprendizaje en I.A.). EJEMPLO Dato: Dato: Razonamiento: Inferencia: Sócrates es un hombre. Sócrates es mortal. Inductivo. Todos los hombres son mortales, o bien, Todos los mortales son hombres!! 73
38 Razonamiento Razonamiento abductivo Formula hipótesis de trabajo que luego se pueden aceptar o rechazar. EJEMPLO Dato: Conocimiento: Razonamiento: Sócrates es mortal. Todos los hombres son mortales. Abductivo. Inferencia: Sócrates es un hombre? 74 Sistemas expertos basados en reglas Modelos conductuales p.ej. Aprendizaje condicionado (perros de Pavlov) Antes Comida Timbre Salivación Sin respuesta Durante el condicionamiento Comida +timbre Salivación Después Timbre Salivación 75
39 Sistemas expertos basados en reglas Modelos conductuales p.ej. Aprendizaje condicionado (perros de Pavlov) 76 Sistemas expertos basados en reglas Producción: : Término utilizado en Psicología Cognitiva para describir relaciones entre situaciones y acciones. Regla de producción: : Término utilizado en I. A. para denotar un mecanismo de representación del conocimiento que implementa una producción. SI situación ENTONCES acción La situación (condición ó antecedente) establece las condiciones que se han de satisfacer en un momento dado para que la regla sea aplicable. La acción ó consecuente establece las acciones que se han de realizar cuando la regla se active. 77
40 Sistemas expertos basados en reglas La acción en una regla de producción puede involucrar: Añadir algún dato (hecho) a la memoria de trabajo. Suprimir algún dato de la memoria de trabajo. Ejecutar algún procedimiento. Ejemplo Base de conocimiento: Reglas de producción. Mecanismo de inferencia: Encadenamiento hacia adelante (p.ej. CLIPS). 78 Sistemas expertos basados en reglas Ejemplo: Guía de reparación del automóvil Regla 1. IF coche no arranca, THEN comprobar batería Regla 2. IF coche no arranca THEN comprobar combustible Regla 75. IF comprobar batería AND voltaje batería < 10V THEN cambiar batería Regla 120. IF comprobar combustible AND depósito de combustible vacío THEN llenar depósito. 79
41 Sistemas expertos basados en reglas Ejemplo: Guía de reparación del automóvil coche no arranca voltaje < 10 depósito vacío R1 coche no arranca voltaje <10 depósito vacío comprobar batería R75 coche no arranca voltaje <10 depósito vacío comprobar batería cambiar batería R2 coche no arranca voltaje <10 depósito vacío comprobar depósito R120 coche no arranca voltaje <10 depósito vacío comprobar depósito llenar depósito El motor de inferencia determina el orden en el que se aplican las reglas activas (aquéllas para las que se cumple su antecedente). 80 Sistemas expertos basados en reglas Ejemplo: Sistema experto de diagnóstico médico IF el paciente tiene manchas violáceas THEN proceder a realizar un test de alergias IF el paciente tiene manchas violáceas AND el resultado del test de alergias es negativo THEN añadir meningitis como posible diagnóstico IF el paciente tiene manchas violáceas AND el resultado del test de alergias es negativo THEN añadir problema sanguíneo como posible diagnóstico 81
42 Sistemas expertos basados en reglas Representación del conocimiento en un S.E.B.R. Datos: : Cualquier mecanismo de representación vale. vg. Tupla (Pedro,27,124000) Registro (C) Empleado ( Nombre=Pedro, Edad=27, Salario= ) Objeto (OO) Clase cliente (propiedades y métodos) Conocimiento: : Reglas. vg vg. SI condición ENTONCES acción SI antecedente ENTONCES consecuente 82 Sistemas expertos basados en reglas Motor de inferencia Cómo se van aplicando las reglas de la base de conocimiento sobre los hechos de la memoria de trabajo? El motor de inferencia es el encargado de hacerlo. Pueden utilizarse dos mecanismos básicos de inferencia: Hacia adelante (p.ej. CLIPS) Hacia atrás (p.ej. PROLOG). Se puede programar por completo (p.ej. en C) o utilizar un shell de sistema experto (que proporciona un lenguaje específico para declarar hechos y reglas y el motor de inferencia ya implementado). 83
43 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante Dada una regla R: si A entonces C La regla R se puede disparar, ejecutar o aplicar hacia adelante cuando se satisfacen las condiciones especificadas en su antecedente A. Cuando la regla se dispara, se procede a la ejecución de las acciones especificadas en su consecuente C. 84 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante Un motor de inferencia con encadenamiento hacia adelante: parte de unos hechos (datos en la memoria de trabajo), va cotejando (emparejando) los datos de la memoria de trabajo con los antecedentes de las reglas, y las va disparando hasta que se satisface algún objetivo o hasta que ninguna regla sea aplicable. 85
44 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante Emparejamiento Comparación de los antecedentes de cada regla con los hechos de la memoria de trabajo. Resultado: Conjunto de reglas que pueden aplicarse en cada momento ( conjunto conflicto ). 86 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante Resolución de conflictos Selección de una regla del conjunto conflicto (cuando exista más de una). Resultado: Regla seleccionada para su aplicación. 87
45 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante Ejecución de la regla La regla seleccionada se ejecuta (dispara); esto es, se ejecutan las acciones especificadas en su parte derecha. Principio de refracción: : La regla ejecutada no volverá a ser aplicable hasta que no desaparezca alguno de los hechos que hicieron posible su aplicación y vuelvan a afirmarse ( asertarse ) 88 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante EJEMPLO R0: IF hay placas (puntos blancos) en la garganta THEN diagnóstico: posible infección de garganta R1: IF garganta inflamada AND sospechamos infección bacteriana THEN diagnóstico: posible infección de garganta R2: IF temperatura paciente > 39 THEN paciente tiene fiebre R3: IF paciente enfermo más de una semana AND paciente tiene fiebre THEN sospechamos infección bacteriana 89
46 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante EJEMPLO M.T. C.C. Resolución temperatura = 40 enfermo dos semanas garganta inflamada Memoria de trabajo inicial: Datos provenientes de la exploración del paciente, p.ej. temperatura = 40 enfermo dos semanas garganta inflamada 90 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante EJEMPLO M.T. C.C. Resolución temperatura = 40 enfermo dos semanas garganta inflamada temperatura = 40 enfermo dos semanas garganta inflamada fiebre Si no aplicamos el principio de refracción, podríamos estar añadiendo indefinidamente el hecho de que la persona tiene fiebre. 91 R2 R2
47 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante EJEMPLO M.T. C.C. Resolución temperatura = 40 enfermo dos semanas garganta inflamada temperatura = 40 enfermo dos semanas garganta inflamada fiebre temperatura = 40 enfermo dos semanas garganta inflamada fiebre posible infección bacteriana R2 R3 R2 R3 92 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante EJEMPLO M.T. C.C. Resolución temperatura = 40 enfermo dos semanas garganta inflamada fiebre posible infección bacteriana temperatura = 40 enfermo dos semanas garganta inflamada fiebre posible infección bacteriana infección en la garganta R1 R1 Diagnóstico: Posible infección en la garganta 93
48 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia adelante EJEMPLO Si, en la exploración inicial, se hubiesen visto puntos blancos en la garganta, entonces tendríamos: M.T. C.C. Resolución temperatura = 40 enfermo dos semanas garganta inflamada puntos blancos en la garganta R0, R2??? Dependiendo del orden en que el motor de inferencia seleccione las reglas, podríamos llegar a un diagnóstico con menos pasos (si se elige R0 primero) o, incluso, puede que diferente. 94 Sistemas expertos basados en reglas Motor de inferencia: Encadenamiento hacia atrás Es obligatorio incluir un objetivo inicial (lo que pretendemos demostrar), que se se irá reemplazado por otros subobjetivos como resultado de aplicar las reglas hacia atrás. objetivo hechos 95
Fernando Berzal, berzal@acm.org Sistemas Expertos Sistemas expertos Historia Estructura de un sistema experto Características de un sistema experto Sistemas expertos basados en reglas (S.E.B.R.) Motor
Inteligencia Artificial Fernando Berzal, berzal@acm.org Inteligencia Artificial Qué es la Inteligencia Artificial? Definiciones de Inteligencia Artificial Racionalidad computacional Historia de la Inteligencia
Inteligencia Artificial Fernando Berzal, berzal@acm.org
Inteligencia Artificial Rafael Vázquez Pérez Agenda IA-Files Expedientes Secretos de la IA Que es la Inteligencia Artificial? Dominios de Aplicación 2 Experiencias Conclusión Expediente 1 In May 1997,
SISTEMAS EXPERTOS BOLETÍN TECNOLÓGICO ARJAC SEPTIEMBRE DE 2015 POR: MARÍA INÉS CALDERÓN ZETTER - XE1GNW
SISTEMAS EXPERTOS BOLETÍN TECNOLÓGICO ARJAC SEPTIEMBRE DE 2015 POR: MARÍA INÉS CALDERÓN ZETTER - XE1GNW Qué es un Sistema Experto? Un Sistema Experto (SE), es básicamente un programa de computadora basado
7. Programación lógica y Sistemas Expertos
7. Programación lógica y Sistemas Expertos CONTENIDO 7.1. Qué es un Sistema Experto? 7.2. Representación del conocimiento. 7.3. Mecanismos de razonamiento. 7.3.1.El mecanismo de razonamiento encadenado
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA PROYECTO FIN DE CARRERA
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA PROYECTO FIN DE CARRERA DEFUSI: Una herramienta para el diseño de sistemas difusos multinivel en problemas de
Área de Ingeniería Telemática Universidade de Vigo Fundamentos de Inteligencia Artificial Manuel Ramos Cabrer (Curso 2010/11) Objetivos Introducción a la disciplina de la Inteligencia Artificial desde
ESCUELA POLITÉCNICA DEL EJÉRCITO DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERA DE SISTEMAS E INFORMÁTICA CREACIÓN DE UN SISTEMA EXPERTO PARA EL TEST PROYECTIVO RORSCHACH QUE PERMITA LA CALIFICACIÓN,
Inteligencia Artificial Página 1 de 9 Programa de: Inteligencia Artificial UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas, Físicas y Naturales República Argentina Carrera: Ingeniería en Computación
Práctica 1: Introducción a CLIPS
C. Graciani Díaz F. J. Martín Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla CLIPS CLIPS C Language Integrated Production Systems http://clipsrules.sourceforge.net
INTELIGENCIA ARTIFICIAL INTRODUCCIÓN Juan Juárez Fuentes 1 Introducción John McCarthy, quien acuño el termino de Inteligencia Artificial en 1956, la define como La ciencia e ingeniería para hacer maquinas

References: resolución 
 resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución