Introducción a los Sistemas Basados en Reglas Definición de

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