-
8/16/2019 Representacion del conocimiento mediante reglas
1/42
Tema 6: Representación del conocimientomediante reglas
C. Graciani D́ıazF. J. Mart́ın MateosJ. L. Ruiz Reina
Dpto. Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
2/42
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:
Fácil acceso y disponibilidad de conocimiento (experto)Coste reducidoPermanenciaFiabilidad y rapidezRespuestas no subjetivas
Explicación del razonamientoHerramientas de aprendizajeCompetitivos con expertos humanos
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
3/42
Sistemas basados en el conocimiento
Componentes principales de un SBC
Conocimiento, que necesita ser representado Mecanismos que permitan inferir nuevo conocimientoEstos componentes debeŕıan constituir m´ odulos independientes
Otros componentes:
Interfaz de usuarioSubsistema de explicación del conocimiento inferidoSubsistema de adquisición de nuevo conocimientoHerramientas de aprendizaje
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
4/42
Representación del conocimiento
Requisitos de los formalismos de representación delconocimiento:
Potencia expresivaFacilidad de interpretaciónEficiencia deductivaPosibilidad de explicación y justificación
Algunos formalismos de representación:
Reglas, redes semánticas, marcos, lógicas de descripción,lógica de primer orden, . . .
Cada formalismo de representación usa un método de
inferencia espećıfico:Razonamiento hacia adelante, razonamiento hacia atrás(SLD-resolución), herencia, tableros, resolución, . . .
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
5/42
Representación del conocimiento mediante reglas
ReglasSI la luz del sem ́aforo es verde
Y no hay peatones cruzandoENTONCES continúa la marcha
S I x e s número 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ón proviene de pseudomonas.
HechosLa luz del sem ́aforo es verde
El reactivo toma color azul
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
6/42
Representación del conocimiento mediante reglas
Esencialmente, existen dos mecanismos para inferir nuevoconocimiento a partir de un conjunto de reglas
Razonamiento hacia atrás (backward chaining )Razonamiento hacia adelante (forward chaining )
Se estudian mejor desde un punto de vista formal mediante suformulación l´ ogica
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/http://goback/
-
8/16/2019 Representacion del conocimiento mediante reglas
7/42
Lógica de primer orden
Lenguaje de la lógica de primer orden
Śımbolos de variable : x, y, . . .Śımbolos de funci´ on (con su aridad ): f , g, ...(las constantes
son śımbolos de función de aridad 0)Śımbolos de predicado (con su aridad ): p, q , . . .Conectivas: ¬, ∨, ∧, →, ↔Cuantificadores: ∀, ∃
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
8/42
Lógica de primer orden
Términos de la lógica de primer orden
Las variables son términosSi t1, . . . , tn son términos y f es un śımbolo de función dearidad n, entonces f(t1, . . . , tn) es un término
Fórmulas de la lógica de primer ordenSi t1, . . . , tn son términos y p es un śımbolo de predicado dearidad n, entonces p(t1, . . . , tn) es una fórmula (atómica)Si F1 y F2 y son fórmulas y x es una variable, entoncesF1 ∨ F2, F1 ∧ F2, F1 → F2, ¬F1, F1 ↔ F2, ∀xF1 y ∃xF1
tambíen son fórmulas
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
9/42
Lógica de primer orden
Una interpretaci´ on es un conjunto (universo ) junto con unaasignación de funciones y relaciones concretas, en eseuniverso, a los śımbolos de función y predicado
Una interpretación asigna un valor de verdad a cada fórmula
(V ó F)Decimos que una fórmula G es consecuencia l´ ogica de unconjunto de fórmulas {F1, F2, . . . , Fn} (y lo escribiremos{F1, F2, . . . , Fn} |= G) si para toda interpretación I tal que
I(Fi) = V para todo i = 1, . . . ,
n, entonces se tiene queI(G) = V
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
R l h h b d i i
http://find/http://goback/
-
8/16/2019 Representacion del conocimiento mediante reglas
10/42
Reglas, hechos y bases de conocimiento
Una regla es una fórmula de primer orden de la forma
P1 ∧ P2 ∧ . . . ∧ Pn → Q
donde P1, . . . , Pn, Q son fórmulas atómicas
Las variables de una regla se interpretan universalmentecuantificadasCabeza de la regla: QCuerpo de la regla: P1 ∧ P2 ∧ . . . ∧ Pn
Un hecho es una fórmula atómica
Un hecho puede verse como una regla sin cuerpoUna base de conocimiento es un conjunto de hechos y reglas
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
R l h h b d i i
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
11/42
Reglas, hechos y bases de conocimiento
Una pequeña 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 2012–2013 Tema 6: Representación del conocimiento mediante reglas
D d i´ b d i i t
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
12/42
Deducción en una base de conocimiento
Sustituciones: θ = {x1 → t1, . . . , xn → tn}Si Q es una fórmula atómica, θ(Q) es la fórmula obtenidasustituyendo cada aparición 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 sustitución tal que θ(Pi) = θ(P′i ), para todo i
Dada una base de conocimiento BC y una fórmula atómica P,decimos que BC ⊢ P si existe una secuencia de fórmulas
F1, . . . , Fn tales que Fn = P y cada Fi está en BC o seobtiene de fórmulas anteriores mediante aplicación de ModusPonens Generalizado
Detalle técnico: cada vez que se usa una fórmula, se puedenrenombrar sus variables (de manera consistente)
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
D d i´ b d i i t
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
13/42
Deduccion en una base de conocimiento
Una pequeña 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 sustitución θ = {x → Juan,y → Pedro})
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
D d i´ b s d i i t
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
14/42
Deduccion en una base de conocimiento
Teorema: BC |= P ⇐⇒ BC ⊢ PEste teorema nos sugiere cómo implementar algoritmos pararesponder preguntas a una base de conocimientoEsencialmente, se trata de implementar procesos que buscan
una secuencia de aplicaciones válidas de la regla de ModusPonens que obtenga P como fórmula finalPor tanto, algoritmos de b´ usqueda
Esta búsqueda puede realizarse:
Hacia atrás : partiendo de P
Hacia adelante : partiendo de BC
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Razonamiento hacia atrás con reglas de primer orden
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
15/42
Razonamiento hacia atras con reglas de primer orden
Podemos diseñar un algoritmo de encadenamiento hacia atrásbasado en la regla de Modus Ponens Generalizado
Dado un objetivo Q y una regla Q1 ∧ . . . ∧ Qn → P, losnuevos objetivos podŕıan ser {θ(Q1), . . . , θ(Qn)} siencontramos una sustitución θ tal que θ(P) = θ(Q)
Dicha sustitución 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 unificaci´ on
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Unificación
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
16/42
Unificacion
Ejemplos:
Objetivo Cabeza de reglaamigo(x,Juan) amigo(Antonio,y)
Unificador: {x → Antonio, y →Juan} progenitor(padre(x),x) progenitor(y,Juan)
Unificador: {x →Juan, y → padre(Juan)}
quiere(x,z) amigo(Antonio,y)
Unificador: No existe
quiere(x,z) quiere(padre(y),x)
Unificador: {x → padre(Juan), y →Juan, z → padre(Juan)}
quiere(x,z) quiere(padre(y),x)
Unificador: {x → padre(y), z → padre(y)}
Dos átomos cualesquiera podŕıan no ser unificables, o serlo ytener más de un unificador
Se puede demostrar que si son unificables entonces existe ununificador más general que cualquier otro
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
17/42
Algoritmo de unificación
-
8/16/2019 Representacion del conocimiento mediante reglas
18/42
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 → padre(y)}]UNIFICA-REC-LISTA({z},{ padre(y)},{x → padre(y)}) ⇒
[UNIFICA-REC(z,padre(y),{x → padre(y)}) = {z → padre(y)}]UNIFICA-REC-LISTA({},{},{x → padre(y),z → padre(y)}) ⇒{x → padre(y),z → padre(y)}
Teorema: UNIFICA(S,T) no devuelve FALLO si y sólo si S y T
se pueden unificar; en ese caso, devuelve un unificador de S yT más general que cualquier otro unificador
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
SLD-resolución
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
19/42
SLD-resolucion
Combinando unificación y encadenamiento hacia atráspodemos obtener un procedimiento que permite responder apreguntas del tipo ¿BC |= P?
En concreto, el algoritmo encontrará sustituciones θ tal que
BC |= θ(P). A estas sustituciones se las llama respuestas Este algoritmo se denomina SLD-resoluci´ on
El algoritmo realiza una búsqueda en profundidad(backtracking)
Como es habitual, esta búsqueda se puede representar
mediante un árbol
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Un ejemplo de árbol SLD
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
20/42
Un ejemplo de arbol SLD
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Árboles SLD
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
21/42
Arboles SLD
Un árbol SLD representa el proceso de búsqueda
Los nodos de un árbol representan los objetivos pendientes(átomos por deducir)
Nodo ráız: objetivo inicial
Nodos finales:
Un nodo de fallo se obtiene cuando su primer átomo no es
unificable con la cabeza de ninguna regla o hechoUn nodo de éxito es aquél que no tiene objetivos pendientes
Ramas de éxito
Una rama de éxito es aquella que termina en un nodo de éxito Cada rama de éxito “construye” una sustitución (respuesta)
que se va “concretando” mediante los sucesivos pasos deunificaciónCada rama de éxito representa una SLD-refutaci´ on
Renombrado de reglas y hechos
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Algoritmo de SLD-resolución
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
22/42
Algoritmo de SLD resolucion
Algoritmo de SLD-resolución
FUNCIÓN SLD-RESOLUCIÓN(BC,Q)Devolver SLD-RESOLUCIÓN-REC(BC,{Q},{})
FUNCIÓN SLD-RESOLUCIÓN-REC(BC,OBJETIVOS,θ)1 Si OBJETIVOS está 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-RESOLUCIÓN-REC(BC,NUEVOS-OBJETIVOS,COMPONER( θ,σ))4 Devolver RESPUESTAS
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Propiedades del algoritmo de SLD-resolución
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
23/42
Propiedades del algoritmo de SLD resolucion
Teorema (correcci´ on): Si θ ∈ SLD-RESOLUCION(BC,P)entonces BC ⊢ θ(P)
Teorema: Si BC ⊢ σ(P), entonces existe una SLD-refutacióna partir de P que construye una respuesta θ tal que σ es “uncaso particular” de θ
Problema: el algoritmo de SLD-resolución podŕıa no encontrartal SLD-refutación debido a la existencia de ramas infinitas
Estrategia de búsqueda:
En nuestro pseudocódigo, búsqueda en profundidadSelección del objetivo a resolver: cualquier función de selección
serviŕıaOrden en el que se usan las reglas y hechos de la BC
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Programación lógica
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
24/42
g g
El algoritmo de SLD-resolución es el elemento en torno al cualse desarrolla el paradigma declarativo de programaci´ on l´ ogica
Programa lógico: conjunto de reglas y hechosDeclarativo: “qué es” en lugar de “cómo se hace”
Una base de conocimiento puede verse como un programal´ ogico
Las respuestas que calcula el algoritmo de SLD-resoluciónpueden verse como la salida que calcula el programa
PROLOG es el lenguaje de programación más conocidobasado en el paradigma de la programación lógica
Debido a que el encadenamiento hacia atrás forma parte delpropio intérprete, PROLOG es un lenguaje especialmenteadecuado para la implementación de SBCs basados en reglascon razonamiento hacia atrás
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Deducción hacia adelante
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
25/42
En contraposición al encadenamiento hacia atrás, podemos
aplicar la regla de Modus Ponens Generalizado hacia adelanteA partir de los hechos, y usando las reglas, obtener nuevoshechosDe la misma manera, los hechos deducidos permiten obtenernuevos hechos
Problemas adecuados para razonar hacia adelanteMonitorización y controlProblemas dirigidos por los datosSin necesidad de explicación
Problemas adecuados para razonar hacia atrás
DiagnósticoProblemas dirigidos por los objetivosInteracción/Explicación al usuario
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Deducción hacia adelante
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
26/42
Algoritmo de encadenamiento hacia adelante
FUNCIÓN 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 ciertosRi en BC, i=1,...,n,2.1.1 Hacer S = θ(Q)2.1.2 Si S (o un renombrado) no está ni en BC ni en
DEDUCIDOS, añadir 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ñadir DEDUCIDOS a BC y volver al punto 1
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Deducción hacia adelante
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
27/42
Ejemplo: una pequeña 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 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Ejemplo: una pequeña base de conocimiento
http://find/http://goback/
-
8/16/2019 Representacion del conocimiento mediante reglas
28/42
j
Traza del algoritmoENCADENAMIENTO-HACIA-ADELANTE(BC,hereda-de(x,y))
H6: quiere(Juan, Pedro)| R2 {x1 → Juan, y1 → Pedro} H4
H7: antecesor(padre(x), x)| R4 {x1 → padre(x), y1 → x}, H1
H8: antecesor(padre(padre(x)), x)| R5 {x1 → padre(padre(x2)), z1 → padre(x2), y1 → x2},| H1 {x → padre(x2)}, H1 {x → x2}
H9: hereda-de(Juan, Pedro)| R1 {x1 → Juan, y1 → Pedro}, H5, H2, H6θ = {x → Juan, y → Pedro}
H10: quiere(x, padre(x))| R3 {x1 → x, y1 → padre(x)} H7
H11: quiere(x, padre(padre(x)))| R3 {x1 → x, y1 → padre(padre(x))} H8
H12: hereda-de(Juan, padre(padre(Juan)))| R1 {x1 → Juan, y1 → padre(padre(Juan))},| H5, H3, H11 {x → Juan}θ = {x → Juan, y → padre(padre(Juan))}
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Sistemas de producción
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
29/42
Un sistema de producci´ on es un mecanismo computacional
basado en reglas de producci´ on de la forma: “Si se cumplenlas condiciones entonces se ejecutan las acciones ”
El conjunto de las reglas de producción forma la base de conocimiento que describe como evoluciona un sistema
Las reglas de producción actúan sobre una memoria de trabajo o base de datos que describe el estado actual del sistemaSi la condición de una regla de producción se satisfaceentonces dicha regla está activaEl conjunto de reglas de producción activas en un instanteconcreto forma el conjunto de conflicto o agenda
La estrategia de resoluci´ on selecciona una regla del conjuntode conflicto para ser ejecutada o disparada modificando aśı lamemoria de trabajo
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Sistemas de producción
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
30/42
Paradigma de los sistemas de producción
Hechos: pieza básica de informaciónReglas: describen el comportamiento del programa en funciónde la información existente
Modelo de hecho:: (*)
Modelo de regla:REGLA :SI *ENTONCES
*
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Elementos de una regla
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
31/42
Condiciones:
Existencia de cierta información: Ausencia de cierta información: no()
Relaciones entre datosAcciones:
Incluir nueva información: INCLUIR: )Eliminar información: ELIMINAR: )
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Ejemplo de sistema de producción
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
32/42
Ejemplo
Base de Hechos:1: Tiene(pelos)2: Tiene(pezuñas)3: Tiene(rayas-negras)
Base de Reglas:REGLA Jirafa: REGLA Ungulado-2:
Es(ungulado) Es(mam ́ıfero)
Tiene(cuello-largo) Rumia()=> =>INCLUIR: Es(jirafa) INCLUIR: Es(ungulado)
REGLA Cebra: REGLA Mamı́fero-1:Es(ungulado) Tiene(pelos)Tiene(rayas-negras) =>=> INCLUIR: Es(mam ́ıfero)
INCLUIR: Es(cebra) REGLA Mam ́ıfero-2:REGLA Ungulado-1: Da(leche)
Es(mam ́ıfero) =>Tiene(pezuñas) INCLUIR: Es(mam ́ıfero)=>INCLUIR: Es(ungulado)
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Sistemas de producción
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
33/42
Componentes:
Base de hechos (memoria de trabajo ). Elemento dinámicoBase de reglas. Elemento estáticoMotor de inferencia (produce los cambios en la memoria detrabajo)
Elementos adicionales:
Algoritmo de equiparaci´ on de patrones : Algoritmo para calculareficientemente la agendaEstrategia de resoluci´ on de conflictos : Proceso para decidir en
cada momento qué regla de la agenda debe ser disparada
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Ciclo de ejecución
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
34/42
Reglas
Equiparacion de patrones
Agenda
Hechos
Disparo
Resolucion de conflictos
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Resolución de conflictos
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
35/42
Una activación sólo se produce una vez
Estrategias más comunes:
Tratar la agenda como una pilaTratar la agenda como una cola
Elección aleatoriaRegla más espećıfica (número de condiciones)Activación más reciente (en función de los hechos)Regla menos utilizadaMejor (pesos)
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Tabla de seguimiento
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
36/42
Base de Hechos E Agenda D
1: Tiene(pelos) 0 Mamífero-1: 1 12: Tiene(pezuñas) 0
3: Tiene(rayas-negras) 04: Es(mamífero) 1 Ungulado-1: 4,2 2
5: Es(ungulado) 2 Cebra: 5,3 3
6: Es(cebra) 3
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Variables: simples, múltiples, anónimas, con restricciones
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
37/42
Variable simple: ?x, ?y, ?elemento
Variable anónima simple: ?
Variable múltiple: $?x, $?y, $?elemento
Variable anónima múltiple: $?
Variables con restricciones: ?x&a|b, ?x&~a, ?x&:(< ?x 3)
Sistema de producción 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 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Tabla de seguimiento
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
38/42
Base de Hechos E S Agenda D S1:Lista(Mar Ana Luis Pepe) 0 12:Alumno(Mar) 03:Alumno(Ana 2 3 9) 0 Elimina: 3,1
?n → Ana$?i → Mar$?f →Luis Pepe 1
4:Alumno(Luis) 05:Alumno(Pepe 3) 0 Elimina: 5,1
?n →Pepe$?i → Mar Ana Luis$?f → 1
6:Lista(Mar Ana Luis) 1 2 Elimina: 3,6?n → Ana$?i → Mar
$?f →Luis 27:Lista(Mar Luis) 2
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Equiparación de patrones
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
39/42
La forma más 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ón 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ón incluiren la agenda todas las posibles activaciones de laregla Ri
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Equiparación de patrones
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
40/42
Para hacer más eficiente el proceso de equiparación 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 condición aparecefrecuentemente en más de una regla
El algoritmo RETE aprovecha estas caracteŕısticas para limitarel esfuerzo requerido para calcular el conjunto de conflicto
después de que una regla es disparada
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
CLIPS
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
41/42
CLIPS ≡ C Language Integrated Production Systems
http://www.ghg.net/clips/CLIPS.htmlLenguaje basado en reglas de producción.
Desarrollado en el Johnson Space Center de la NASA.
Relacionado con OPS5 y ART
Sintáxis espećıfica de CLIPS: deffacts, defrule, assert,retract
Caracteŕısticas:
Conocimiento: Reglas, objetos y procedimentalPortabilidad: implementado en C
Integración y Extensibilidad: C, Java, FORTRAN, ADADocumentaciónBajo coste: software libre
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
Bibliograf́ıa
http://find/
-
8/16/2019 Representacion del conocimiento mediante reglas
42/42
Russell, S. y Norvig, P.Inteligencia artificial: Un enfoque moderno (segunda edici´ on)(Prentice Hall, 2004).
Cap. 9: “Inferencia en lógica de primer orden”
Russell, S. y Norvig, P.
Artificial Intelligence (A Modern Approach)(Prentice–Hall, 2010). Third Edition.
Cap. 9: “Inference in First-Order Logic”.
Giarrantano, J.C. y Riley, G.
Expert Systems Principles and Programming (3 ed.)(PWS Pub. Co., 1998)
Inteligencia Artificial 2012–2013 Tema 6: Representación del conocimiento mediante reglas
http://find/