You are on page 1of 17

Máster ISMFSI

FUNDAMENTOS LÓGICOS
DE LA
INGENIERÍA DEL SOFTWARE
Y LOS
SISTEMAS DE INFORMACIÓN
Ejercicios de trabajo personal

Marı́a José Ramı́rez


Valencia - Octubre 2007

1
SISTEMAS FORMALES - CLAUSULAS HORN

1. ¿Cuál de las siguientes afirmaciones es cierta?:

A en un sistema formal, el método de cálculo permite deducir nuevas


fbf’s teniendo en cuenta aspectos sintácticos y semánticos.
B en un sistema formal, el método de cálculo tiene que ver con la
definición axiomática de una serie de estructuras inductivas correctas
y las reglas para obtener otras nuevas a partir de aquéllas.
C el aspecto sintáctico de la lógica es la base de los métodos de la teorı́a
de modelos y de la teorı́a de la demostración.
D en un sistema formal, el método de cálculo no tiene en cuenta el
significado de las fbf’s y su relación entre ellas dada por las tablas de
verdad.
2. Un sistema formal es correcto (o consistente) si:

A toda fórmula demostrable por el método de cálculo es válida según


la noción de verdad.
B toda fórmula semánticamente válida es demostrable por el método
de cálculo.
C existe un procedimiento finito para decidir si una fórmula es o no
válida.
D su método de cálculo es el de la lógica de predicados de primer orden.

3. Indica cuál de las siguientes afirmaciones es cierta:

A existen dos tipos de cláusulas de Horn: hechos y ecuaciones condi-


cionales.
B el concepto de verdad está asociado a la teorı́a de la demostración.
C un sistema formal es correcto si toda fórmula demostrable con el
método de cálculo es válida según la noción de verdad.
D un sistema formal es completo si toda fórmula demostrable con el
método de cálculo es válida según la noción de verdad.

2
4. Indica cuál de las siguientes afirmaciones es cierta:

A un sistema formal es correcto si toda fórmula demostrable según la


noción de verdad es válida según el método de cálculo.
B un sistema formal es completo si y sólo si es correcto.
C un sistema formal es completo si toda fórmula semánticamente válida
es demostrable con el método de cálculo.
D la corrección y completitud de un sistema formal dependen sólo de
la sintaxis del lenguaje.

5. Una cláusula es:

A una conjunción de átomos con todas las variables cuantificadas uni-


versalmente al principio de la fórmula.
B una disyunción de átomos con todas las variables cuantificadas uni-
versalmente al principio de la fórmula.
C una conjunción de átomos con todas las variables cuantificadas uni-
versalmente al principio de la fórmula.
D una disyunción de literales con todas las variables cuantificadas uni-
versalmente al principio de la fórmula.

6. Considera el alfabeto C = {a}, Σ = {f /1} y Π = {p/1, q/2} y la siguiente


interpretación I:
• D = {1, 2}
a 1
f(1) 2
f(2) 1
p(1) F
• asignación de valor: p(2) T
q(1,1) T
q(1,2) T
q(2,1) F
q(2,2) T
Indica de cuál de las siguientes fórmulas es modelo I:

A ∃X(p(X) ∧ q(X, a)).


B ∃X(p(f (X)) ∧ q(X, f (a))).
C ∀X∃Y (p(X) ∧ q(X, Y )).
D ∀X∀Y (p(X) → q(X, Y )).

3
7. Indica cuál de las siguientes afirmaciones es cierta:

A El teorema de la deducción (versión sintáctica) establece la relación


entre validez y deducibilidad.
B El teorema de la deducción (versión semántica) establece la propiedad
de completitud.
C El teorema de la deducción (versión semántica) establece la relación
entre validez y consecuencia lógica.
D El teorema de la deducción (versión sintáctica) establece la propiedad
de corrección.

8. Una de las condiciones que debe cumplirse para que, dado un lenguaje de
primer orden L, una interpretación I del lenguaje sea de Herbrand es que:

A su dominio sea BL .
B su dominio sea ML .
C su dominio sea HL .
D ninguna de las anteriores.

9. Un modelo de una fórmula F es:

A una asignación de variables compatibles con la teorı́a.


B una interpretación bajo la cual F es cerrada.
C una interpretación bajo la cual F es cierta.
D un alfabeto compatible con los operadores de F .

10. La teorı́a de modelos formaliza:

A una visión sintáctica de la lógica.


B una visión semántica de la lógica.
C una visión procedural de la lógica.
D una visión sistemática de la lógica.

4
UNIFICACION

11. Un unificador es:

A el teorema que justifica la ejecución de un lenguaje relacional y/o


funcional.
B una sustitución que hace iguales un conjunto de expresiones.
C una sustitución que hace que dos términos sean básicos.
D un operador definido sobre las ecuaciones del cálculo de predicados
de primer orden.

12. Indica cuál es el mgu del siguiente conjunto de átomos:

{p(f (Y ), W, g(Z)), p(V, U, V )}

A {f (Y )/V, U/W, g(Z)/V }.


B {V /f (Y ), W/U, V /g(Z)}.
C {V /f (Y ), W/U, V /g(Z), f (Y )/g(Z)}.
D no existe.

13. Indica cuál de las siguientes sustituciones corresponde a la composición de


las dos sustituciones:

σ = {X/f (Y ), Y /Z}
θ = {Z/Y, X/a, Y /b}

A σθ = {X/f (b), Z/Y }.


B σθ = {X/f (b)}.
C σθ = {X/f (Z), Y /b}.
D σθ = {X/f (Z)}.

14. Indica cuál de las siguientes afirmaciones es falsa:

A {Y /f (X)} es más general que {Y /f (a), X/a}.


B {Y /f (X)} es más general que {Y /f (a)}.
C {Y /f (X)} es más general que {Y /f (f (Z)), X/f (Z)}.
D {} es más general que {Y /f (a)}.

5
15. Indica cuál de las siguientes sustituciones no es un unificador de p(X, f (a))
y p(Y, Y ):

A {Y /f (a), X/f (a)}.


B {X/f (a), Y /f (a)}.
C {X/f (Z), Y /f (a), Z/a}.
D {X/f (Z), Y /f (a)}{Z/a}.

16. Indica cuál de las siguientes sustituciones no es un unificador de p(g(b), Z)


y p(Y, f (Y )):

A {Y /g(b), Z/f (g(b))}.


B {Y /g(b), Z/f (Y )}.
C {Y /g(b), Z/f (X)}{X/g(b)}.
D {Y /X, Z/f (X)}{X/g(b)}.
17. Indica el resultado de la composición de las siguientes sustituciones:
θ = {Z/W, W/g(a)} σ = {W/h(b)}

A θσ = {Z/g(a), W/g(a)}.
B θσ = {W/h(b)}.
C θσ = {Z/h(b), W/g(a)}.
D θσ = {Z/W, W/g(a)}.
18. Indica cuál de las siguientes sustituciones es el mgu de h(f (X), g(a, Y )) y
h(f (f (Z)), g(a, X)):

A {Y /X, X/f (Z)}.


B {X/f (a), Y /f (a), Z/a}.
C {X/f (Z), Y /f (Z)}.
D ninguna de las anteriores.

6
19. Indica cuál es la instancia de la expresión E ≡ p(X, Y, f (W )) por la susti-
tución {X/Y, Y /X, W/Z, Z/X}:

A p(X, X, f (X)).
B p(Y, X, f (Z)).
C p(Y, Z, f (Z)).
D p(X, Y, f (X)).
20. El algoritmo de unificación:

A computa el unificador más general de un conjunto de expresiones, si


éste existe.
B es un procedimiento para componer sustituciones.
C es una descripción operacional de la regla de SLD-resolución.
D utiliza una estrategia de búsqueda top to bottom en profundidad.
21. El unificador más general del conjunto de expresiones {Z, g(X), g(h(X))}
es:
A no existe.
B {Z/g(X), X/h(X)}.
C {Z/g(h(X)), X/h(X)}.
D ninguna de las anteriores.

7
TEORÍA DE LA DEDUCCIÓN EN HCL

22. Indica cuál de las siguientes afirmaciones es cierta:

A si un conjunto de cláusulas es insatisfacible, aplicando resolución se


puede llegar a deducir la cláusula vacı́a.
B si un conjunto de cláusulas es incompleto, aplicando unificación se
puede llegar a deducir la cláusula vacı́a.
C si un conjunto de cláusulas es incomparable, aplicando resolución se
puede llegar a deducir la cláusula vacı́a.
D si un conjunto de cláusulas es consistente, aplicando resolución se
puede llegar a deducir la cláusula vacı́a.
23. La resolución es:
A un mecanismo inductivo.
B un mecanismo deductivo.
C un tipo de deducción.
D un algoritmo de unificación.
24. Indica cuál de las siguientes sustituciones serı́a la respuesta computada
para el objetivo ← p(Z) respecto del programa lógico p(f (Y )) ←

A {Z/f (a)}.
B {Z/f (Y )}.
C {Z/g(f (Y ))}.
D {Z/f (g(Y ))}.
25. La completitud del procedimiento de SLD-resolución puede enunciarse de
la siguiente forma:

A para toda respuesta correcta σ para P ∪ {N } existe una respuesta


computada θ para P ∪ {N } tal que θ ≤ σ restringida a las variables
de N .
B para toda respuesta correcta σ para P ∪ {N } existe una respuesta
computada θ para P ∪ {N } tal que σ ≤ θ restringida a las variables
de N .
C toda respuesta computada para P ∪ {N } es una respuesta correcta
para P ∪ {N }.
D el conjunto de consecuencias lógicas básicas de la SLD-resolución
coincide con el conjunto de átomos de la Base de Herbrand BP del
programa P .

8
26. Indica cuál de las siguientes afirmaciones es falsa:

A cualquier respuesta computada para un programa P y un objetivo


← G es una respuesta correcta para P ∪ {← G}.
B para toda respuesta correcta σ para P ∪ {← G} existe una respuesta
computada para P ∪ {← G} que, restringida a las variables de G, es
más general que σ.
C cualquier respuesta correcta para P ∪ {← G} puede ser computada
por SLD-resolución del objetivo ← G en el programa P .
D SLD-resolución es un procedimiento de demostración correcto y com-
pleto para la lógica de cláusulas de Horn.

27. ¿Qué significa el término SLD-resolución?:

A resolución selectiva con función de alineación para cláusulas definidas.


B resolución lineal con función de selección para cláusulas definidas.
C resolución lineal con factorización simple para cláusulas definidas.
D resolución lineal con función de factorización para cláusulas definidas.
28. Sea el siguiente programa lógico:

P = { p(X, Y ) ← q(X), q(Y )


q(a) ←
r(b) ← }

y el objetivo G :← p(Z1 , Z2 ). Indica cuál de las siguientes sustituciones no


es una respuesta correcta para P ∪ {G}:

A {Z1 /a, Z2 /a}.


B {Z1 /Z2 }{Z2 /a}.
C {Z2 /Z1 }{Z1 /a}.
D {Z1 /Z2 }.

9
29. Indica cuál de las siguientes afirmaciones referentes a un árbol SLD es
cierta:
A su geometrı́a espacial depende del orden de selección de las cláusulas
del programa.
B el coste de recorrerlo entero depende de la estrategia de búsqueda
adoptada.
C el número de ramas infinitas depende de la estrategia de búsqueda
adoptada.
D su profundidad sólo depende del número de átomos que componen el
objetivo raı́z.

30. Dado el siguiente programa lógico P :

P = { p(X, Y ) ← q(X), p(X, Y )


p(a, a) ←
p(b, b) ←
q(a) ←
q(b) ← }

y el objetivo G :← p(X, Y ), indica cuál de las siguientes afirmaciones


referentes a P y G es falsa:

A todas las respuestas computadas para P ∪ {G} son respuestas correc-


tas para P ∪ {G}.
B en este ejemplo, todas las respuestas correctas para P ∪ {G} son
respuestas computadas para P ∪ {G}.
C no existen respuestas computadas para P ∪ {G} ya que todas las
refutaciones SLD son infinitas.
D la sustitución {X/a, Y /a} es una respuesta correcta para P ∪ {G}.
31. En un árbol de búsqueda asociado a un programa lógico,

A los nodos representan hechos y las ramas reglas.


B una rama entre dos nodos representa un paso de resolución.
C a un mismo nodo puede accederse por distintas ramas.
D una rama entre dos nodos representa un paso de unificación.

10
TEORIA DE MODELOS EN HCL

32. ¿Cuál de las siguientes afirmaciones es falsa?:

A el modelo mı́nimo de Herbrand de un programa lógico de cláusulas


definidas se puede obtener como la intersección de todos sus modelos
de Herbrand.
B el Universo de Herbrand para un programa lógico está formado por
todos los términos básicos que se pueden formar con las constantes
y funciones del lenguaje.
C una interpretación de Herbrand para un programa lógico es un sub-
conjunto de la Base de Herbrand que contiene aquellos elementos de
la base que hacen ciertas las cláusulas del programa.
D una interpretación de Herbrand para un programa lógico es un sub-
conjunto de la Base de Herbrand formado por aquellos átomos que
son ciertos según esa interpretación.

33. Indica cuál de los siguientes conjuntos es el Universo de Herbrand de las


cláusulas:

p(X) ← q(f (X), g(X))


r(Y ) ←

A {X, f (X), g(X), f (f (X)), g(g(X)), f (g(X)), g(f (X)), . . .}.


B {a, r(a), q(a, a), p(a), p(f (a)), p(g(a)), q(a, f (a)), q(f (a), a), . . .}.
C {a, f (a), g(a), f (f (a)), g(g(a)), f (g(a)), g(f (a)), . . .}.
D {r(Y )}.

34. Dado el siguiente programa lógico P :

p(f (X)) ← p(X)


q(0) ←

indica cuál de los siguientes conjuntos representa el modelo mı́nimo de


Herbrand de P :

A {p(0), p(f (0)), . . . , p(f n (0))}.


B {p(0), p(f (0)), . . . , p(f n (0)), q(0)}.
C {q(0)}.
D {p(f (0)), . . . , p(f n (0)), q(0)}.

11
35. El Universo de Herbrand para el siguiente programa lógico
p(X) ←
p(f (Y )) ← p(Y )
es:
A {X, f (X), f (f (X)), . . . , f n (X)}.
B {X, Y, f (Y ), f (f (Y )), . . . , f n (Y )}.
C {X, Y, f (X), f (Y ), f (f (X)), f (f (Y )), . . . , f n (X), f n (Y )}.
D {a, f (a), f (f (a)), . . . , f n (a)}.
36. Indica cuál de las siguientes interpretaciones no es un modelo de Herbrand
para el siguiente programa lógico:
p(X, b) ←
q(a) ←

A {q(a), p(a, a), p(a, b), p(b, a), p(b, b)}.


B {q(a), p(X, b)}.
C {q(a), q(b), p(a, b), p(b, b)}.
D {q(a), p(a, b), p(b, b)}.
37. Indica cuál de los siguientes conjuntos de fórmulas representa el significado
del siguiente programa lógico:
p(Y ) ← q
q ← r(Y )
r(f (0)) ←

A {p(0), p(f (0)), . . . , p(f n (0)), q, r(f (0))}.


B {p(Y ), q, r(f (0))}.
C {p(f (0)), q, r(f (0))}.
D {q(f (0))}.
38. Dada la interpretación de Herbrand I = {q}, Indica de cuál de los siguien-
tes programas P no es modelo I:

A P = {q ←}
B P = {p ← r}
C P = {p ← q}
D P = {q ← q}

12
39. Indica cuál de los siguientes conjuntos no es modelo del programa lógico:

P = { p(X) ← q(X), r(Y )


q(a) ←
r(f (X)) ← p(X) }

A {q(a)}.
B {q(a), p(a), r(a)}.
C {q(a), p(a), p(f (a)), . . . , p(f n (a)), r(f (a)), . . . , r(f n (a))}.
D {q(a), p(a), r(f (a)), . . . , r(f n (a))}.

40. Indica cuál de los siguientes conjuntos representa el menor punto fijo del
operador TP de consecuencias lógicas para el siguiente programa lógico P :

P = { p(f (X)) ← p(X)


q(0) ← }

A {p(0), p(f (0)), . . . , p(f n (0))}.


B {p(0), p(f (0)), . . . , p(f n (0)), q(0)}.
C {q(0)}.
D {p(f (0)), . . . , p(f n (0)), q(0)}.

41. Indica cuál de los siguientes conjuntos representa el mı́nimo punto fijo
del operador TP de consecuencias inmediatas para el siguiente programa
lógico P :

P = { p(X) ← p(f (X))


p(f (0)) ← }

A {p(0), p(f (0)), . . . , p(f n (0))}.


B {p(f (0)), . . . , p(f n (0))}.
C {p(f (0))}.
D {p(f (0)), p(0)}.

42. Indica cuál de los siguientes conjuntos representa el mı́nimo punto fijo
del operador TP de consecuencias inmediatas para el siguiente programa
lógico P :

P = { p(X) ← q(f (X))


p(0) ←
q(0) ←
q(f (f (0))) ← }

13
A {p(0), p(f (f (0))), q(0), q(f (f (0)))}.
B {p(0), p(f (0)), q(0), q(f (f (0)))}.
C {q(f (f (0)))}.
D {p(0), q(0)}.

43. Indica cuál de las siguientes interpretaciones representa el menor punto


fijo del operador TP de consecuencias lógicas inmediatas para el siguiente
programa lógico P :

P = { p(X) ← p(f (X))


p(f (X)) ← }

A {p(a), p(f (a)), . . . , p(f n (a))}.


B {p(f (a)), . . . , p(f n (a))}.
C {p(X), p(f (X))}.
D {p(f (a))}.

14
PROGRAMACION LOGICA

44. El significado declarativo de un programa lógico P es:

A el conjunto de átomos básicos de la Base de Herbrand BP del pro-


grama.
B el conjunto de átomos no básicos de la Base de Herbrand BP del
programa.
C la unión de todos los modelos de Herbrand del programa.
D la intersección de todos los modelos de Herbrand del programa.

45. Indica cuál de las siguientes afirmaciones es falsa:

A el significado operacional de un programa lógico es el conjunto de


átomos básicos para los que existe una refutación.
B la semántica operacional de un programa lógico admite una inter-
pretación procedural según la cual cada uno de los literales de un
objetivo puede verse como la llamada a un subprograma.
C un programa lógico es una teorı́a de primer orden.
D el significado declarativo de un programa lógico es el conjunto de
términos básicos que son consecuencia lógica de él.

46. Un intérprete para Programación Lógica con regla de selección left-to-right


y regla de búsqueda depth-first:

A es correcto y completo.
B es incapaz de encontrar ninguna respuesta que, en el árbol de búsqueda,
se encuentre a la derecha de la primera rama infinita.
C es incapaz de computar respuestas correctas.
D es incapaz de fracasar finitamente.

15
47. Indica cuál de las siguientes afirmaciones es falsa:
A el algoritmo de unificación no siempre termina. Cuando termina,
produce un mgu de las expresiones a unificar.
B el algoritmo de unificación termina con fallo o produce un mgu de las
expresiones a unificar.
C el operador de consecuencias inmediatas TP es continuo sobre el
retı́culo (2BP , ⊆) (conjunto potencia de la base de Herbrand BP con
el orden estándar ⊆ de inclusión entre conjuntos).
D el algoritmo de unificación es indeterminista; el mgu que computa es
único, salvo renombre de las variables.
48. Sea MP el modelo de Herbrand mı́nimo de un programa lógico P y sea
TP el operador de consecuencias inmediatas asociado. Indica cuál de las
siguientes afirmaciones es falsa:
A MP es el menor punto fijo de TP .
B MP = TP ↑ ω.
C MP es el conjunto de éxitos básicos de P (conjunto de átomos (sin
variables) A ∈ BP tales que P ∪ {← A} tiene una SLD-refutación).
D MP es el mı́nimo conjunto que contiene todas las consecuencias lógicas
(básicas o no) de P .
49. Sea P un programa lógico y A un átomo básico. Indica cuál de las sigu-
ientes afirmaciones no es equivalente al resto:
A A está en el conjunto de éxitos de P .
B A ∈ TP ↑ ω.
C P |= ¬A.
D cualquier árbol SLD de derivación para el programa P que tenga
(← A) como raı́z contiene necesariamente una hoja etiquetada con
la cláusula vacı́a.
50. La semántica operacional (conjunto de éxitos) de un programa lógico:

A se ve afectada por la regla de computación escogida.


B se ve afectada por el orden de las cláusulas en el programa
C depende del objetivo a resolver, puesto que la semántica del programa
es el conjunto de las respuestas computadas para un objetivo dado.
D es independiente de la regla de computación y del orden de las cláusulas
en el programa.

16
Alumno:
Grupo:
Hoja de Respuestas: PROGRAMACIÓN LÓGICA (FL-MASTER)

1. A B C D 26. A B C D
2. A B C D 27. A B C D
3. A B C D 28. A B C D
4. A B C D 29. A B C D
5. A B C D 30. A B C D
6. A B C D 31. A B C D
7. A B C D 32. A B C D
8. A B C D 33. A B C D
9. A B C D 34. A B C D
10. A B C D 35. A B C D
11. A B C D 36. A B C D
12. A B C D 37. A B C D
13. A B C D 38. A B C D
14. A B C D 39. A B C D
15. A B C D 40. A B C D
16. A B C D 41. A B C D
17. A B C D 42. A B C D
18. A B C D 43. A B C D
19. A B C D 44. A B C D
20. A B C D 45. A B C D
21. A B C D 46. A B C D
22. A B C D 47. A B C D
23. A B C D 48. A B C D
24. A B C D 49. A B C D
25. A B C D 50. A B C D

17

You might also like