Академический Документы
Профессиональный Документы
Культура Документы
mediante reglas
C. Graciani Daz
F. J. Martn Mateos
J. L. Ruiz Reina
Dpto. Ciencias de la Computaci
on e Inteligencia Artificial
Universidad de Sevilla
Tema 6: Representaci
on del conocimiento mediante reglas
Ventajas:
Facil acceso y disponibilidad de conocimiento (experto)
Coste reducido
Permanencia
Fiabilidad y rapidez
Respuestas no subjetivas
Explicaci
on del razonamiento
Herramientas de aprendizaje
Competitivos con expertos humanos
Tema 6: Representaci
on del conocimiento mediante reglas
Otros componentes:
Interfaz de usuario
Subsistema de explicaci
on del conocimiento inferido
Subsistema de adquisici
on de nuevo conocimiento
Herramientas de aprendizaje
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Reglas
SI la luz del sem
aforo es verde
Y no hay peatones cruzando
ENTONCES contin
ua la marcha
SI x es n
umero natural
Y x es par
ENTONCES x es divisible por 2
SI el reactivo toma color azul
Y la morfolog
a del organismo es alargada
Y el paciente es un posible receptor
ENTONCES existe una evidencia (0.7) de que
la infecci
on proviene de pseudomonas.
Hechos
La luz del sem
aforo es verde
El reactivo toma color azul
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Una interpretaci
on es un conjunto (universo) junto con una
asignaci
on de funciones y relaciones concretas, en ese
universo, a los smbolos de funci
on y predicado
Una interpretaci
on asigna un valor de verdad a cada formula
(V o F)
Decimos que una formula G es consecuencia logica de un
conjunto de formulas {F1 , F2 , . . . , Fn } (y lo escribiremos
{F1 , F2 , . . . , Fn } |= G) si para toda interpretaci
on I tal que
I(Fi ) = V para todo i = 1, . . . , n, entonces se tiene que
I(G) = V
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
P2 . . . Pn
P1 P2 . . . Pn Q
(Q)
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Teorema: BC |= P BC P
Este teorema nos sugiere como implementar algoritmos para
responder preguntas a una base de conocimiento
Esencialmente, se trata de implementar procesos que buscan
una secuencia de aplicaciones validas de la regla de Modus
Ponens que obtenga P como formula final
Por tanto, algoritmos de b
usqueda
Esta b
usqueda puede realizarse:
Hacia atras: partiendo de P
Hacia adelante: partiendo de BC
Tema 6: Representaci
on del conocimiento mediante reglas
Podemos dise
nar un algoritmo de encadenamiento hacia atras
basado en la regla de Modus Ponens Generalizado
Dado un objetivo Q y una regla Q1 . . . Qn P, los
nuevos objetivos podran ser {(Q1 ), . . . , (Qn )} si
encontramos una sustituci
on tal que (P) = (Q)
Dicha sustituci
on se denomina unificador de P y Q
Tema 6: Representaci
on del conocimiento mediante reglas
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)}
Tema 6: Representaci
on del conocimiento mediante reglas
Algoritmo de unificacion
Algoritmo de unificacion
FUNCI
ON UNIFICA(S,T)
Devolver UNIFICA-REC(S,T,{})
FUNCI
ON 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 FALLO
2.2 Si S no ocurre en T, devolver {S 7 T}
3 Si no, si T es variable, entonces devolver
UNIFICA-REC(T,S, )
4 Si no, sean S = f(S1 ,...,Sn ) y T = g(T1 ,...,Tm )
4.1 Si f 6= g
o n 6= m, devolver FALLO
4.2 En otro caso, devolver
UNIFICA-REC-LISTA([S1 ,...,Sn ],[T1 ,...,Tn ], )
FUNCI
ON 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 FALLO
2.2 En caso contrario, devolver
UNIFICA-REC-LISTA( (RESTO(LS)), (RESTO(LT)),COMPONER( , ))
Tema 6: Representaci
on del conocimiento mediante reglas
Algoritmo de unificacion
Tema 6: Representaci
on del conocimiento mediante reglas
SLD-resolucion
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Arboles
SLD
Un arbol SLD representa el proceso de b
usqueda
Los nodos de un arbol representan los objetivos pendientes
(atomos por deducir)
Ramas de exito
Una rama de exito es aquella que termina en un nodo de exito
Cada rama de exito construye una sustituci
on (respuesta)
que se va concretando mediante los sucesivos pasos de
unificaci
on
Cada rama de exito representa una SLD-refutacion
Tema 6: Representaci
on del conocimiento mediante reglas
Algoritmo de SLD-resolucion
Algoritmo de SLD-resolucion
FUNCI
ON SLD-RESOLUCI
ON(BC,Q)
Devolver SLD-RESOLUCI
ON-REC(BC,{Q},{})
FUNCI
ON SLD-RESOLUCI
ON-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 distinto
de FALLO
3.1 Hacer NUEVOS-OBJETIVOS igual a
{P1 , ..., Pn } (OBJETIVOS\{ACTUAL})
3.2 A
nadir a RESPUESTAS el resultado de
SLD-RESOLUCI
ON-REC(BC,NUEVOS-OBJETIVOS,COMPONER( , ))
4 Devolver RESPUESTAS
Tema 6: Representaci
on del conocimiento mediante reglas
Teorema (correcci
on): Si SLD-RESOLUCION(BC,P)
entonces BC (P)
Teorema: Si BC (P), entonces existe una SLD-refutaci
on
a partir de P que construye una respuesta tal que es un
caso particular de
Problema: el algoritmo de SLD-resolucion podra no encontrar
tal SLD-refutaci
on debido a la existencia de ramas infinitas
Estrategia de b
usqueda:
En nuestro pseudocodigo, b
usqueda en profundidad
Selecci
on del objetivo a resolver: cualquier funcion de seleccion
servira
Orden en el que se usan las reglas y hechos de la BC
Tema 6: Representaci
on del conocimiento mediante reglas
Programacion logica
El algoritmo de SLD-resoluci
on es el elemento en torno al cual
se desarrolla el paradigma declarativo de programacion logica
Programa logico: conjunto de reglas y hechos
Declarativo: que es en lugar de como se hace
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Sistemas de produccion
Un sistema de produccion es un mecanismo computacional
basado en reglas de produccion de la forma: Si se cumplen
las condiciones entonces se ejecutan las acciones
El conjunto de las reglas de produccion forma la base de
conocimiento que describe como evoluciona un sistema
Las reglas de produccion act
uan sobre una memoria de trabajo
o base de datos que describe el estado actual del sistema
Si la condici
on de una regla de produccion se satisface
entonces dicha regla esta activa
El conjunto de reglas de produccion activas en un instante
concreto forma el conjunto de conflicto o agenda
La estrategia de resolucion selecciona una regla del conjunto
de conflicto para ser ejecutada o disparada modificando as la
memoria de trabajo
Tema 6: Representaci
on del conocimiento mediante reglas
Sistemas de produccion
Modelo de hecho:
<
ndice>: <s
mbolo>(<elemento>*)
Modelo de regla:
REGLA <Nombre>:
SI <Condici
on>*
ENTONCES
on>*
<Acci
Tema 6: Representaci
on del conocimiento mediante reglas
Condiciones:
Existencia de cierta informacion: <patrn>
Ausencia de cierta informacion: no(<patrn>)
Relaciones entre datos
Acciones:
Incluir nueva informacion: INCLUIR: <hecho>)
Eliminar informacion: ELIMINAR: <hecho>)
Tema 6: Representaci
on del conocimiento mediante reglas
REGLA Ungulado-2:
Es(mam
fero)
Rumia()
=>
INCLUIR: Es(ungulado)
REGLA Mam
fero-1:
Tiene(pelos)
=>
INCLUIR: Es(mam
fero)
REGLA Mam
fero-2:
Da(leche)
=>
INCLUIR: Es(mam
fero)
Tema 6: Representaci
on del conocimiento mediante reglas
Sistemas de produccion
Componentes:
Base de hechos (memoria de trabajo). Elemento dinamico
Base de reglas. Elemento estatico
Motor de inferencia (produce los cambios en la memoria de
trabajo)
Elementos adicionales:
Algoritmo de equiparacion de patrones: Algoritmo para calcular
eficientemente la agenda
Estrategia de resolucion de conflictos: Proceso para decidir en
cada momento que regla de la agenda debe ser disparada
Tema 6: Representaci
on del conocimiento mediante reglas
Ciclo de ejecucion
Reglas
Hechos
Equiparacion de patrones
Agenda
Resolucion de conflictos
Disparo
Tema 6: Representaci
on del conocimiento mediante reglas
Resolucion de conflictos
Tema 6: Representaci
on del conocimiento mediante reglas
Tabla de seguimiento
Base de Hechos
1: Tiene(pelos)
2: Tiene(pezuas)
3: Tiene(rayas-negras)
4: Es(mamfero)
5: Es(ungulado)
6: Es(cebra)
E
0
0
0
1
2
3
Agenda
Mamfero-1: 1
Ungulado-1: 4,2
Cebra: 5,3
D
1
2
3
Tema 6: Representaci
on del conocimiento mediante reglas
Tema 6: Representaci
on del conocimiento mediante reglas
Tabla de seguimiento
Base de Hechos
1:Lista(Mar Ana Luis Pepe)
2:Alumno(Mar)
3:Alumno(Ana 2 3 9)
E
0
0
0
4:Alumno(Luis)
5:Alumno(Pepe 3)
0
0
7:Lista(Mar Luis)
S
1
Agenda
Elimina: 3,1
?n 7 Ana
$?i 7 Mar
$?f 7 Luis Pepe
Elimina: 5,1
?n 7 Pepe
$?i 7 Mar Ana Luis
$?f 7
Elimina: 3,6
?n 7 Ana
$?i 7 Mar
$?f 7 Luis
Tema 6: Representaci
on del conocimiento mediante reglas
Equiparacion de patrones
Tema 6: Representaci
on del conocimiento mediante reglas
Equiparacion de patrones
Tema 6: Representaci
on del conocimiento mediante reglas
CLIPS
CLIPS C Language Integrated Production Systems
http://www.ghg.net/clips/CLIPS.html
Caractersticas:
Conocimiento: Reglas, objetos y procedimental
Portabilidad: implementado en C
Integracion y Extensibilidad: C, Java, FORTRAN, ADA
Documentacion
Bajo coste: software libre
Tema 6: Representaci
on del conocimiento mediante reglas
Bibliografa
Russell, S. y Norvig, P.
Inteligencia artificial: Un enfoque moderno (segunda edici
on)
(Prentice Hall, 2004).
Cap. 9: Inferencia en logica de primer orden
Russell, S. y Norvig, P.
Artificial Intelligence (A Modern Approach)
(PrenticeHall, 2010). Third Edition.
Cap. 9: Inference in First-Order Logic.
Tema 6: Representaci
on del conocimiento mediante reglas