Tema 4: Representaci´on del conocimiento mediante reglas

23
Introducci ´ on a la Ingenier ´ ıa del Conocimiento Curso 2006–2007 Tema 4: Representaci´ on del conocimiento mediante reglas Miguel A. Guti´ errez Naranjo Dpto. de Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla IIC 2006–07 C c I a Representaci´ on del conocimiento mediante reglas 4.1

Transcript of Tema 4: Representaci´on del conocimiento mediante reglas

Page 1: Tema 4: Representaci´on del conocimiento mediante reglas

Introduccion a la Ingenierıa del Conocimiento Curso 2006–2007

Tema 4: Representacion delconocimiento mediante reglas

Miguel A. Gutierrez Naranjo

Dpto. de Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.1

Page 2: Tema 4: Representaci´on del conocimiento mediante reglas

Reglas y conocimiento

B Reglas: formalismo mas comun de representarel conocimiento en un SBCu Reglas si ... entonces ...

u Sinonimo: reglas de produccion

B Interpretaciones:

u Si condicion P entonces conclusion C

u Si ocurre S entonces accion A

B Ventajas del formalismo de reglas:

u Modulares

u Conocimiento incremental

u Conocimiento modificable

u Separacion entre control y conocimiento

u Permiten explicaciones al usuario

u Preguntas ¿como? y ¿por que?

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.2

Page 3: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplos de reglas

B Regla en MYCINSi1. el reactivo toma el color azul2. la morfologıa del organismo es alargada3. el paciente es un posible receptor

Entoncesexiste una evidencia (0.7) de que la infeccionproviene de organismos pseudomonas.

B Regla en AL/XSila presion en V01 ha alcanzadola presion de

apertura de la valvula auxiliaryla valvula auxiliar de V01 se ha abierto

Entoncesla valvula auxiliar de V01 se ha abierto prematuramente[N=0.001, S=2000]

B Reglas extraidas de:

u Expertos humanos

u Literatura especializado

B Extraccion del conocimiento

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.3

Page 4: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: fuga de agua

B Situacion:

COCINA

BAÑO RECIBIDOR

VENTANA

B Descripcion:- Si la cocina esta seca y el recibidor mojado entonces

la fuga de agua esta en el ba~no.- Si el recibidor esta mojado y el ba~no esta seco

entonces el problema esta en la cocina.- Si la ventana esta cerrada o no llueve entonces

no entra agua del exterior.- Si el problema esta en la cocina y no entra agua del

exterior, la fuga de agua esta en la cocina.

B Evidencias:- El recibidor esta mojado.- El ba~no esta seco.- La ventana esta cerrada.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.4

Page 5: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: fuga de agua

B Representacion directa en Prolog:fuga_en_bagno :- recibidor_mojado, cocina_seca.problema_en_cocina :- recibidor_mojado, bagno_seco.no_agua_exterior :- ventana_cerrada; no_llueve.fuga_en_cocina :- problema_en_cocina, no_agua_exterior.

recibidor_mojado.bagno_seco.ventana_cerrada.

B Pregunta en Prolog:?- fuga_en_cocina.

Yes

B Desventajas:

u El usuario puede no estar familiarizado con la sin-

taxis de Prolog

u La base de conocimiento debe de distinguirse del

programa Prolog que implemente el SBC

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.5

Page 6: Tema 4: Representaci´on del conocimiento mediante reglas

Sintaxis de reglas y hechos

B Representacion en Prolog:

% La representacion interna de una regla debe ser:%% #% / \% / \% Id entonces% / \% / \% si Afirmacion% |% Cond

% Cond puede ser una combinacion, usando ’o’ o ’y’,% de afirmaciones (la disyuncion con prioridad mayor).

% Los hechos se deben representar internamente como:%% hecho% / \% / \% Id Afirmacion

:- op(875, xfx, hecho).:- op(875, xfx, #).:- op(825, fx, si).:- op(850, xfx, entonces).:- op(800, xfy, o). % Asociatividad a la derecha:- op(775, xfy, y). % Asociatividad a la derecha

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.6

Page 7: Tema 4: Representaci´on del conocimiento mediante reglas

Reglas y hechos en la fuga de agua

B Base de conocimiento:r1 # si recibidor_mojado y

cocina_secaentonces

problema_en_cocina.r2 # si recibidor_mojado y

bagno_secoentonces

problema_en_cocina.r3 # si ventana_cerrada o

no_llueveentonces

no_agua_exterior.r4 # si problema_en_cocina y

no_agua_exteriorentonces

fuga_en_cocina.

f1 hecho recibidor_mojado.f2 hecho bagno_seco.f3 hecho ventana_cerrada.

B Las reglas y hechos de la base de conocimientoson hechos Prolog.

B Operadores Prolog para acercar la expresion delas reglas al lenguaje natural.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.7

Page 8: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: animales.pl (I)

% =========== Bratko, cap. 15

% ----- Operadores adicionales::- op(750,xfx,[es,tiene,come,vuela,pone,da,nada]).:- op(500,fx,[un,una]).

% ----- Reglas:r1 # si Animal tiene pelo

oAnimal da leche

entoncesAnimal es mamifero.

r2 # si Animal tiene plumasoAnimal vuela bienyAnimal pone huevos

entoncesAnimal es un pajaro.

r3 # si Animal es mamiferoy(Animal come carneoAnimal tiene ’dientes afilados’yAnimal tiene garrasyAnimal tiene ’ojos oblicuos’)

entoncesAnimal es carnivoro.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.8

Page 9: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: animales.pl (II)

r4 # si Animal es carnivoroyAnimal tiene ’color pardo’yAnimal tiene ’manchas oscuras’

entoncesAnimal es un guepardo.

r5 # si Animal es carnivoroyAnimal tiene ’color pardo’yAnimal tiene ’rayas negras’

entoncesAnimal es un tigre.

r6 # si Animal es un pajaroyAnimal vuela malyAnimal nada bien

entoncesAnimal es un pinguino.

r7 # si Animal es un pajaroyAnimal vuela ’muy bien’

entoncesAnimal es una gaviota.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.9

Page 10: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: animales.pl (III)

%--------- Hechos:

f1 hecho oblongo tiene pelo.f2 hecho oblongo come carne.f2 hecho oblongo tiene ’color pardo’.f3 hecho oblongo tiene ’rayas negras’.f4 hecho rayo da leche.f5 hecho rayo tiene ’dientes afilados’.f6 hecho rayo tiene garras.f7 hecho rayo tiene ’ojos oblicuos’.f8 hecho rayo tiene ’color pardo’.f9 hecho rayo tiene ’manchas oscuras’.

B Observaciones:u Uso de operadores adicionales, propios del dominio

de conocimiento

u Uso de variables en las reglas

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.10

Page 11: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: coches.pl (I)

% ----- Operadores adicionales::- op(725,fx,[velocidad,seguridad,capacidad,gama,motor,

frenos,cilindrada]).:- op(725,xf,c_cubicos).:- op(750,xfx,[es,tiene,no_tiene]).

% ----- Reglas:r1 # si Coche tiene velocidad X y

(Coche tiene seguridad XoCoche tiene capacidad X)o

Coche tiene seguridad X yCoche tiene capacidad X

entoncesCoche es gama X.

r2 # si Coche tiene cilindrada Xentonces

Coche tiene velocidad X.

r3 # si Coche tiene motor inyeccion yCoche es mono-volumen

entoncesCoche tiene velocidad media.

r4 # si Coche tiene motor inyeccion yCoche es deportivo

entoncesCoche tiene velocidad alta.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.11

Page 12: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: coches.pl (II)

r5 # si Coche es mono_volumen yCoche tiene motor diesel

entoncesCoche tiene velocidad baja.

r6 # si Coche tiene 2000 c_cubicosentonces

Coche tiene cilindrada alta.

r7 # si Coche tiene 1600 c_cubicosentonces

Coche tiene cilindrada media.

r8 # si Coche tiene 1400 c_cubicosentonces

Coche tiene cilindrada baja.

r9 # si Coche tiene frenos abs yCoche tiene airbag

entoncesCoche tiene seguridad alta.

r10 # si Coche tiene frenos abs yCoche no_tiene airbagoCoche no_tiene frenos abs yCoche tiene airbag

entoncesCoche tiene seguridad media.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.12

Page 13: Tema 4: Representaci´on del conocimiento mediante reglas

Ejemplo: coches.pl (III)

r11 # si Coche no_tiene frenos abs yCoche no_tiene airbag

entoncesCoche tiene seguridad baja.

r12 # si Coche es deportivoentonces

Coche tiene capacidad baja.

r13 # si Coche es mono_volumenentonces

Coche tiene capacidad alta.

r14 # si Coche es turismoentonces

Coche tiene capacidad media.

%------ Hechos:

f1 hecho opel_astra tiene 1600 c_cubicos.f2 hecho opel_astra tiene airbag.f3 hecho opel_astra no_tiene frenos abs.f4 hecho fiat_punto tiene 1400 c_cubicos.f5 hecho fiat_punto no_tiene airbag.f6 hecho fiat_punto no_tiene frenos abs.f7 hecho renault_space es mono_volumen.f8 hecho renault_space tiene motor diesel.f9 hecho renault_space tiene frenos abs.f10 hecho renault_space tiene airbag.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.13

Page 14: Tema 4: Representaci´on del conocimiento mediante reglas

Razonamiento usando reglas

B Razonamiento = Motor de inferencia

B Dos maneras de razonar:u Hacia adelante (forward chaining)

u Hacia atras (backward chaining)

B Razonamiento hacia delante:u A partir de los hechos, buscar las conclusiones

u Desde los datos hacia los objetivos

B Razonamiento hacia atras:u Dadas las conclusiones que se buscan, buscar los

hechos que las derivan

u Desde los objetivos hacia los datos

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.14

Page 15: Tema 4: Representaci´on del conocimiento mediante reglas

Razonamiento hacia atras

B Meta-interpretes

B Programa Prolog:se_deduce(P) :-

_ hecho P.

se_deduce(P) :-_ # si C entonces P,se_deduce(C).

se_deduce(P1 y P2) :-se_deduce(P1),se_deduce(P2).

se_deduce(P1 o _) :-se_deduce(P1).

se_deduce(_ o P2) :-se_deduce(P2).

B Ejemplo:?- se_deduce(fuga_en_cocina).

Yes?- se_deduce(fuga_en_bagno).

No

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.15

Page 16: Tema 4: Representaci´on del conocimiento mediante reglas

Razonamiento hacia adelante

B Programa Prolog:

:- dynamic hecho_deducido/1.

adelante :-nuevo_hecho_deducido(P),!,write(’Deducido: ’), write(P), nl,assert(hecho_deducido(P)),adelante

;write(’No hay mas hechos’).

nuevo_hecho_deducido(P) :-_ # si Condicion entonces P,not(hecho_deducido(P)),hecho_compuesto(Condicion).

hecho_compuesto(C) :-hecho_deducido(C).

hecho_compuesto(C) :-_ hecho C.

hecho_compuesto(C1 y C2) :-hecho_compuesto(C1),hecho_compuesto(C2).

hecho_compuesto(C1 o C2) :-hecho_compuesto(C1)

;hecho_compuesto(C2).

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.16

Page 17: Tema 4: Representaci´on del conocimiento mediante reglas

Razonamiento hacia adelante

B Ejemplo:?- adelante.Deducido: problema_en_cocinaDeducido: no_agua_exteriorDeducido: fuga_en_cocinaNo hay mas hechos

Yes

?- listing(hecho_deducido).

hecho_deducido(problema_en_cocina).hecho_deducido(no_agua_exterior).hecho_deducido(fuga_en_cocina).

Yes

?- listing(hecho).

f1 hecho recibidor_mojado.f2 hecho bagno_seco.f3 hecho ventana_cerrada.

Yes

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.17

Page 18: Tema 4: Representaci´on del conocimiento mediante reglas

Hacia adelante vs hacia atras

B Deduccion = busqueda en espacios de estados:Datos --> .... --> ObjetivosEvidencias --> .... --> HipotesisObservaciones --> .... --> JustificacionesSıntomas --> ... --> Diagnostico

B La direccion de la busqueda determina el tipode razonamiento:u Hacia adelante: de los hechos hacia las conclusiones

u Hacia atras: de los objetivos hacia los hechos

B Problemas adecuados para razonar hacia ade-lante:u Monitorizacion y control

u Problemas dirigidos por los datos

u Sin necesidad de explicacion

B Problemas adecuados para razonar hacia atras:

u Diagnostico

u Problemas dirigidos por los objetivos

u Interaccion/Explicacion al usuario

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.18

Page 19: Tema 4: Representaci´on del conocimiento mediante reglas

Razonamiento con incertidumbre

B El conocimiento puede no ser categorico

u Reglas y hechos tienen un grado de certeza

u Ejemplos:

- Si el recibidor esta mojado y el ba~no esta seco,entonces existe probabilidad 0.9 de que elproblema este en la cocina.

- Creo que ha llovido, con probabilidad 0.8.

B Reglas y hechos afectados de un factor decerteza

B Modificacion de la sintaxis:

:- op(860, xfx, :). % factor de certeza.:- op(875, xfx, hecho).:- op(875, xfx, #).:- op(825, fx, si).:- op(850, xfx, entonces).:- op(800, xfy, o).:- op(775, xfy, y).

B Ejemplo:

r2 # si recibidor_mojado ybagno_seco

entoncesproblema_en_cocina : 0.9 .

f4 hecho no_llueve : 0.8.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.19

Page 20: Tema 4: Representaci´on del conocimiento mediante reglas

Fuga de agua con incertidumbre

B Base de conocimiento:

r1 # si recibidor_mojado ycocina_seca

entoncesfuga_en_bagno : 0.8.

r2 # si recibidor_mojado ybagno_seco

entoncesproblema_en_cocina : 0.9 .

r3 # si ventana_cerrada ono_llueve

entoncesno_agua_exterior : 1.

r4 # si problema_en_cocina yno_agua_exterior

entoncesfuga_en_cocina : 0.8 .

f1 hecho recibidor_mojado : 1.f2 hecho bagno_seco : 1.f3 hecho ventana_cerrada : 0.f4 hecho no_llueve : 0.8.f5 hecho cocina_seca : 0.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.20

Page 21: Tema 4: Representaci´on del conocimiento mediante reglas

Razonamiento con incertidumbre

B Manejo de probabilidadesCada combinacion logica de proposiciones P, tieneasignado un coeficiente de certeza, c(P):- Los hechos, valores asignados en la BC.- Si P2 se obtiene mediante la regla

_ si P1 entonces P2 : Centonces c(P2) = c(P1) * C

- c(P1 y P2) = min(c(P1),c(P2))- c(P1 o P2) = max(c(P1),c(P2))

B Razonamiento hacia atras con probabilidadcerteza(P,C) :-

_ hecho P : C.

certeza(P,C) :-_ # si Cond entonces P : C1,certeza(Cond,C2),

C is C1 * C2.

certeza(P1 y P2,C) :-certeza(P1,C1),certeza(P2,C2),

C is max(C1,C2).

B Ejemplo:?- certeza(fuga_en_cocina,C).C = 0.72

?- certeza(fuga_en_bagno,C).C = 0.8

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.21

Page 22: Tema 4: Representaci´on del conocimiento mediante reglas

Incertidumbre: observaciones.

B Simplificaciones:

u Distintas regla no deben servir para deducir lo mis-

mo

u Independencia de las observaciones

B La realidad es mas compleja

B Dos aproximaciones:

u Modelar el razonamiento usando teorıa de la pro-

babilidad* Ventajas: deducciones correctas.* Desventajas: demasiado complejo.

u Simplificar el tratamiento probabilıstico

* Ventajas: funciona en la practica.* Desventajas: posibles razonamientos incorrectos.

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.22

Page 23: Tema 4: Representaci´on del conocimiento mediante reglas

Bibliografıa

B Bratko, I. Prolog Programming for ArtificialIntelligence (2nd ed.) (Addison–Wesley, 1990)

u Cap. 14: “Expert system and Knowledge Repre-

sentation”

B Giarrantano,J. y Riley, G. Expert Systems:Principles and Programming (2nd ed.) (PWS,1994)

u Cap. 2: “Representation of knowledge ”

u Cap. 3: “Methods of inference”

B Rich, E. and Knight, K. Inteligencia Artificial(segunda edicion) (McGraw-Hill, 1994)

u Capıtulos 6 y 7

IIC 2006–07 CcIa Representacion del conocimiento mediante reglas 4.23