Paradigmas de Lenguajes de Programaci´ on 2do cuatrimestre de 2007
Pr´ actica No 4 - Resoluci´on en L´ogica de Primer Orden En esta gu´ıa, salvo que se haga referencia a SLD, la palabra resoluci´ etodo de resoluci´on general. on denota el m´
Resoluci´ on en L´ogica Proposicional Ejercicio 1
Convertir a Forma Normal Conjuntiva las siguientes f´ormulas proposicionales: . p→p
i
. (p ∧ q ) → p
ii
. ¬(p ∧ q ) → ( ¬p ∨ ¬q )
iii
. (p ∨ (¬p → q )) → (p ∨ q )
iv
. (p ∨ q ) → p
v
vi
. (p ∧ q ) ∨ (p ∧ r) Ejercicio 2
. Determinar si las f´ormulas del ejercicio anterior son tautolog´ıas utilizando el m´etodo de resoluci´ on para la l´ogica proposicional.
i
. ¿Se deduce ( p ∧ q ) de ( ¬p → q ) ∧ ( p → q ) ∧ ( ¬p → ¬q )? Contestar utilizando el m´ etodo de resoluci´ on para la l´ogica proposicional.
ii
Ejercicio 3
Expresar adecuadamente en l´ogica proposicional, y luego en forma normal conjuntiva, lo siguiente: . El mundo es finito e ilimitado, o limitado.
i
. Lo finito, es chico.
ii
. Lo limitado, es chico.
iii
. El mundo anda con mie do.
iv
. Quien anda con miedo, arruga.
v
. El que ar ruga es humano o un pa˜nuelo.
vi
. El mundo es inhumano.
vii
Aplicando resoluci´on, concluir que: . el mundo es chico
i
. el mundo es un pa˜nuelo
ii
P´ agina 1 de 5
Paradigmas de Lenguajes de Programaci´ on 2do cuatrimestre de 2007
Resoluci´ on en L´ogica de Primer Orden Ejercicio 4
Convertir a Forma Normal Negada (NNF) las siguiente f´ ormulas de primer orden: . ∀x.∀y.(¬Q(x, y ) → ¬P (x, y )) . ∀x.∀y.((P (x, y ) ∧ Q(x, y )) → R (x, y ))
i
ii
. ∀x.∃y.(P (x, y ) → Q (x, y ))
iii
Ejercicio 5
Convertir a Forma Normal de Skolem y luego a Forma Clausal las siguientes f´ormulas de primer orden: . ∃x.∃y.x < y
i
. ∀x.∃y.x < y
ii
. ∀x.(¬P (x) ∨ ∃y.(P (y ) ∧ Q(y )))
iii
. ∃x.∀y.(P (x, y ) ∧ Q(x) ∧ ¬R(y ))
iv
. ∀x.(P (x) ∧ ∃y.(Q(y ) ∨ ∀z. ∃w.(P (z ) ∧ ¬Q(w))))
v
Ejercicio 6
Escribir en l´ogica de primer orden y luego convertir a Forma Clausal los siguientes enunciados expresados en lenguaje natural: . Todo conjunto no vac´ıo de n´ umeros naturales tiene un elemento m´ınimo.
i
Utilizar los siguientes predicados: N (x) para expresar que x es un n´umero natural, C (x) para x es conjunto, x ∈ y para x pertenece a y y x ≤ y para x menor o igual a y . . Un drag´on es feliz si todas sus cr´ıas pueden volar. Los dragones verdes pueden volar. Un drag´on es verde si al menos uno de sus progenitores es verde, y es rosa en cualquier otro caso.
ii
Utilizar los siguientes predicados: D(x) para expresar que x es un drag´on, P (x, y ) para x es el progenitor de y , F (x) para x es feliz, V (x) para indicar que x puede volar, V E (x) para x es verde y R(x) para x es rosa. Ejercicio 7
Convertir las siguientes f´ormula a forma prenexa sin pasar a NNF y utilizando las equivalencias adicionales a aquellas vistas en clase: . ¬(∃x)A ⇐⇒ (∀x)¬A
i
. ¬(∀x)A ⇐⇒ (∃x)¬A
ii
P´ agina 2 de 5
Paradigmas de Lenguajes de Programaci´ on 2do cuatrimestre de 2007
. [¬(∃x)(∀y )P (x, y ) ∨ (∀x)Q(x)] ∧ [¬(∀x)A ∨ (∀x)B (x)]
iii
. ¬(∃x)(∃y )[¬P (x, y ) ∨ (∀x)(∀y )P (x, y )]
iv
. (∀x)[¬(∀y )[((∀z )P (x,y,z ) ∧ ¬(∃w )Q(x,y,w )) ∨ R(x)] ∨ S (x)]
v
Ejercicio 8
La computadora de la polic´ıa registr´ o que el Sr. Smullyan no pag´o una multa. Cuando el Sr. Smullyan pag´o la multa, la computadora grab´ o este hecho pero, como el programa ten´ıa errores, no borr´o el hecho que expresaba que no hab´ıa pagado la multa. A partir de la informaci´on almacenada en la computadora, mostrar utilizando resoluci´on que el presidente es un esp´ıa. Utilizar los siguientes predicados y constantes: P ag ´o(x) para expresar que x pag´o su multa, Esp´ıa(x) para x es un esp´ ıa, smullyan para el Sr. Smullyan y presidente para el presidente. Ejercicio 9
Determinar para cada uno de los siguientes pares de t´erminos de primer orden si son unificables o no. En cada caso justificar su respuesta exhibiendo una secuencia exitosa o fallida (seg´ un el caso) del algoritmo degeneral Martelli-Montanari. Asimismo, caso de aque t´erminos sean unificables x ,y, zenvariables; , b, clos f, g s´ımbolos mgu (“most unifier”). Notaci´on: constantes; de indicar funci´on.el . f (x,x,y ) y f (a,b,z )
i
. f (x) y y
ii
. f (g (c, y ), x)) y f (z, g (z, a))
iii
. f (a) y g (y )
iv
. f (x) y x
v
. g (x, y ) y g (f (y ), f (x))
vi
Ejercicio 10
Ejemplos para unificaci´on y resoluci´on. . La relaci´on entre t´erminos unifica con, ¿es reflexiva? ¿Es sim´ etrica? ¿Es transitiva?
i
. ¿Existe alg´un t´ermino t tal que todo t´ermino s unifique con ´el?
ii
. ¿C´omo aplicar´ıa el algoritmo de unificaci´ on visto, al problema de determinar si dado un conjunto finito de t´erminos existe un unificador com´un a todos?
iii
. Mostrar una cl´ausula que arroje un resolvente entre ella y ella misma.
iv
. Mostrar dos cl´ausulas, cada una con no m´as de dos predicados , que arrojen tres o m´as resolventes distintos entre ambas.
v
P´ agina 3 de 5
Paradigmas de Lenguajes de Programaci´ on 2do cuatrimestre de 2007
Ejercicio 11
Determinar si las siguientes f´ormulas son l´ogicamente v´alidas usando resoluci´on. . ∃x∀yR (x, y ) → ∀y ∃xR(x, y )
i
. ∀x∃yR (x, y ) → ∃y ∀xR(x, y )
ii
. ∃x[P (x) → ∀xP (x)]
iii
. ∃x[P (x) ∨ P (y )] → [∃xP (x) ∨ ∃xQ(x)]
iv
. ∃x[P (x) ∧ P (y )] → [∃xP (x) ∧ ∃xQ(x)]
v
. [∃xP (x) ∧ ∀xQ(x)] → ∃x[P (x) ∧ Q(x)]
vi
. ∀x∃y ∀z ∃w [P (x, y ) ∨ ¬P (w, z )]
vii
. ∀x.∀y.∀z. ((¬P (f (c)) ∨ ¬P (y ) ∨ Q(y )) ∧ P (f (z )) ∧ (¬P (f (f (x))) ∨ ¬Q(f (x))))
viii
Ejercicio 12
Aplicaciones del m´etodo de resoluci´ on. . Expresar en forma clausal la regla del modus ponens y mostrar que es v´alida, usando resoluci´on.
i
. Lo mismo para la regla del modus tollens.
ii
. Lo mismo para la regla de especia lizaci´on: de ∀ xP (x) concluir P (t) cualquiera sea el t´ermino t.
iii
Ejercicio 13
Cualquiera que sepa leer no es analfabeto. Los delfines son analfabetos. Algunos delfines son inteligentes. Demostrar utilizando resoluci´on que hay quienes son inteligentes pero analfabetos. Utilizar los siguientes predicados: L (x) para expresar que x sabe leer, A (x) para x es analfabeto, D (x) para x es delf´ın e I (x) para x es inteligente. Ejercicio 14
Dadas las siguientes cl´ausulas:
{P (x), ¬P (x), Q(a)} {P (x), ¬Q(y ), ¬R(x, y )} {¬P (x,x,z ), ¬Q(x, y ), ¬Q(y, z )} {M (1, 2, x)} . ¿Cu´ales son cl´ausulas de Horn?
i
. Indicar qu´e cl´ ausulas de Horn son hechos y qu´e cl´ausulas de Horn son goals.
ii
. Dar, para cad a cl´ausula, la f´ormula de primer orden que le corresponde.
iii
P´ agina 4 de 5
Paradigmas de Lenguajes de Programaci´ on 2do cuatrimestre de 2007
Ejercicio 15
Dadas las siguientes f´ormulas en l´ogica de primer orden:
∀x.(S (x) → ∃y. (T (y ) ∧ E (x, y ))) ∀x.(W (x) → S (x)) W (a) ∧ D (a)
∀z. (T (z ) ∧ ∃y.(D (y ) ∧ E (y, z ) → M (z ))) Determinar si la siguiente f´ormula es consecuencia del conjunto anterior utilizando resoluci´on SLD:
∃z. (T (z ) ∧ M (z ))
Ejercicio 16
Cualquier robot que puede resolver un problema l´ ogico es inteligente. Todos los robots japoneses pueden resolver todos los problemas l´ogicos. Existe al menos un problema l´ ogico. Alan es un robot japon´es. ¿Qui´ en es inteligente? Encontrarlo utilizando resoluci´ on SLD. Utilizar los siguientes predicados y constantes: R(x) para expresar que x es un robot, Res(x, y ) para x puede resolver y , P L(x) para x es un problema l´ogico, I (x) para x es inteligente, J (x) para x es japon´es y la constante alan para Alan.
P´ agina 5 de 5