Clase 4 Logica de Predicados
Clase 4 Logica de Predicados
Clase 4 Logica de Predicados
Idea:
La lógica como sistema de representación del conocimiento y
de obtención de consecuencias (control)
Fórmulas atómicas
Fórmulas
Conectores
Fórmulas atómicas
Términos
autor(quijote, cervantes)
escritor(cervantes)
autor(quijote, Quién)
Conectores
Negación : (~)
Disyunción : (OR)
Conjunción : (AND)
Implicación : ()
Equivalencia :
LOGICA DE PREDICADOS
Negación: Genera una fórmula que posee valores lógicos complementarios a los de
la fórmula sobre la que se aplica. Estrictamente no es un conector, pues no conecta
dos fórmulas sino que transforma una.
autor(hamlet, cervantes)
Disyunción: Genera una fórmula cuyo valor lógico es el “OR” de los valores de las
dos fórmulas que conecta.
Conjunción: Genera una fórmula cuyo valor lógico es el “AND” de los valores de las
dos fórmulas que conecta.
p q es equivalente a p q
p q pq p p q
0 0 1 1 1
0 1 1 1 1
1 0 0 0 0
1 1 1 0 1
Equivalencia o doble implicación: Genera una fórmula que es cierta sólo si las
dos componentes poseen idéntico valor.
p q es equivalente a (p q) (q p)
p q pq q p (p q) (q p)
0 0 1 1 1
0 1 1 0 0
1 0 0 1 0
1 1 1 1 1
( X) ( descubrió( X, penicilina )
LOGICA DE PREDICADOS
Una fórmula se dice que está en forma normal si todos los cuantificadores han
sido desplazados al principio de la fórmula.
Unificación
(p q) p q
(p q) p q
en donde g(X) es la función de Skolem para este caso. Nótese que no sólo se
eliminan los cuantificadores existenciales sino también las variables ligadas a los
mismos.
------ * * * ------
0. La fórmula inicial
paso 2.
( bloque(X) encima(X,g(X)))
( bloque(X) piramide(g(X)))
( bloque(X) encima(X,Z) encima(Z,X))
( bloque(X) bloque(W) igual(X,W))
bloque(X) encima(X,g(X))
bloque(X) piramide(g(X))
bloque(X) encima(X,Z) encima(Z,X)
bloque(X) bloque(W) igual(X,W)
Un ejemplo del mundo de los bloques
bloque(X) encima(X,g(X))
bloque(Y) piramide(g(Y))
bloque(U) encima(U,Z) encima(Z,U)
bloque(V) bloque(W) igual(V,W)
A. hombre(marco)
B. pompeyano(marco)
C. (X)(pompeyano(X) romano(X))
D. dirigente(césar)
E. (X)(romano(X) leal(X,césar) odia(X,césar))
F. (X)(hombre(X) (Y) leal(X,Y)
G. (X)(Y) (hombre(X) dirigente(Y)
intenta_asesinar(X,Y) leal(X,Y))
H. intenta_asesinar(marco, césar)
I. (X) (romano(X) odia(X, césar))
Proceso de paso a cláusulas
A. hombre(marco)
B. pompeyano(marco)
C. pompeyano(X) romano(X)
D. dirigente(césar)
E. romano(X) leal(X,césar) odia(X,césar)
F. hombre(X) leal(X, g(X))
G. hombre(X) dirigente(Y) intenta_asesinar(X,Y) leal(X,Y)
H. intenta_asesinar(marco, césar)
I. romano(f) odia(f, césar))
Proceso de paso a cláusulas
A. hombre(marco)
B. pompeyano(marco)
C. pompeyano(X) romano(X)
D. dirigente(césar)
E. romano(X) leal(X,césar) odia(X,césar)
F. hombre(X) leal(X, g(X))
G. hombre(X) dirigente(Y) intenta_asesinar(X,Y) leal(X,Y)
H. intenta_asesinar(marco, césar)
I. romano(f)
J. odia(f, césar))
Proceso de paso a cláusulas
A. hombre(marco)
B. pompeyano(marco)
C. pompeyano(X) romano(X)
D. dirigente(césar)
E. romano(Y) leal(Y,césar) odia(Y,césar)
F. hombre(Z) leal(Z, g(Z)
G. hombre(W) dirigente(K) intenta_asesinar(W,K) leal(W,K)
H. intenta_asesinar(marco, césar)
I. romano(f)
J. odia(f, césar))
Sistemas de Deducción
S.D. Hacia-Delante:
S.D. Hacia-Atrás:
Nomenclatura de Kowalsky:
Hechos: b1 b2 b3 ... bm
Reglas: b a1 , a2 , ... , an
Hechos: b
a1
c a2 , ... , an
Se deduce:
o2 , ... , om
Deducción progresiva o Hacia-Delante
a1
c a1
A partir de: a1 , o2 , ... , om
a1
c
Se deduce:
o2 , ... , om
Deducción progresiva o Hacia-Delante
a1
c a1 , a2 , ... , an
A partir de: a1
a1
c a2 , ... , an
Se deduce:
Deducción progresiva o Hacia-Delante
a1
c a1 , a2 , ... , an
a1 , o2 , ... , om
2.2 Añadir a la base de datos, la siguiente regla o subobjetivo, donde
es la unificación más general de la sustitución:
(c a2 , ... , an)
( o2 , ... , om )
3. Si el objetivo está vacío, entonces el objetivo es cierto y las posibles
respuestas vienen dadas por la secuencia de unificaciones. En otro caso,
el objetivo no se puede verificar.
Ejemplo:
A los escaladores les disgusta la lluvia y, por otra parte, a los que les disgusta
la nieve no son esquiadores.
gusta(antonio, lluvia)
{ C lluvia } escalador(X) no_esquiador(X)
disgusta(miguel, lluvia) disgusta(Y, lluvia) escalador(Y)
disgusta(miguel, C) gusta(antonio, C)
gusta(miguel, A) disgusta(antonio, A)
gusta(antonio, lluvia)
gusta(antonio, nieve)
escalador(Quien)
Partiendo de los dos únicos hechos iniciales, el proceso de deducción podría ser
el siguiente:
gusta(antonio, nieve)
{ C nieve} escalador(X) no_esquiador(X)
disgusta(miguel, nieve) disgusta(Y, lluvia) escalador(Y)
{ Z miguel}
no_esquiador(miguel) no_esquiador(Z) disgusta(Z, nieve)
{ X miguel}
disgusta(miguel, C) gusta(antonio, C)
escalador(miguel)
{ Quien miguel} gusta(miguel, A) disgusta(antonio, A)
gusta(antonio, lluvia)
Conclusión: al menos un gusta(antonio, nieve)
escalador, miguel
escalador(Quien)
escalador(Quien)
Deducción regresiva o Hacia-Atrás
A partir de: a1
a1 , o2 , ... , om
a1
Se deduce:
o2 , ... , om
Deducción regresiva o Hacia-Atrás
Se deduce: b a1 , a2 , ..., an
a1 , a2 , ..., an , o2 , ... , om
Deducción regresiva o Hacia-Atrás
p
p a1 , a2 , ... , an
p , o2 , ... , om
2.2 Añadir a la base de datos, el siguiente objetivo, donde es la
unificación más general de la sustitución:
( o2 , ... , om )
( a1 , a2 , ... , an , o2 , ... , om )
3. Si el objetivo está vacío, entonces el objetivo es cierto y las posibles
respuestas vienen dadas por la secuencia de unificaciones. En otro caso,
el objetivo no se puede verificar.
Antonio y Miguel son dos amigos
miembros de un club alpino.
Cada miembro de este club que
escalador(X) no_esquiador(X)
no es esquiador es escalador.
escalador(Quien)
{ X Quien} escalador(X) no_esquiador(X)
no_esquiador(Quien) disgusta(Y, lluvia) escalador(Y)
{ Z Quien}
disgusta(Quien, nieve) no_esquiador(Z) disgusta(Z, nieve)
{ Quien miguel,
disgusta(miguel, C) gusta(antonio, C)
C nieve }
gusta(antonio, nieve) gusta(miguel, A) disgusta(antonio, A)
{}
gusta(antonio, lluvia)
Conclusión: al menos un gusta(antonio, nieve)
gusta(antonio, nieve)
escalador, miguel
escalador(Quien)