Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento...

42
Representaci´on del conocimiento mediante reglas C. Graciani D´ ıaz F. J. Mart´ ın Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial II 2010–2011 Representaci´ on del conocimiento mediante reglas

Transcript of Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento...

Page 1: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Representacion del conocimiento mediante reglas

C. Graciani DıazF. J. Martın Mateos

J. L. Ruiz Reina

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 2: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Sistemas basados en el conocimiento

Sistemas basados en el conocimiento:

Programas que resuelven problemas usando un determinadodominio de conocimientoA veces son llamados sistemas expertos

Ventajas:

Facil acceso y disponibilidad de conocimiento (experto)Coste reducidoPermanenciaFiabilidad y rapidezRespuestas no subjetivasExplicacion del razonamientoHerramientas de aprendizajeCompetitivos con expertos humanos

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 3: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Sistemas basados en el conocimiento

Componentes principales de un SBC

Conocimiento, que necesita ser representadoMecanismos que permitan inferir nuevo conocimientoEstos componentes deberıan constituir modulos independientes

Otros componentes:

Interfaz de usuarioSubsistema de explicacion del conocimiento inferidoSubsistema de adquisicion de nuevo conocimientoHerramientas de aprendizaje

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 4: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Representacion del conocimiento

Requisitos de los formalismos de representacion delconocimiento:

Potencia expresivaFacilidad de interpretacionEficiencia deductivaPosibilidad de explicacion y justificacion

Algunos formalismos de representacion:

Reglas, redes semanticas, marcos, logicas de descripcion,logica de primer orden, . . .

Cada formalismo de representacion usa un metodo deinferencia especıfico:

Razonamiento hacia adelante, razonamiento hacia atras(SLD-resolucion), herencia, tableros, resolucion, . . .

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 5: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Representacion del conocimiento mediante reglas

Reglas

SI la luz del sem aforo es verdeY no hay peatones cruzando

ENTONCES contin ua la marcha

SI x es n umero naturalY x es par

ENTONCES x es divisible por 2

SI el reactivo toma color azulY la morfolog ıa del organismo es alargadaY el paciente es un posible receptor

ENTONCES existe una evidencia (0.7) de quela infecci on proviene de pseudomonas.

HechosLa luz del sem aforo es verde

El reactivo toma color azul

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 6: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Representacion del conocimiento mediante reglas

Esencialmente, existen dos mecanismos para inferir nuevoconocimiento a partir de un conjunto de reglas

Razonamiento hacia atras (backward chaining)Razonamiento hacia adelante (forward chaining)

Se estudian mejor desde un punto de vista formal mediante suformulacion logica

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 7: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Logica de primer orden

Lenguaje de la logica de primer orden

Sımbolos de variable: x, y, . . .Sımbolos de funcion (con su aridad): f, g, . . .Sımbolos de predicado (con su aridad): p, q , . . .Conectivas: ¬, ∨, ∧, →, ↔Cuantificadores: ∀, ∃

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 8: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Logica de primer orden

Terminos de la logica de primer orden

Las variables son terminosSi t1, . . . , tn son terminos y f es un sımbolo de funcion dearidad n, entonces f(t1, . . . , tn) es un termino

Formulas de la logica de primer orden

Si t1, . . . , tn son terminos y p es un sımbolo de predicado dearidad n, entonces p(t1, . . . , tn) es una formula (atomica)Si F1 y F2 y son formulas y x es una variable, entoncesF1 ∨ F2, F1 ∧ F2, F1 → F2, ¬F1, F1 ↔ F2, ∀xF1 y ∃xF1

tambien son formulas

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 9: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Logica de primer orden

Una interpretacion es un conjunto (universo) junto con unaasignacion de funciones y relaciones concretas, en eseuniverso, a los sımbolos de funcion y predicado

Una interpretacion asigna un valor de verdad a cada formula

Decimos que una formula G es consecuencia logica de unconjunto de formulas {F1, F2, . . . , Fn} (y lo escribiremos{F1, F2, . . . , Fn} |= G) si para toda interpretacion I tal queI(Fi) = ⊤, entonces para todo i = 1, . . . , n, se tiene queI(G) = ⊤

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 10: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Reglas, hechos y bases de conocimiento

Una regla es una formula de primer orden de la forma

P1 ∧ P2 ∧ . . . ∧ Pn → Q

donde P1, . . . , Pn, Q son formulas atomicas

Las variables de una regla se interpretan universalmentecuantificadasCabeza de la regla: QCuerpo de la regla: P1 ∧ P2 ∧ . . . ∧ Pn

Un hecho es una formula atomica

Un hecho puede verse como una regla sin cuerpo

Una base de conocimiento es un conjunto de hechos y reglas

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 11: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Reglas, hechos y bases de conocimiento

Una pequena base de conocimiento

R1: bueno(x) ∧ rico(y) ∧ quiere(x,y) → hereda-de(x,y)R2: amigo(x,y) → quiere(x,y)R3: antecesor(y,x) → quiere(x,y)R4: progenitor(x,y) → antecesor(x,y)R5: progenitor(x,z) ∧ progenitor(z,y) → antecesor(x,y)H1: progenitor(padre(x),x)H2: rico(Pedro)H3: rico(padre(padre(Juan)))H4: amigo(Juan,Pedro)H5: bueno(Juan)

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 12: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Deduccion en una base de conocimiento

Sustituciones: θ = {x1 7→ t1, . . . , xn 7→ tn}

Si Q es una formula atomica, θ(Q) es la formula obtenidasustituyendo cada aparicion de xi en Q por ti

Regla de inferencia: Modus Ponens Generalizado

P1 P2 . . . Pn P′1 ∧ P′

2 ∧ . . . ∧ P′n → Q

θ(Q)

donde θ es una sustitucion tal que θ(Pi) = θ(P′i), para todo i

Dada una base de conocimiento BC y una formula atomica P,decimos que BC ⊢ P si existe una secuencia de formulasF1, . . . , Fn tales que Fn = P y cada Fi esta en BC o seobtiene de formulas anteriores mediante aplicacion de ModusPonens Generalizado

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 13: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Deduccion en una base de conocimiento

Una pequena base de conocimiento

R1: bueno(x) ∧ rico(y) ∧ quiere(x,y) → hereda-de(x,y)R2: amigo(x,y) → quiere(x,y)R3: antecesor(y,x) → quiere(x,y)R4: progenitor(x,y) → antecesor(x,y)R5: progenitor(x,z) ∧ progenitor(z,y) → antecesor(x,y)H1: progenitor(padre(x),x)H2: rico(Pedro)H3: rico(padre(padre(Juan)))H4: amigo(Juan,Pedro)H5: bueno(Juan)

En este caso, a partir de antecesor(y,x) → quiere(x,y) yde antecesor(Pedro,Juan) se deduce quiere(Juan,Pedro)

(mediante la sustitucion θ = {x 7→ Juan ,y 7→ Pedro })

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 14: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Deduccion en una base de conocimiento

Teorema: BC |= P ⇐⇒ BC ⊢ P

Este teorema nos sugiere como implementar algoritmos pararesponder preguntas a una base de conocimientoEsencialmente, se trata de implementar procesos que buscanuna secuencia de aplicaciones validas de la regla de ModusPonens que obtenga P como formula finalPor tanto, algoritmos de busqueda

Esta busqueda puede realizarse:

Hacia atras: partiendo de PHacia adelante: partiendo de BC

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 15: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Razonamiento hacia atras con reglas de primer orden

Podemos disenar un algoritmo de encadenamiento hacia atrasbasado en la regla de Modus Ponens Generalizado

Dado un objetivo Q y una regla Q1 ∧ . . . ∧ Qn → P, losnuevos objetivos podrıan ser {θ(Q1), . . . , θ(Qn)} siencontramos una sustitucion θ tal que θ(P) = θ(Q)

Dicha sustitucion se denomina unificador de P y Q

Por tanto, se necesita un algoritmo que dado el objetivo y lacabeza de la regla, encuentre un unificador, si es que existe

Dicho algoritmo se denomina algoritmo de unificacion

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 16: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Unificacion

Ejemplos:

Objetivo Cabeza de regla

amigo(x,Juan) amigo(Antonio,y)Unificador: {x 7→ Antonio , y 7→ Juan }

progenitor(padre(x),x) progenitor(y,Juan)Unificador: {x 7→ Juan , y 7→ padre(Juan) }

quiere(x,z) amigo(Antonio,y)Unificador: No existe

quiere(x,z) quiere(padre(y),x)Unificador: {x 7→ padre(Juan) , y 7→ Juan , z 7→ padre(Juan) }

quiere(x,z) quiere(padre(y),x)Unificador: {x 7→ padre(y) , z 7→ padre(y) }

Dos atomos cualesquiera podrıan no ser unificables, o serlo ytener mas de un unificador

Se puede demostrar que si son unificables entonces existe ununificador mas general que cualquier otro

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 17: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Algoritmo de unificacion

Algoritmo de unificacion

FUNCION UNIFICA(S,T)Devolver UNIFICA-REC(S,T, {})

FUNCION UNIFICA-REC(S,T, θ)1 Si S = T, devolver {}2 Si no, si S es variable, entonces:

2.1 Si S ocurre en T, devolver FALLO2.2 Si S no ocurre en T, devolver {S 7→ T}

3 Si no, si T es variable, entonces devolverUNIFICA-REC(T,S, θ)

4 Si no, sean S = f(S 1,...,S n) y T = g(T 1,...,T m)4.1 Si f 6= g o n 6= m, devolver FALLO4.2 En otro caso, devolver

UNIFICA-REC-LISTA([S 1,...,S n],[T 1,...,T n], θ)

FUNCION UNIFICA-REC-LISTA(LS,LT, θ)1 Si LS es la lista vac ıa, devolver θ2 Si no, sea σ = UNIFICA-REC(PRIMERO(LS),PRIMERO(LT), θ)

2.1 Si σ es igual a FALLO, devolver FALLO2.2 En caso contrario, devolver

UNIFICA-REC-LISTA( σ(RESTO(LS)), σ(RESTO(LT)),COMPONER( θ, σ))

Nota: COMPONER(S1,S2)obtiene la sustitucion que actuacomo si se aplicara S1 y a continuacion S2

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 18: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Algoritmo de unificacion

Traza del algoritmoUNIFICA(quiere(x,z),quiere(padre(y),x)) ⇒

UNIFICA-REC(quiere(x,z),quiere(padre(y),x), {}) ⇒UNIFICA-REC-LISTA( {x,z }, {padre(y),x }, {}) ⇒

[UNIFICA-REC(x,padre(y), {}) = {x 7→ padre(y) }]UNIFICA-REC-LISTA( {z}, {padre(y) }, {x 7→ padre(y) }) ⇒

[UNIFICA-REC(z,padre(y), {x 7→ padre(y) }) = {z 7→ padre(y) }]UNIFICA-REC-LISTA( {}, {}, {x 7→ padre(y),z 7→ padre(y) }) ⇒

{x 7→ padre(y),z 7→ padre(y) }

Teorema: UNIFICA(S,T) no devuelve FALLO si y solo si S y T

se pueden unificar; en ese caso, devuelve un unificador de S yT mas general que cualquier otro unificador

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 19: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

SLD-resolucion

Combinando unificacion y encadenamiento hacia atraspodemos obtener un procedimiento que permite responder apreguntas del tipo ¿BC |= P?

En concreto, el algoritmo encontrara sustituciones θ tal queBC |= θ(P). A estas sustituciones se las llama respuestasEste algoritmo se denomina SLD-resolucion

El algoritmo realiza una busqueda en profundidad(backtracking)

Como es habitual, esta busqueda se puede representarmediante un arbol

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 20: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Un ejemplo de arbol SLD

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 21: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Arboles SLD

Un arbol SLD representa el proceso de busqueda

Los nodos de un arbol representan los objetivos pendientes(atomos por deducir)

Nodo raız: objetivo inicial

Nodos finales:

Un nodo de fallo se obtiene cuando su primer atomo no esunificable con la cabeza de ninguna regla o hechoUn nodo de exito es aquel que no tiene objetivos pendientes

Ramas de exito

Una rama de exito es aquella que termina en un nodo de exitoCada rama de exito “construye” una sustitucion (respuesta)que se va “concretando” mediante los sucesivos pasos deunificacionCada rama de exito representa una SLD-refutacion

Renombrado de reglas y hechos

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 22: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Algoritmo de SLD-resolucion

Algoritmo de SLD-resolucion

FUNCION SLD-RESOLUCION(BC,Q)Devolver SLD-RESOLUCI ON-REC(BC,{Q}, {})

FUNCION SLD-RESOLUCION-REC(BC,OBJETIVOS, θ)1 Si OBJETIVOS est a vac ıo, devolver la lista unitaria { θ}2 Hacer RESPUESTAS igual a la lista vac ıa

Hacer ACTUAL igual θ (SELECCIONA-UNO(OBJETIVOS))3 Para cada regla P1, ...,Pn → P en BC (renombrada con

variables nuevas) tal que σ = UNIFICA(P,ACTUAL) es distintode FALLO3.1 Hacer NUEVOS-OBJETIVOS igual a

{P1, ...,Pn} ∪ (OBJETIVOS\{ACTUAL})3.2 A nadir a RESPUESTAS el resultado de

SLD-RESOLUCION-REC(BC,NUEVOS-OBJETIVOS,COMPONER(θ, σ))4 Devolver RESPUESTAS

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 23: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Propiedades del algoritmo de SLD-resolucion

Teorema (correccion): Si θ ∈ SLD-RESOLUCION(BC, P)

entonces BC ⊢ θ(P)

Teorema: Si BC ⊢ σ(P), entonces existe una SLD-refutaciona partir de P que construye una respuesta θ tal que σ es “uncaso particular” de θ

Problema: el algoritmo de SLD-resolucion podrıa no encontrartal SLD-refutacion debido a la existencia de ramas infinitas

Estrategia de busqueda:

En nuestro pseudocodigo, busqueda en profundidadSeleccion del objetivo a resolver: cualquier funcion de seleccionservirıaOrden en el que se usan las reglas y hechos de la BC

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 24: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Programacion logica

El algoritmo de SLD-resolucion es el elemento en torno al cualse desarrolla el paradigma declarativo de programacion logica

Programa logico: conjunto de reglas y hechosDeclarativo: “que es” en lugar de “como se hace”

Una base de conocimiento puede verse como un programalogico

Las respuestas que calcula el algoritmo de SLD-resolucionpueden verse como la salida que calcula el programa

PROLOG es el lenguaje de programacion mas conocidobasado en el paradigma de la programacion logica

Debido a que el encadenamiento hacia atras forma parte delpropio interprete, PROLOG es un lenguaje especialmenteadecuado para la implementacion de SBCs basados en reglascon razonamiento hacia atras

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 25: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Deduccion hacia adelante

En contraposicion al encadenamiento hacia atras, podemosaplicar la regla de Modus Ponens Generalizado hacia adelante

A partir de los hechos, y usando las reglas, obtener nuevoshechosDe la misma manera, los hechos deducidos permiten obtenernuevos hechos

Problemas adecuados para razonar hacia adelante

Monitorizacion y controlProblemas dirigidos por los datosSin necesidad de explicacion

Problemas adecuados para razonar hacia atras

DiagnosticoProblemas dirigidos por los objetivosInteraccion/Explicacion al usuario

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 26: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Deduccion hacia adelante

Algoritmo de encadenamiento hacia adelante

FUNCION ENCADENAMIENTO-HACIA-ADELANTE(BC,P)1 Hacer DEDUCIDOS igual a vac ıo2 Para cada regla P1, ..., Pn → Q en BC (renombrada con

variables nuevas)2.1 Para cada θ tal que θ(Pi) = θ(Ri) para ciertos

Ri en BC, i=1,...,n,2.1.1 Hacer S = θ(Q)2.1.2 Si S (o un renombrado) no est a ni en BC ni en

DEDUCIDOS, anadir S a DEDUCIDOS2.1.3 Si σ=UNIFICA(P, S) es distinto de FALLO,

devolver σ y terminar3 Si DEDUCIDOS es vac ıo, devolver FALLO y terminar.

en caso contrario, a nadir DEDUCIDOS a BC y volver al punto 1

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 27: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Deduccion hacia adelante

Ejemplo: una pequena base de conocimiento

R1: bueno(x) ∧ rico(y) ∧ quiere(x,y) → hereda-de(x,y)R2: amigo(x,y) → quiere(x,y)R3: antecesor(y,x) → quiere(x,y)R4: progenitor(x,y) → antecesor(x,y)R5: progenitor(x,z) ∧ progenitor(z,y) → antecesor(x,y)H1: progenitor(padre(x),x)H2: rico(Pedro)H3: rico(padre(padre(Juan)))H4: amigo(Juan,Pedro)H5: bueno(Juan)

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 28: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Ejemplo: una pequena base de conocimiento

Traza del algoritmo

ENCADENAMIENTO-HACIA-ADELANTE(BC,hereda-de(x,y))H6: quiere(Juan, Pedro)

| R2 {x1 7→Juan, y1 7→Pedro } H4H7: antecesor(padre(x), x)

| R4 {x1 7→padre(x), y1 7→x}, H1H8: antecesor(padre(padre(x)), x)

| R5 {x1 7→padre(padre(x2)), z1 7→padre(x2), y1 7→x2},| H1 {x 7→padre(x2) }, H1 {x 7→x2}

H9: hereda-de(Juan, Pedro)| R1 {x1 7→Juan, y1 7→Pedro }, H5, H2, H6θ = {x 7→Juan, y 7→Pedro }

H10: quiere(x, padre(x))| R3 {x1 7→x, y1 7→padre(x) } H7

H11: quiere(x, padre(padre(x)))| R3 {x1 7→x, y1 7→padre(padre(x)) } H8

H12: hereda-de(Juan, padre(padre(Juan)))| R1 {x1 7→Juan, y1 7→padre(padre(Juan)) },| H5, H3, H11 {x 7→Juan }θ = {x 7→Juan, y 7→padre(padre(Juan)) }

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 29: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Sistemas de produccion

Un sistema de produccion es un mecanismo computacionalbasado en reglas de produccion de la forma: “Si se cumplenlas condiciones entonces se ejecutan las acciones”

El conjunto de las reglas de produccion forma la base deconocimiento que describe como evoluciona un sistema

Las reglas de produccion actuan sobre una memoria de trabajoo base de datos que describe el estado actual del sistemaSi la condicion de una regla de produccion se satisfaceentonces dicha regla esta activaEl conjunto de reglas de produccion activas en un instanteconcreto forma el conjunto de conflicto o agendaLa estrategia de resolucion selecciona una regla del conjuntode conflicto para ser ejecutada o disparada modificando ası lamemoria de trabajo

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 30: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Sistemas de produccion

Paradigma de los sistemas de produccion

Hechos: pieza basica de informacionReglas: describen el comportamiento del programa en funcionde la informacion existente

Modelo de hecho:<ındice>: <s ımbolo>(<elemento> * )

Modelo de regla:<Nombre>:SI <Condici on>*ENTONCES

<Acci on>*

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 31: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Elementos de una regla

Condiciones:

Existencia de cierta informacion: <patrón>

Ausencia de cierta informacion: -<patrón>

Relaciones entre datos

Acciones:

Incluir nueva informacion: INCLUIR: <hecho> *Eliminar informacion: ELIMINAR: <hecho> *

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 32: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Ejemplo de sistema de produccion

Ejemplo

Base de Hechos:1: Tiene(pelos)2: Tiene(pezu nas)3: Tiene(rayas-negras)

Base de Reglas:Jirafa: Ungulado-2:SI Es(ungulado) SI Es(mam ıfero)

Tiene(cuello-largo) Rumia()ENTONCES ENTONCES

INCLUIR: Es(jirafa) INCLUIR: Es(ungulado)

Cebra: Mam ıfero-1:SI Es(ungulado) SI Tiene(pelos)

Tiene(rayas-negras) ENTONCESENTONCES INCLUIR: Es(mamıfero)

INCLUIR: Es(cebra)Mamıfero-2:

Ungulado-1: SI Da(leche)SI Es(mam ıfero) ENTONCES

Tiene(pezu nas) INCLUIR: Es(mam ıfero)ENTONCES

INCLUIR: Es(ungulado)

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 33: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Sistemas de produccion

Componentes:

Base de hechos (memoria de trabajo). Elemento dinamicoBase de reglas. Elemento estaticoMotor de inferencia (produce los cambios en la memoria detrabajo)

Elementos adicionales:

Algoritmo de equiparacion de patrones: Algoritmo para calculareficientemente la agendaEstrategia de resolucion de conflictos: Proceso para decidir encada momento que regla de la agenda debe ser disparada

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 34: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Ciclo de ejecucion

Reglas

Equiparacion de patrones

Agenda

Hechos

Disparo

Resolucion de conflictos

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 35: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Resolucion de conflictos

Una activacion solo se produce una vez

Estrategias mas comunes:

Tratar la agenda como una pilaTratar la agenda como una colaEleccion aleatoriaRegla mas especıfica (numero de condiciones)Activacion mas reciente (en funcion de los hechos)Regla menos utilizadaMejor (pesos)

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 36: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Tabla de seguimiento

Base de Hechos E Agenda D

1: Tiene(pelos) 0 Mamífero-1: 1 12: Tiene(pezuñas) 03: Tiene(rayas-negras) 0

4: Es(mamífero) 1 Ungulado-1: 4,2 2

5: Es(ungulado) 2 Cebra: 5,3 3

6: Es(cebra) 3

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 37: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Variables: simples, multiples y anonimas

Variable simple: ?x, ?y, ?elemento

Variable anonima simple: ?

Variable multiple: $?x, $?y, $?elemento

Variable anonima multiple: $?

Sistema de produccion con variables

Base de Hechos:1: Lista(Mar Ana Luis Pepe)2: Alumno(Mar)3: Alumno(Ana 2 3 9)4: Alumno(Luis)5: Alumno(Pepe 3)

Base de Reglas:Elimina:SI Alumno(?n ? $?)

Lista($?i ?n $?f)ENTONCES

ELIMINAR: Lista(?i ?n ?f)INCLUIR: Lista(?i ?f)

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 38: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Tabla de seguimiento

Base de Hechos E S Agenda D S

1:Lista(Mar Ana Luis Pepe) 0 12:Alumno(Mar) 03:Alumno(Ana 2 3 9) 0 Elimina: 3,1

?n 7→ Ana$?i 7→ Mar$?f 7→ Luis Pepe 1

4:Alumno(Luis) 05:Alumno(Pepe 3) 0 Elimina: 5,1

?n 7→ Pepe$?i 7→ Mar Ana Luis$?f 7→ 1

6:Lista(Mar Ana Luis) 1 2 Elimina: 3,6?n 7→ Ana$?i 7→ Mar$?f 7→ Luis 2

7:Lista(Mar Luis) 2

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 39: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Equiparacion de patrones

La forma mas simple de calcular el conjunto de conflictosupone analizar las condiciones de todas las reglas en lamemoria de trabajo actual, este proceso es muy costoso

Algoritmo de fuerza bruta

Por cada regla Ri hacerPor cada patr on de hecho Pj en Ri hacer

Por cada hecho Hk en la memoria de trabajo hacerComprobar si Pj equipara con Hk

Si todos los patrones tienen equiparaci on incluiren la agenda todas las posibles activaciones de laregla Ri

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 40: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Equiparacion de patrones

Para hacer mas eficiente el proceso de equiparacion depatrones se pueden tener en cuenta las siguientes propiedades

Redundancia Temporal: el disparo de una regla usualmentecambia pocos hechos y son pocas las reglas afectadas por esoscambiosSimilitud Estructural: una misma condicion aparecefrecuentemente en mas de una regla

El algoritmo RETE aprovecha estas caracterısticas para limitarel esfuerzo requerido para calcular el conjunto de conflictodespues de que una regla es disparada

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 41: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

CLIPS

CLIPS ≡ C Language Integrated Production Systems

http://www.ghg.net/clips/CLIPS.html

Lenguaje basado en reglas de produccion.

Desarrollado en el Johnson Space Center de la NASA.

Relacionado con OPS5 y ART

Caracterısticas:

Conocimiento: Reglas, objetos y procedimentalPortabilidad: implementado en CIntegracion y Extensibilidad: C, Java, FORTRAN, ADADocumentacionBajo coste: software libre

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas

Page 42: Representaci n del conocimiento mediante reglas · 2011-02-14 · Representaci´on del conocimiento mediante reglas C. Graciani D´ıaz F. J. Mart´ın Mateos J. L. Ruiz Reina Dpto.

Bibliografıa

Russel, S. y Norvig, P. Artificial Intelligence: A ModernApproach (2nd edition) (Prentice-Hall, 2003)

Giarrantano, J.C. y Riley, G. Expert Systems Principles andProgramming (3 ed.) (PWS Pub. Co., 1998)

Lucas, P. y Van Der Gaag, L. Pinciples of Expert systems(Addison–Wesley Publishers Co., 1991)

Inteligencia Artificial II 2010–2011 Representacion del conocimiento mediante reglas