Departamento de Informá Informática Departamento de Informá Informática Tema 3: Sistemas de Representació Representación del Conocimiento Basados en Reglas • Introducción al Razonamiento Basado en Reglas – Estructura de las reglas – Métodos de Inferencia • Encadenamiento hacia Delante [General y KAPPA, CLIPS] • Encadenamiento hacia Atrás [General y KAPPA] – Arquitecturas básicas Introducción a los Sistemas Basados en Reglas • Los SBC más usados y mal utilizados • Primeros SBC: DENDRAL, MYCIN, GenAID • Virtudes • Organizar las reglas • Realizar las inferencias – Simplicidad – Similitud con el razonamiento humano – Ventajas e Inconvenientes • • Detalles del Razonamiento Basado en Reglas Inconvenientes – Aproximación condicional mal interpretada – Problemas Tipo para Forward Chain • Confusión con Lógica en representación e inferencias • Similar a las estructuras condicionales en lenguajes procedimentales • Reglas con Patrones [General y Kappa, CLIPS] – Problemas Tipo para Backward Chain EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Departamento de Informá Informática Definición de Reglas • – • Importante Paradigma de Representación de Conocimiento ¿Dónde encaja? • Problemas de naturaleza heurística ¿Qué ofrece? – • Inferimos un nuevo conjunto de hechos ¿Qué es? – Representación natural para el conocimiento ¿Principales ventajas? – Situaciones / Acciones – “Si las nubes se aproximan por el oeste, el viento aumenta y hay relámpagos entonces se debe buscar protección a cubierto”. – “Si estamos conduciendo un auto y un vehículo de emergencia se aproxima entonces debemos reducir y apartarnos a un lado para permitir pasar al vehículo”. – “Si estamos cocinando un pastel y al pincharlo con un palillo éste sale limpio de masa, entonces debemos sacar el pastel del horno”. Comprobación del valor de verdad de un conjunto de hechos THEN: conclusiones/consecuente • – • • IF: premisa/condición/antecedente • • Tipos de Conocimiento Representables Estructura del tipo IF-THEN – Formato natural y de uso habitual por los expertos En “Resolución de Problemas” En Multitud de Dominios • Premisas / Conclusiones – “Si la temperatura es superior a 37º entonces es que tiene fiebre”. – “Si la temperatura exterior es bajo cero, el depósito no está vacío y el motor gira pero no arranca, entonces es muy probable que el conducto de gasolina esté congelado”. Antecedentes / Consecuentes – “Si X es un gato, entonces X es un animal”. “Si el desagüe está bloqueado y el grifo está abierto, entonces el suelo se va a mojar”. “Si no pagamos la factura de la luz, entonces las luces dejarán de funcionar”. – Más fáciles de implementar y comprender una vez implementados – – Capacidad de representar una amplia variedad de conocimiento – EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Necesidad de una cadena de inferencias Inferencia basada en Reglas • Inferencias basada en modus ponens de Lógica: • Sistema de predicción del tiempo en las próximas 12 horas en verano – Si A es un hecho cierto y (A→B) es cierto Entonces el hecho B se deriva que es cierto • • • ENTONCES hace calor R2: SI la humedad relativa >65% Proceso deductivo automático: (datos iniciales → objetivos) – Técnicas de búsqueda – Matching de patrones ENTONCES la atmósfera está húmeda R3: SI hace calor y la atmósfera está húmeda ENTONCES es probable que haya tormentas – Ejecución/Disparo de regla – Nuevos hechos se hacen ciertos – Se activan nuevas reglas Hechos: Sentencias ciertas dentro de la base de conocimientos La temperatura ambiente es de 23ºC La humedad relativa es del 70% Hace calor La atmósfera está húmeda Resolución de un problema – REGLAS: Entre otras… R1: SI la temperatura ambiente > 20º Obtener una secuencia/cadena de inferencias de los datos iniciales a los objetivos EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Es probable que haya tormentas EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Departamento de Informá Informática Necesidad de una cadena de inferencias • Simplificación de reglas R123: SI la temperatura ambiente > 20º y la humedad relativa >65% ENTONCES es probable que haya tormentas • Problema: – La atmósfera está húmeda Proceso de Razonamiento en SBRs • Progresión de un conjunto de datos de partida hacia una respuesta • Existen distintas formas de alcanzar el objetivo – • Hace calor Inhabilita toda regla que usa – Permite asociar factores de certeza a las conclusiones R123: SI la temperatura ambiente > 20º y la humedad relativa >65% ENTONCES es probable que haya tormentas (0.8) EPSIG – Ingeniería del Conocimiento • Jorge Puente Peinador Partimos de los datos conocidos y se avanza de forma natural hacia las conclusiones. Resulta útil cuando los datos de partida son pocos y/o existen muchas posibles conclusiones. Encadenamiento hacia atrás o dirigido por objetivos (Backward Chaining) – – – – Ventaja adicional: Tipo del problema y la forma de trabajar del experto Encadenamiento hacia delante o dirigido por datos (Forward Chaining) – – para otros propósitos • • Jorge Puente Peinador Partimos de una hipótesis / posible solución Buscamos evidencias que lo verifiquen Útil en problemas con muchos datos de partida y sólo unos pocos son relevantes Evita evaluar información de partida innecesaria No son incompatibles: Ejemplo relación paciente ↔ médico EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Grafo del problema de identificació identificación de frutas Ejemplo de identificación de frutas Regla 1 IF Forma = Larga AND Color = verde o amarillo THEN Fruta = platano Regla 2 IF Forma = Redonda o Ensanchada AND Diametro > 10 cm. THEN clase de frutal = emparrado Regla 3 IF Forma = Redonda AND Diametro < 10 cm. THEN clase de frutal = arbol Regla 4 IF nºsemillas = 1 THEN tipo semilla = hueso Regla 5 IF nºsemillas > 1 THEN tipo semilla = multiple Regla 7 IF tipo de frutal = emparrado AND superficie = liso AND Color = amarillo THEN fruta = melon Regla 11 IF tipo de frutal = arbol AND Color = rojo AND tipo semilla = hueso THEN fruta = cereza Regla 8 IF tipo de frutal = emparrado AND superficie = rugosa AND Colo = tostado THEN fruta = cautalupo Regla 12 IF tipo de frutal = arbol AND Color = rojo o amarillo o verde AND tipo semilla = multiple THEN fruta = manzana Regla 9 IF tipo de frutal = arbol AND Color = naranja AND tipo semilla = hueso THEN fruta = albaricoque Regla 13 IF tipo frutal = arbol AND Color = naranja AND tipo semilla = hueso THEN fruta = melocoton Regla 10 IF tipo de frutal = arbol AND Regla 6 Color = naranja AND IF tipo de frutal = emparrado AND tipo semilla = multiple Color = verde fruta = naranja EPSIG – Ingeniería del ConocimientoTHEN THEN fruta = sandia Regla 14 IF tipo frutal = arbol AND Color = morado AND tipo semilla = hueso Puente Peinador THEN frutaJorge = ciruela Contenido del Grafo del Problema: − Conocimiento empleado en el problema − Datos de Entrada − Conclusiones Intermedias − Soluciones − Como se relaciona para alcanzar la solución Es independiente de la representación final Reglas : Relaciones entre atributos Regla 1 IF THEN Regla 11 IF THEN Forma = Larga AND Color = verde o amarillo Fruta = platano tipo de frutal = arbol AND Color = rojo AND tipo semilla = hueso fruta = cereza EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Departamento de Informá Informática Resolución del problema de las frutas • – – – – • • • Diseño Configuración Planificación • Partimos de una hipótesis de que fruta es. Vemos si las características de la fruta confirman la hipótesis El sistema pedirá únicamente la información que sea necesaria para ella Tras encontrar la solución el proceso puede detenerse o satisfacer otro objetivo Problemas adecuados: Diagnóstico EPSIG – Ingeniería del Conocimiento Se verifican sus premisas – Ejecución: disparo de una regla satisfecha Encadenamiento hacia atrás (dirigido por objetivos) – – – – – Proceso denominado “Interpretación de Reglas” – Punto de Partida: la información conocida – Búsqueda: se identifican las reglas satisfacibles Partimos de las características observadas de la fruta Los datos nos encaminan a la solución. Potencialmente puede haber varias soluciones igual de válidas. Problemas adecuados: Síntexis • Encadenamiento Hacia Delante • Encadenamiento hacia delante (dirigido por datos) Jorge Puente Peinador Jorge Puente Peinador Nuevos hechos son derivados Nuevas reglas pueden ser satisfacibles Motor de Inferencias en Forward Chaining – Responsable de la Interpretación de Reglas – Proceso iterativo: 1. 2. 3. 4. Matching Resolución de Conflictos Ejecución Reset EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Etapas del Forward Chaining Etapas del Forward Chaining 1. Matching • • 3. Ejecución Se comprueban todas las reglas de la Base de Conocimientos Se identifican las reglas “relevantes” con respecto a la Base de Hechos • • • • Reglas satisfacibles Reglas que referencien el último conocimiento derivado Reglas que aporten conocimiento nuevo … – Disparo de la regla. – Resultado: • • 4. Reset – Opcionalmente: Se eliminan las marcas de las reglas relevantes 2. Resolución de Conflictos – En caso de haber varias reglas relevantes • • ¿cuál se dispara? Fin – – Se establece un criterio de “prioridad” • Se añaden nuevos hechos a la BH Nuevas reglas pueden ser activadas No existe más reglas relevante Se selecciona la más prioritaria EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Frutas: Forward Chaining • Frutas: Forward Chaining • Debemos definir como interpretar las 4 etapas 1. Matching • Reglas relevantes: buscamos reglas que sus premisas sean ciertas Base de datos Inicial – – – – Diametro = 3 cm Forma = redonda Nºsemillas = 1 Color = rojo • Base de datos Final – – – – … Clase Frutal = árbol Tipo Semilla = hueso Fruta = cereza 1. Resolución de Conflictos • Si hay más de una: • • Ciclo de Ejecución Se filtran las que no aportan conocimiento nuevo. La más prioritaria es la que aparece en primer lugar. 1. Ejecución • • Se dispara la regla más prioritaria Si no hay reglas aplicables se finaliza 1. Reset • Se borra la lista de reglas relevantes EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Reglas Relevantes Regla seleccionada Hecho Derivado 1 3, 4 3 Clase Frutal = árbol 2 3, 4 4 Tipo Semilla = hueso 3 3, 4, 11 11 Fruta = cereza 4 3, 4, 11 – EPSIG – Ingeniería del Conocimiento – Jorge Puente Peinador Departamento de Informá Informática Forward Chain en Kappa • • • Estructuras de control – – Etapas de un ciclo: – – – – Matching Resolución de Conflictos Ejecución Reset • ¿Premisas? Obj:Slot R1 … Rk Objn:Slotn Forward Chain en CLIPS Objetos 8 8 9 • Prioridades Selective, DepthFirst, BreadthFirst, BestFirst Diferencias: Inserción en Agenda y en LRA Modelo basado en Agenda y activaciones – Reglas consideradas: solamente las que son satisfacibles con los hechos actualmente definidos – Motor de Inferencias: Algoritmo RETE optimizado basado en activaciones • Eficiencia basada en el estudio de los hechos que pueden activar/desactivar una regla – Forma parte del proceso de definición de la propia regla en CLIPS • Se minimiza el proceso de búsqueda de reglas satisfacibles Rm LRA * Estrategias de control * – * General Goals • – – ∈ IF? Agenda Final – – ¿Ri| Obj:Slot Agenda Lista de Reglas Activas (LRA) Departamento de Informá Informática Nuevos Hechos (Obj:Slot) Disparo Rk Objetos Numéricas EPSIG – Ingeniería del Conocimiento – Activación de una regla: Conjunto de hechos que hacen ciertas sus premisas – Agenda: estructura de control, pila de activaciones. • Se actualiza cada vez que se modifican los hechos • Ciclo: Se dispara la activación del tope de la pila • No se dispara dos veces la misma activación. – Excepción: que se modifiquen los hechos y una activación vuelva a ser válida. – Fin de las inferencias: Agenda queda vacía. Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Departamento de Informá Informática Encadenamiento Hacia Atrás • Pasos del Backward Chain La interpretación de reglas difiere con el F.C. 1. Pila inicial compuesta por todos los objetivos iniciales – Partimos de una conclusión deseada – ¿Los hechos iniciales derivan un valor para nuestro objetivo? – Similar a una búsqueda en profundidad • Base de Hechos Inicial: “generalmente” vacía • Pila de Objetivos (Goals) – Inicialmente los objetivos de partida – Estructura de control que guía la búsqueda – El sistema intenta derivar valores para ellos EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador 2. Selección del objetivo actual: • • El tope de la pila Localizamos todas las reglas que lo satisfagan 3. Se examinan las premisas de dichas reglas: a. Si todas las premisas se satisfacen • • • • Goals: (Fruta) Se Se Se Se ejecuta la regla derivan sus conclusiones desapila el objetivo actual vuelve al paso 2. ... Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Pasos del Backward Chain 3. ... Se examinan las premisas de dichas reglas: b. c. • • Se apila la premisa como objetivo y al paso 2 Base de Hechos Inicial: ( ) Goals iniciales: (Fruta) Si una premisa es desconocida y no existe regla que la fije • • • • Se pregunta la premisa al usuario Se añade la premisa a la BH Si la premisa satisface la regla – Se examina la siguiente premisa Sino – Se descarta la regla y se pasa a la siguiente regla Base de Hechos Final: ((Forma=redonda) (Diametro=3cm) Inferencia (TipoDeFrutal=arbol) (Color=rojo) User (nºsemillas=1) User Inferencia (TipoSemilla=hueso) Inferencia (Fruta=cereza)) User User Si todas las reglas son falsas • • • Hipótesis: “Suponemos que la fruta es una cereza” ... Si una premisa es desconocida y existe regla que la fije • 4. Frutas: Backward Chain Se etiqueta el objetivo como desconocido en la BH Se extrae el objetivo de la pila y al paso 2 FINAL: la pila queda vacía y se devuelve el valor de los objetivos iniciales Tipo semilla R4,R5 Tipo de frutal R2,R3 Fruta R1,R6,R7,R8,R9,R10,R11,R12,R13,R14 Pila de Objetivos EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Jorge Puente Peinador Departamento de Informá Informática Backward Chain en Kappa Fases Backward Chain en Kappa 1. Fase de Expansión • Objetivos: • • • • MakeGoal(NombreGoal, <expresion-KAL>); Subobjetivos iniciales: {Obj:Slot | Obj:Slot Ejecución: ∈ <expresion-KAL>} • BackwardChain([NOASK],NombreGoal,ListaReglas); 1. Fase de Expansión 2. Fase de Evaluación TRUE FALSE 2. Fase de Evaluación • • • NULL 3. Fase de Consulta (al usuario) • Diferencias con el método general – – • • • • Pregunta al usuario sólo como última opción EPSIG – Ingeniería del Conocimiento Se dispara la regla satisfecha -> se actualizan la base de hechos (objetos) ¿Se verifica el objetivo? SI -> FIN ¿Se satisface alguna otra regla? SI -> 2 3. Fase de Consulta (al usuario) Examina todas las alternativas para fijar un objetivo a la vez Infiere todo lo posible con el conocimiento disponible • Se selecciona un subobjetivo Se buscan y examinan todas las reglas que lo fijan • Las premisas desconocidas se marcan como futuros subobjetivos • Si una regla se satisface se pasa a 2 Si no existen reglas o no se satisface aún ninguna • Se marca como pendiente • Se pasa al sgte subobjetivo Jorge Puente Peinador Se pregunta al usuario por un subobjetivo pendiente – Se actualiza la base de hechos (objetos) FIN: Si se puede evaluar el Goal inicial Si existe una regla satisfecha -> 2 Si quedan subobjetivos pendientes -> 3 EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Arquitecturas Basadas en Reglas Redes de Inferencia • Representación del conocimiento mediante Reglas – Distintos niveles de complejidad del conocimiento – Distintas estructuras/organizaciones para representación/manipulación • Representación del conocimiento • Nodos: Hechos – – Grafo de interconexión de hechos Establecen para un atributo del problema un valor determinado • • Representaciones Básicas – – Redes de conocimiento(/inferencia) • Encaje Preciso: – Conclusiones de las reglas – Premisas de otras reglas • – Sistemas de patrones • Premisas y conclusiones más genéricas • Encaje dinámico – Conclusiones son un conjunto de hechos – Premisas descritas por patrones (variables) EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Temp-amb >20 Hum-rel >65 R1 (Opcionalmente) asociado medida de incertidumbre R2 Función • • Conclusión de una regla Premisa de una regla Hace calor Atm. húmeda Interconexiones: Reglas – Conocimiento necesario para propagar resultados por la red • Ventajas: • Ejemplos (a gran escala): – – – – R3 Encaje de reglas en tiempo de diseño Simple Resolución de Conflictos y Búsqueda de Reglas Diagnóstico: MYCIN y GenAID Clasificación: PROSPECTOR Tormenta EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Representación del conocimiento – – • Necesaria una Base de Hechos Las reglas presentan variables – Encaje de reglas en tiempo de ejecución – – – Correspondencia de patrones Búsqueda en la Base de Hechos Criterios de selección de la regla a disparar • Categorías de los posibles problemas – Encadenamiento Infinito (*) Patrones <-> Hechos – Adición de conocimiento nuevo y contradictorio (*) – Modificación de las reglas existentes Matching de reglas – – • THEN tipo de frutal = arbol AND Color = rojo AND tipo semilla = hueso fruta = cereza Mayor complejidad: • • Regla 11 IF Departamento de Informá Informática Inconvenientes de los Sistemas Basados en Reglas Sistemas de Patrones • Jorge Puente Peinador Similar a la unificación en Prolog Se disparan instancias de reglas (*) Gran Mito de los Sistemas Basados en Reglas “Si un sistema no funciona adecuadamente todo lo que hace falta es añadir más reglas” Ventajas – Diseño más flexible EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Inconvenientes de los Sistemas Basados en Reglas Inconvenientes de los Sistemas Basados en Reglas • Encadenamientos Infinitos • Encadenamientos Infinitos (y II) – Producidos al añadir reglas a la Base de Conocimientos – Producidas por varias reglas encadenadas entre sí Ejemplo: Ejemplo: Regla15: IF la tasas de las hipotecas es alta Y aumentan las construcciones THEN existe mercado de compradores Regla23: IF riesgo-de-leucemia(Persona) THEN riesgo-de-leucemia(hijo(Persona)) B.D.:riesgo-de-leucemia(Juan) y ForwardChain → Encadenamiento infinito Regla34: IF la inflacción es alta Y el TAE > 12% THEN las hipotecas estan altas Regla57: IF riesgo-de-leucemia(padre(Persona)) THEN riesgo-de-leucemia(Persona) Regla30: IF es dificil pedir un prestamo Y hay un mercado de compradores Y los intereses a corto plazo > 13% THEN la inflacción es alta Goal: riesgo-de-leucemia(Tomas) y BackwardChain → Encadenamiento infinito EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Inconvenientes de los Sistemas Basados en Reglas • Modificación de reglas existentes – Se introduce conocimiento para fijar un problema en la B. de C. – Como efecto secundario se introduce una contradicción Regla107: IF llueve THEN not(el tiempo es soleado) Hechos: es el ocaso del día y la localización es Almería ok Ejemplo: contradicción Ejemplo: Regla96: IF es el ocaso del día THEN el tiempo es soleado o el tiempo esta nuboso Regla120: IF es el ocaso del día y la localización es Almería THEN llueve EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Inconvenientes de los Sistemas Basados en Reglas • Adición de conocimiento Nuevo y Contradictorio Regla109: IF la localización es Almería THEN not(el tiempo es nuboso) Jorge Puente Peinador Regla302: IF organismo = estreptococo O organismo = gonorrea THEN prescripción = penicilina Fallo del ingeniero: ¿Si el paciente es alérgico a la penicilina? Solución: Regla302A: IF organismo = estreptococo O organismo = gonorrea THEN droga_indicada = penicilina Regla302B: IF droga_indicada = penicilina Y desconocido(alergia_a = penicilina) THEN preguntar(alergia_a = penicilina) Regla302C: IF droga_indicada = penicilina Y not(alergia_a = penicilina) THEN prescripción = penicilina Problema: ¿Y el resto de alergias? → 3 Reglas x alergia Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Inconvenientes de los Sistemas Basados en Reglas • Modificación de reglas existentes Inconvenientes de los Sistemas Basados en Reglas • Otros Inconvenientes … Solución: Uso de variables – Ineficiencia derivada de los patrones: combinan búsqueda y Matching • Existen mejores implementaciones: Algoritmo RETE Regla302A: IF organismo = estreptococo O organismo = gonorrea – Opacidad: difícil saber cuando se disparan las reglas. THEN droga_indicada = penicilina • La división del conocimiento en paquetes facilita su manejo Regla302B: IF droga_indicada = ?droga Y desconocido(alergia_a = ?droga) THEN preguntar(alergia_a = ?droga) – Conseguir cubrir todo el dominio: dominios con gran variedad de casos Regla302C: IF droga_indicada = ?droga Y not(alergia_a = ?droga) • Ej: Controladores de vuelo: aviones, meteorología, día/noche,… THEN prescripción = ?droga EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Departamento de Informá Informática Tema 3b: Sistemas de Representació Representación del Conocimiento Basados en Reglas • Aplicaciones del Encadenamiento hacia delante • Introducción al Razonamiento Basado en Reglas Jorge Puente Peinador Monitorización y diagnosis – Sistemas de control de procesos en tiempo real – De forma continua: recogen/modifican/actualizan datos – Características: – Estructura de las reglas – Métodos de Inferencia • Encadenamiento hacia Delante [General y KAPPA] • Encadenamiento hacia Atrás [General y KAPPA] • Necesitan una respuesta rápida ante cambios de los datos • Existen mínimas relaciones directas entre Datos de Entrada y Conclusiones – Arquitecturas básicas • Organizar las reglas • Realizar las inferencias • – Ventajas e Inconvenientes Problemas de síntesis – Las soluciones potenciales son múltiples • En función de los Datos de Entrada • Detalles del Razonamiento Basado en Reglas – Las soluciones no pueden se enumeradas – Problemas Tipo para Forward Chain • Las reglas codifican acciones para construir la solución – Las reglas expresan conocimiento mediante patrones generales – No es posible a priori: un grafo preciso de los encadenamientos • Reglas con Patrones [General y Kappa] – Problemas Tipo para Backward Chain EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Red de Inferencias inundación Departamento de Informá Informática evacuación Departamento de Informá Informática Sistema de Control de Inundaciones R1 IF mes = may ..oct THEN estacion = humeda lluvia cambio R2 IF mes = nov..abril THEN estacion = seca nivel R3 IF precip = ninguna AND estacion = seca THEN cambio = bajando estación R5 IF precip = ligera THEN cambio = ninguno R6 IF precip = fuertes THEN cambio = subiendo R4 IF precip = ninguna AND estacion = humeda THEN cambio = ninguno predicción precipitaciones mes EPSIG – Ingeniería del Conocimiento profundidad Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Sistema de Control de Inundaciones (y II) Departamento de Informá Informática Sistema de Control de Inundaciones (y III) R13 IF THEN profundidad < 3 nivel = bajo R7 IF nivel = bajo THEN inundacion = no AND evac = no R14 IF THEN profundidad >= 3 AND <= 5 nivel = normal R8 IF cambio = ninguno o bajando AND nivel = normal o bajo THEN inundacion = no AND evac = no R15 IF THEN profundidad > 5 nivel = alto R9 IF cambio = subiendo AND nivel = normal AND lluvia = fuerte THEN inundacion = si (F.C.= 0.4) AND evac = no R16 IF THEN prediccion = soleado lluvia = no R10 IF cambio = subiendo AND nivel = normal AND lluvia = ligera THEN inundacion = no AND evac = no R17 IF THEN prediccion = nuboso lluvia = ligera R11 IF cambio = subiendo AND nivel = alto AND lluvia = ninguna o ligera THEN inundacion = si (F.C.= 0.5) AND evac = si (F.C.= 0.2) R18 IF THEN prediccion = tormenta lluvia = fuerte R12 IF cambio = subiendo AND nivel = alto AND lluvia = fuerte THEN inundacion = si AND evac = si (F.C.= 0.8) EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Problema del embalaje • • Problema del embalaje Problema de síntesis – – – Muchas posibles combinaciones válidas ForwardChaining Necesidad de Patrones Resolución del problema • Las Reglas • Conocimiento dividido en grupos 1. Embalar objetos frágiles – Previamente deben ser empaquetados individualmente. – – En cajas que no contengan objetos frágiles Máximo 4 objetos pesados x caja 2. Embalar objetos pesados • 3. Embalar objetos medianos – En cajas que no contengan objetos frágiles – – – – – Consideraciones – – No se busca optimizar el número de cajas. No hay limitación en cajas y todas tienen tamaño 10 EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Todas las reglas consultan la etapa actual para poder ejecutarse Cambio de tipo de objetos una vez embalados todos los actuales Conocimiento divido en grupos: • Frágiles: [R1-R4] Pesados: [R5-R7] Medianos: [R8-R10] Ligeros: [R11-R13] Resolución de Conflictos – Conflictos – Criterio 4. Embalar objetos ligeros donde hay sitio • Premisas: situaciones Conclusiones: una acción • • • • Los mismos datos satisfacen varias reglas: Premisas(Ri) ⊂ Premisas(Rj) Los patrones pueden instanciar una regla para varios objetos La Regla instanciada con mayor número de premisas Ante múltiples instanciaciones, seleccionamos el objeto que aparece en 1º lugar EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Etapa Objetos Frágiles REGLA 5 IF Paso es embalar-objetos-pesados Existe un objeto pesado a embalar Existe una caja vacia o una caja que no contenga objetos fragiles o una caja que contenga < 4 objetos pesados El espacio libre de la caja es >= que el tamaño del objeto pesado THEN Poner el objeto pesado en la caja Decrementar el tamaño del objeto del espacio libre de la caja REGLA 2 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar Existe una caja vacía o una caja con solo objetos frágiles El objeto frágil ha sido empaquetado El espacio libre de la caja es >= que el tamaño del objeto frágil THEN Poner el objeto frágil en la caja Decrementar el tamaño del objeto del espacio libre de la caja EPSIG – Ingeniería del Conocimiento Departamento de Informá Informática Etapa Objetos Pesados REGLA 1 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar Existe una caja vacía o una caja con solo objetos frágiles El objeto frágil no ha sido empaquetado THEN Empaquetar el objeto frágil REGLA 3 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar THEN Coger una caja nueva Jorge Puente Peinador REGLA 6 IF Paso es embalar-objetos-pesados Existe un objeto pesado a embalar THEN Coger una caja nueva REGLA 4 IF Paso es embalar-objetos-fragiles THEN Finaliza embalar-objetos-fragiles Comienza embalar-objetos-pesados Jorge Puente Peinador REGLA 7 IF Paso es embalar-objetos-pesados THEN Finaliza embalar-objetos-pesados Comienza embalar-objetos-medianos EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Etapa Objetos Medianos Etapa Objetos Ligeros REGLA 8 IF Paso es embalar-objetos-medianos Existe un objeto mediano a embalar Existe una caja vacia o una caja que no contenga objetos fragiles El espacio libre de la caja es >= que el tamaño del objeto mediano THEN Poner el objeto mediano en la caja Decrementar el tamaño del objeto del espacio libre de la caja REGLA 11 IF Paso es embalar-objetos-ligeros Existe un objeto ligero a embalar Existe una caja cuyo espacio libre es >= que el tamaño del objeto ligero THEN Poner el objeto ligero en la caja Decrementar el tamaño del objeto del espacio libre de la caja REGLA 12 IF Paso es embalar-objetos-ligeros Existe un objeto ligero a embalar THEN Coger una caja nueva REGLA 9 IF Paso es embalar-objetos-medianos Existe un objeto mediano a embalar THEN Coger una caja nueva REGLA 13 IF Paso es embalar-objetos-ligeros THEN Finaliza embalar-objetos-ligeros Finalizar REGLA 10 IF Paso es embalar-objetos-medianos THEN Finaliza embalar-objetos-medianos Comienza embalar-objetos-ligeros EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Estado inicial del problema El orden de embalaje importa Estado: embalar-objetos-fragiles Estado: embalar-objetos-fragiles Plegable: Objetos a embalar: Número: Peso: no no platos 1 no no Foto 1 8 si no Estéreo mediano 5 si no 1 ligero 3 no tv 1 pesado 10 pantalones 1 ligero pantalones 2 camisa camisa Objetos a embalar: Número: Peso: libro 1 libro 2 lámpara Tamaño: Frágil?: Plegable: mediano 4 Si no ligero 2 si no 1 mediano 5 si no Vinilos 1 3 3 si no no Disquetes 1 Ligero 3 si no si no Monitor 1 Pesado 6 si no 2 no si Tv 1 mediano 5 si no ligero 2 no si PC 1 Pesado 6 si no 1 ligero 1 no si 2 Ligero 1 no si Tamaño: Frágil?: pesado 2 pesado 2 1 mediano platos 1 abrigo Caja Nº: Contiene: EPSIG – Ingeniería del Conocimiento Espacio Libre: Jorge Puente Peinador Estado Final: Orden descendente: C1(1) C2(2) C3(4) C4(5) C5(4) Orden ascendente: C1(1) C2(0) C3(0) C4(5) EPSIG – Ingeniería del Conocimiento ¿JUSTIFICACIÓN? Jorge Puente Peinador Departamento de Informá Informática Departamento de Informá Informática Optimizar número de cajas Optimizar número de cajas Caja REGLA 1 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar Existe una caja vacía o una caja con solo objetos frágiles El objeto frágil no ha sido empaquetado THEN Empaquetar el objeto frágil ... TamañoMax: 0 (Tamaño del mayor objeto embalable) REGLA 2.1 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar El objeto frágil ha sido empaquetado El espacio libre de la caja es >= que el tamaño del objeto frágil Tamaño del objeto > tamaño máximo de la caja THEN Fijar en la caja el tamaño del objeto como tamaño máximo ¿qué objeto embala? el más grande, el más pequeño, otro... REGLA 2 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar El objeto frágil ha sido empaquetado Existe una caja vacía o una caja con solo objetos frágiles El espacio libre de la caja es >= que el tamaño del objeto frágil THEN Poner el objeto frágil en la caja Decrementar el tamaño del objeto del espacio libre de la caja REGLA 3 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar THEN Coger una caja nueva EPSIG – Ingeniería del Conocimiento REGLA 4 IF Paso es embalar-objetos-fragiles THEN Finaliza embalar-objetos-fragiles Comienza embalar-objetos-pesados Jorge Puente Peinador REGLA 2.2 IF Paso es embalar-objetos-fragiles Existe un objeto frágil a embalar El objeto frágil ha sido empaquetado Existe una caja vacía o una caja con solo objetos frágiles El espacio libre de la caja es >= que el tamaño del objeto frágil Tamaño del objeto = tamaño máximo de la caja THEN Poner objeto frágil en la caja Decrementar el tamaño del objeto del espacio libre de la caja Poner tamaño óptimo a 0 EPSIG – Ingeniería del Conocimiento Jorge Puente Peinador