You are on page 1of 40

Universidad de Oviedo

Centro de Inteligencia Artificial

SISTEMAS INTELIGENTES T6: Sistemas Basados en Reglas


{jdiez, juanjo} @ aic.uniovi.es

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Introduccin
Definicin: sistemas diseados para actuar como un experto humano en un dominio o rea de conocimiento particular Caractersticas:

Tratan de replicar el comportamiento de los expertos en la materia Se basan en la utilizacin de tcnicas de IA Proporcionar soluciones aplicables en la prctica Generar nuevo conocimiento Mycin-Tieresias, GPS, DENDRAL, R1, etc
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Funcin:

Ejemplos:

Universidad de Oviedo

Centro de Inteligencia Artificial

Arquitectura
Experto

Motor de Inferencia Mdulo de Adquisicin del Conocimiento Interface de Usuario

Base Base de de Mdulo de Conocimientos Explicacin Datos (Reglas) (Hechos)

Usuario
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Estructura de un SBR

Base de hechos: Datos relevantes

relativos al problema concreto

Conocimiento del dominio de sistema: Forma natural de

almacenar el conocimiento

Antecedentes Consecuente

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Identificacin de frutas (I)


Atributos
N_Semillas Tipo_Semilla Color Forma Clase_Frutal Fruta =1 >1 Hueso Mltiple Rojo Amarillo Larga rbol Cereza Pltano

Valores

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Identificacin de frutas (II)


Reglas
Prioridad
0

Antecedente
N_Semillas = 1 Color = Rojo AND

Consecuente
Tipo_Semilla = Hueso

10

Clase_Frutal = rbol AND Tipo_Semilla = Hueso Color = Amarillo

Fruta = Cereza

10

AND

Forma = Larga

Fruta = Pltano

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Base de Hechos

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Base de Conocimiento: Reglas (I)


Forma de representar el conocimiento de manera natural si ANTECEDENTE entonces CONSECUENTE Normalmente no reflejan implicaciones lgicas sino las convicciones de un experto Antecedente: conjunciones de atributos de un mismo dominio Consecuente: atributos que pasarn a ser conocidos para el sistema Pueden poseer un campo de prioridad que indica el grado de relevancia de la regla para nuestro sistema
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Base de Conocimiento: Reglas (II)


Es condicin necesaria, pero no suficiente, que se cumpla el antecedente de una regla para poder dispararla Depender de:
La prioridad de la regla Del motor de inferencia

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Inferencia en Sistemas de Reglas (I)

Los sistemas basados en reglas usan el modus ponens


Si A es un hecho cierto y la implicacin A B es cierta, entonces se deriva que el hecho B es cierto

Disparo o Ejecucin: los atributos que forman el consecuente pasan a ser conocidos (hechos) por nuestro sistema

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Inferencia en Sistemas de Reglas (II)

Un proceso de resolucin de un problema es obtener una secuencia de inferencias de los datos iniciales al objetivo: Una bsqueda! Usando tcnicas de bsqueda + comparacin de patrones los sistemas basados en reglas automatizan los mtodos de razonamiento (cadenas de inferencias)
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Inferencia en Sistemas de Reglas (III)


No es exactamente deduccin lgica:
Acepta incertidumbre No monotona (un hecho derivado puede ser posteriormente retractado)

Dependencias reversibles/irreversibles
Si la informacin que se retracta ha sido utilizada para obtener nuevas conclusiones: R : Si bombilla-encendida entonces habitaciniluminada I: Si bombilla-encendida entonces pelcula-velada
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Sistema de prediccin del tiempo en la prximas 12h (verano)


R1: Si temperatura ambiente por encima de 20 Entonces hace calor R2: Si humedad relativa mayor que 65% Entonces atmsfera esta hmeda R3: Si hace calor y atmsfera hmeda Entonces es probable que haya tormentas Hechos Conocidos Temperatura ambiente por encima de 20C Humedad relativa del 80% Observacin R1: Si temperatura ambiente > 20C Y humedad relativa >65% Entonces es probable que haya tormentas Misma conclusin con prdida de informacin (hace calor, atmsfera hmeda) que puede ser til a la hora de deducir nuevo conocimiento
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Reglas Activadas R1, R2 Deducimos Atmsfera Hmeda Hace Calor

Se Satisface R3 Es probable que haya tormentas

Universidad de Oviedo

Centro de Inteligencia Artificial

Motor de inferencia

Permite obtener nuevo conocimiento a partir del existente, para ello utiliza un proceso de razonamiento El proceso de razonamiento es una progresin de un conjunto de datos de partida hacia una solucin o conclusin
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

El proceso de razonamiento (I)


Encadenamiento hacia delante (Forward chaining)

Pocos datos y/o muchas posibles conclusiones Poco especfico (dispara todas las reglas posibles) OPS5 (crea sistemas expertos) Muchas informacin disponible, pero poca es relevante (consulta de un mdico) Ms especfico y generalmente ms eficaz MICYN, PROLOG

Encadenamiento hacia atrs (Backward chaining)


Kappa, KEE, Goldworks, NEXPERT: usan uno, otro o combinacin de ambos


Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

El proceso de razonamiento (II)


Importante:
La direccin de encadenamiento no tiene nada que ver con la direccin en que se ejecuta una regla. Siempre se disparan hacia delante (se da por bueno o se ejecuta el consecuente cuando se confirma el antecedente) Cuando se habla de encadenamiento hacia atrs nos referimos solamente al proceso de bsqueda y seleccin de reglas

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia delante (I)


Objetivo
Datos iniciales

Derivar mximo conocimiento

Mtodo muy til cuando los datos iniciales son pocos y/o existen muchas posibles conclusiones Pasos a realizar

Matching Resolucin de conflictos Ejecucin

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia delante (II)


Matching: Bsqueda de las reglas para las que es cierto su antecedente (reglas satisfechas) Resolucin de conflictos: Seleccin, de entre las reglas satisfechas, aquella que se va a ejecutar Criterios de seleccin (*estrategia de bsqueda*):
Mayor n de premisas en el antecedente Prioridad ms alta Bsqueda en profundidad Bsqueda en anchura

Ejecucin: Se dispara la regla, por lo que ampliamos los datos conocidos

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia delante: ciclo 0


Permite seleccionar un objetivo o ninguno

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia delante: ciclo 1

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia delante: ciclo 2

Valores de los atributos tras la ejecucin

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs (I)

Obj. n

Datos iniciales

+
Obj. 2 Obj. 1
Pila de objetivos

Objetivos intermedios

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs (II)

Caractersticas
Mtodo muy til en aplicaciones con muchos datos disponibles de partida, de los que solo una pequea parte son relevantes Sistema interactivo, slo pregunta lo estrictamente necesario a diferencia del encadenamiento hacia delante que no pregunta nada

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs (III)


1. Se forma una pila inicial compuesta por todos los objetivos iniciales 2. Considerar el primer objetivo de la pila. Localizar todas las reglas que lo satisfagan 3. Examina las premisas de dichas reglas, en orden:
a) Si todas las premisas se satisfacen. Ejecutamos las reglas y se derivan sus conclusiones. Si se deriv un valor para el objetivo actual entonces se elimina de la pila y se vuelve al paso 2 b) Si una premisa de una regla no se satisface (tiene un valor desconocido en la base de conocimientos), se mira a ver si existen reglas que concluyan un valor para ella. Si existen se inserta en el tope de la pila de objetivos y se vuelve al paso 2
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs (IV)


c) Si por b) no se encontr ninguna regla que concluya un valor para la premisa actual. Entonces se pregunta al usuario por dicho valor y se aade a la base de conocimientos Si el valor satisface la premisa actual se contina examinado el resto del antecedente Sino se considera la siguiente regla que concluya un valor para el objetivo actual

4.

Si se han examinado todas las reglas que concluyen un valor para el objetivo actual y todas fallaron entonces se marca el objetivo como indeterminado, se extrae de la pila y se vuelve al paso dos. Si la pila esta vaca el proceso finaliza !
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 0


Permite seleccionar uno o varios objetivos

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 0


Ejecutar paso a paso Posibilidad de ver los pasos anteriores Tener a la vista la pila de objetivos, su estado, la traza y la base de hechos Pregunta al usuario

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 0

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 1

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 2

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 3

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 4

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: Consulta al usuario

En este caso le diremos que el valor para el atributo color es rojo.

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 5

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Encadenamiento hacia atrs: ciclo 6

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Control del razonamiento


Cmo seleccionar una regla cuando hay varias? El control del razonamiento es importante por tres motivos:
-Contenido de la inferencia Las reglas ms especficas y las que tratan con excepciones deben aplicarse antes que las generales -Eficiencia: seleccionar la regla adecuada acelera alcanzar el objetivo -Dilogo El sistema no debe preguntar lo que puede deducir El orden de las preguntas debe seguir una lnea de razonamiento clara
Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Control del razonamiento: Mecanismos sencillos


Ordenar las reglas

Poco elegante Difcil de mantener Slo aplicable en sistemas simples en los que las reglas se almacenan en una lista que se recorre cclicamente Vlido slo en encadenamiento hacia atrs Colocar primero las que tienen ms posibilidades de fallar

Ordenar las premisas/conclusiones en cada regla


Aadir nuevas premisas para controlar las reglas a aplicar en cada punto de la inferencia
Si situacin=coche-en-marcha y hielo-en-la-carretera y velocidad>70 Entonces recomendacin = Reducir-velocidad

Si hielo-en-la-carretera y velocidad > 70 Entonces recomendacin= Reducir-velocidad

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Control del razonamiento: Otros mecanismos

Control de agendas
- - - Pila o cola de reglas que pueden ejecutarse El orden puede alterarse por prioridades Reglas para seleccionar las reglas

Metarreglas

Sistemas especficos de Resolucin de conflictos (ej. RETE del sistema OPS5)


Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Reglas con variables


Aumenta la expresividad de las reglas Tambin la complejidad de su gestin Facilita la modificacin de reglas
Si organismo=streptococo organismo=gonorrea entonces prescripcin=penicilina Si organismo=streptococo organismo=gonorrea entonces droga-indicada=penicilina Si droga-indicada=penicilina No-conocida(alergia_a= penicilina) droga-indicada=?droga No-conocida(alergia_a= ?droga ) entonces preguntar(alergia_a= penicilina) ?droga) Si droga-indicada=penicilina (alergia_a= penicilina) droga-indicada =?droga (alergia_a =?droga ) entonces prescripcin= prescripcin =penicilina ?droga ! !

Fallo en alrgicos

Repetir para cada droga !!!


Sistemas Inteligentes - T6: Sistemas Basados en Reglas

Universidad de Oviedo

Centro de Inteligencia Artificial

Ventajas e inconvenientes
Ventajas:
Modularidad -> facilita el desarrollo incremental Consistencia en las respuestas Accesibilidad (24h al da) Explicacin de soluciones

Inconvenientes:
Encadenamiento infinito Opacidad -> es difcil seguir la traza de las deducciones Cobertura del dominio -> gran nmero de reglas Adicin de nuevo y contradictorio conocimiento

Sistemas Inteligentes - T6: Sistemas Basados en Reglas

You might also like