Вы находитесь на странице: 1из 6

Paradigmas de Lenguajes de Programacion

2do Cuatrimestre de 2010

Practica No 3 - Resolucion en Logica

En esta gua, salvo que se haga referencia a SLD, la palabra resolucion denota el metodo de resolucion general.

Resolucion en Logica Proposicional


Ejercicio 1 F

Convertir a Forma Normal Conjuntiva las siguientes formulas proposicionales:

i. p p
ii. (p q) p
iii. (p q) (p q)

iv. (p (p q)) (p q)
v. (p q) p
vi. (p q) (p r)

Ejercicio 2 F

i. Determinar si las formulas del ejercicio anterior son tautologas utilizando el metodo de resolucion para
la logica proposicional.

ii. Se deduce (p q) de (p q) (p q) (p q)? Contestar utilizando el metodo de resolucion para


la logica proposicional.

Ejercicio 3

Considerando las proposiciones mundo, finito, limitado, chico, con miedo, arruga, humano y
panuelo, expresar adecuadamente en logica proposicional, y luego en forma normal conjuntiva, lo siguiente:

i. El mundo es finito e ilimitado, o limitado.

ii. Lo finito, es chico.


iii. Lo limitado, es chico.
iv. El mundo anda con miedo.

v. Quien anda con miedo, arruga.


vi. El que arruga es humano o un panuelo.
vii. El mundo es inhumano.

Aplicando resolucion, concluir que:

i. el mundo es chico

ii. el mundo es un panuelo

Pagina 1 de 6
Paradigmas de Lenguajes de Programacion
2do Cuatrimestre de 2010

Resolucion en Logica de Primer Orden


Ejercicio 4

Convertir a Forma Normal Negada (NNF) las siguientes formulas de primer orden:

i. x.y.(Q(x, y) P (x, y))


ii. x.y.((P (x, y) Q(x, y)) R(x, y))
iii. x.y.(P (x, y) Q(x, y))

Ejercicio 5 F

Convertir a Forma Normal de Skolem y luego a Forma Clausal las siguientes formulas de primer orden:

i. x.y.x < y
ii. x.y.x < y
iii. x.(P (x) y.(P (y) Q(y)))

iv. x.y.(P (x, y) Q(x) R(y))


v. x.(P (x) y.(Q(y) z.w.(P (z) Q(w))))

Ejercicio 6

Escribir en logica de primer orden y luego convertir a Forma Clausal los siguientes enunciados expresados en
lenguaje natural:

i. Todo conjunto no vaco de numeros naturales tiene un elemento mnimo.


Utilizar los siguientes predicados: N (x) para expresar que x es un numero natural, C(x) para x es conjunto,
x y para x pertenece a y y x y para x menor o igual a y.
ii. Un dragon es feliz si todas sus cras pueden volar.
Los dragones verdes pueden volar.
Un dragon es verde si al menos uno de sus progenitores es verde, y es rosa en cualquier otro caso.
Utilizar los siguientes predicados: D(x) para expresar que x es un dragon, 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 F

La computadora de la polica registro que el Sr. Smullyan no pago una multa. Cuando el Sr. Smullyan pago la
multa, la computadora grabo este hecho pero, como el programa tena errores, no borro el hecho que expresaba
que no haba pagado la multa. A partir de la informacion almacenada en la computadora, mostrar utilizando
resolucion que el jefe de gobierno es un espa.
Utilizar los siguientes predicados y constantes: P ago(x) para expresar que x pago su multa, Espa(x) para x es
un espa, smullyan para el Sr. Smullyan y jef eGob para el jefe de gobierno.

Pagina 2 de 6
Paradigmas de Lenguajes de Programacion
2do Cuatrimestre de 2010

Ejercicio 8 F

Determinar, para cada uno de los siguientes pares de terminos de primer orden, si son unificables o no. En cada
caso justificar su respuesta exhibiendo una secuencia exitosa o fallida (segun el caso) del algoritmo de Martelli-
Montanari. Asimismo, en caso de que los terminos sean unificables indicar el mgu (most general unifier).
Notacion: x, y, z variables; a, b, c constantes; f, g smbolos de funcion.

i. f (x, x, y) y f (a, b, z)
ii. f (x) y y
iii. f (g(c, y), x)) y f (z, g(z, a))
iv. f (a) y g(y)
v. f (x) y x
vi. g(x, y) y g(f (y), f (x))

Ejercicio 9

Ejemplos para unificacion y resolucion.

i. La relacion entre terminos unifica con, es reflexiva? Es simetrica? Es transitiva?


ii. Existe algun termino t tal que todo termino s unifique con el?
iii. Como aplicara el algoritmo de unificacion al problema de determinar si, dado un conjunto finito de
terminos, existe un unificador comun a todos?
iv. Mostrar una clausula que arroje un resolvente entre ella y ella misma.
v. Mostrar dos clausulas, cada una con no mas de dos predicados, que arrojen tres o mas resolventes distintos
entre ambas.

Ejercicio 10 F

Determinar si las siguientes formulas son logicamente validas usando resolucion.

i. xyR(x, y) yxR(x, y)
ii. xyR(x, y) yxR(x, y)
iii. x[P (x) xP (x)]
iv. x[P (x) Q(x)] [xP (x) xQ(x)]
v. xy[P (x) P (y)] [xP (x) xQ(x)]
vi. [xP (x) xQ(x)] x[P (x) Q(x)]
vii. xyzw[P (x, y) P (w, z)]
viii. xyz((P (f (c)) P (y) Q(y)) P (f (z)) (P (f (f (x))) Q(f (x))))

Ejercicio 11 (Aplicaciones del metodo de resolucion)

i. Expresar en forma clausal la regla del modus ponens y mostrar que es valida, usando resolucion.
ii. Lo mismo para la regla del modus tollens.
iii. Lo mismo para la regla de especializacion: de xP (x) concluir P (t) cualquiera sea el termino t.

Pagina 3 de 6
Paradigmas de Lenguajes de Programacion
2do Cuatrimestre de 2010

Ejercicio 12

Cualquiera que sepa leer no es analfabeto. Los delfines son analfabetos. Algunos delfines son inteligentes. De-
mostrar utilizando resolucion 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 delfn e I(x) para x es inteligente.

Ejercicio 13 F

Dadas las siguientes clausulas:

{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)}

i. Cuales son clausulas de Horn?


ii. Indicar que clausulas de Horn son hechos y que clausulas de Horn son goals.
iii. Dar, para cada clausula, la formula de primer orden que le corresponde.

Ejercicio 14 F

Dadas las siguientes formulas en logica 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 formula es consecuencia del conjunto anterior utilizando resolucion SLD:
z.(T (z) M (z))

Ejercicio 15 F

Cualquier robot que puede resolver un problema logico es inteligente. Todos los robots japoneses pueden resolver
todos los problemas logicos. Existe al menos un problema logico. Alan es un robot japones. Quien es inteligente?
Encontrarlo utilizando resolucion 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 logico, I(x) para x es inteligente, J(x) para x es japones y la constante
alan para Alan.

Ejercicio 16 F

Sean las siguientes clausulas (en forma clausal), donde suma y par son predicados, suc es una funcion y cero
una constante:

1. {suma(x, y, z), suma(x, suc(y), suc(z))} 3. {suma(x, x, y), par(y)}


2. {suma(x, cero, x)}

Demostrar utilizando resolucion que suponiendo (1), (2), (3) se puede probar par(suc(suc(cero))). Si es posible,
aplicar resolucion SLD, y sino utilizar resolucion general. Mostrar en cada aplicacion de la regla de resolucion
la sustitucion utilizada.

Pagina 4 de 6
Paradigmas de Lenguajes de Programacion
2do Cuatrimestre de 2010

Ejercicio 17

i. Pasar las siguientes formulas en logica de primer orden a forma clausal.


a) c(V (c) e(P (e, c)))
b) c(V (c) e(P (e, c)))
c) ec(P (e, I(c)) P (e, c))
ii. A partir de las clausulas definidas en el punto anterior, puede demostrarse c(V (I(c)) V (c)) usando
resolucion SLD? Si se puede, hacerlo. Si no, demostrarlo usando el metodo de resolucion general.

Ejercicio 18 F

Dadas las siguientes afirmaciones:

Toda persona tiene un contacto en Facebook:


x y esContacto(x, y)
1. {esContacto(x, f(x))}
Si una persona es contacto de otra, la otra es contacto de la una:
x y (esContacto(x, y) esContacto(y, x))
2. {esContacto(x, y), esContacto(y, x)}

i. La siguiente es una demostracion de que toda persona es contacto de s misma, es decir, de que

x esContacto(x, x)

Negando la conclusion:
x esContacto(x, x)
Forma normal negada:
x esContacto(x, x)
Skolemizando y en forma clausal:
3. {esContacto(c, c)}
De 1 y 3, con = {x c, f(x) c}:
2

Es correcta? Si no lo es, indicar el o los errores.


ii. La siguiente es una demostracion de que toda persona es contacto de alguien, es decir, de que

y x esContacto(x, y)

Negando la conclusion:
y x esContacto(x, y)
Forma normal negada:
y x esContacto(x, y)
Skolemizando y en forma clausal:
3. {esContacto(x, d)}
De 2 y 3, con = {x d, y d}:
4. {esContacto(d, d)}
De 1 y 4, con = {d x, d f(x)}:
2
Es correcta? Si no lo es, indicar el o los errores.

iii. Puede deducirse de las dos premisas que toda persona es contacto de alguien? En caso afirmativo dar
una demostracion (puede usarse la del tem anterior), y en caso contrario explicar por que.

Pagina 5 de 6
Paradigmas de Lenguajes de Programacion
2do Cuatrimestre de 2010

Ejercicio 19 F

Dadas las siguientes definiciones de Descendiente y Abuelo a partir de la relacion Progenitor:

x y (Progenitor(x, y) Descendiente(y, x))


x y z (Descendiente(x, y) Descendiente(y, z) Descendiente(x, z))
x y (Abuelo(x, y) z (Progenitor(x, z) Progenitor(z, y)))

demostrar usando resolucion general que los nietos son descendientes; es decir, que

x y (Abuelo(x, y) Descendiente(y, x))

Ayuda: tratar de aplicar el metodo a ciegas puede traer problemas. Conviene tener en mente lo que se quiere
demostrar.

Ejercicio 20

Usaremos los predicados hijo, hermano, cunado y pareja para describir relaciones familiares con su significado
habitual. Tomaremos las siguientes premisas:

Son hermanos quienes son hijos de una misma persona.


x y p (hijo(p, x) hijo(p, y) hermano(x, y))
5. {hijo(p, x), hijo(p, y), hermano(x, y)}
El hermano de una pareja es cunado.
x y z (pareja(x, y) hermano(y, z) cunado(x, z))
6. {pareja(x, y), hermano(y, z), cunado(x, z)}
Tambien la pareja del hermano es cunado.
x y z (hermano(x, y) pareja(y, z) cunado(x, z))
7. {hermano(x, y), pareja(y, z), cunado(x, z)}
8. {hijo(Diego, Dalma)} 9. {hijo(Claudia, Dalma)}
10. {hijo(Diego, Giannina)} 11. {hijo(Claudia, Giannina)}
12. {pareja(ElKun, Giannina)}

Usaremos tambien las siguientes afirmaciones acerca del tamano de las personas:

13. {unGrande(Diego)}
14. {unGrande(ElKun)}

He aqu una demostracion de que existe el gran cunado, es decir, w x (unGrande(w) cunado(w, x)):

Negando la conclusion: De 2. y 13. con = {y Giannina, z Dalma}:


w x (unGrande(w) cunado(w, x)) 18. {pareja(x14 , Giannina), cunado(x14 , Dalma)}
Forma normal negada: De 11. y 14. con = {x14 w, x Dalma}:
w x (unGrande(w) cunado(w, x)) 19. {pareja(w, Giannina), unGrande(w)}
Forma clausal: De 15. y 10. con = {w ElKun}:
15. {unGrande(w), cunado(w, x)} 20. {pareja(ElKun, Giannina)}
De 1. y 5. con = {p Claudia, y Dalma}: De 16. y 8. con = {}:
16. {hijo(Claudia, x), hermano(x, Dalma)} 2
De 12. y 7. con = {x Giannina}:
17. {hermano(Giannina, Dalma)}

i. Es correcta la demostracion anterior? Si no lo es, indicar el o los errores.


ii. La demostracion anterior, es SLD? Por que o por que no?
iii. Si es posible, dar una demostracion SLD de que existe el gran cunado (puede usarse la del enunciado). Si
no es posible, explicar por que.

Pagina 6 de 6

Вам также может понравиться