1.- Asumiendo las relaciones definidas en el ejemplo, ¿qué contestará Prolog a las
siguientes preguntas?
a). ?- progenitor( jaime, X).
b). ?- progenitor( X, jaime).
c). ?- progenitor( pamela, X), progenitor( X, patricia).
d). ?- progenitor( pamela, X), progenitor( X, Y), progenitor(Y,jaime).
2.- Formule en Prolog las siguientes preguntas acerca de la relación progenitor:
a). ¿ cómo se llama el progenitor de patricia ?
1 progenitor (patricia, X).
b). ¿ tiene elizabeth algún hijo ?
progenitor (elizabeth, X).
c). ¿ cómo se llama el abuelo de patricia ?
progenitor(X,Y), progenitor(Y,Z),hombre(Z).
Ejercicios
1.3. Traduzca las siguientes sentencias a reglas Prolog.
a). Cualquiera que tiene un hijo es feliz (introduzca la relación unaria llamada 'feliz').
feliz(X):-
progenitor(X,Y).
b). Para todo X, si X tiene un hijo que tiene una hermana, entonces X tiene dos hijos (introduzca la relación tiene-dos-hijos).
doshijos(X):-
progenitor(X,Y),
hermana(Y,Z).
1.4. Defina la relación 'nieto' usando la relación 'progenitor'. Recomendación: Será similar a la relación abuelo.
nieto(Z,X):-
descendiente(Y,X),
descendiente(Z,Y).
1.5. Defina la relación tia( X, Y) en términos de las relaciones 'progenitor' y 'hermana'. Dibuje primero un diagrama para ésta relación.
tia(X,Y):-
progenitor(Z,Y),
hermana(
X, Z).
1.7. Trate de entender como Prolog deriva respuestas a las siguientes preguntas,
usando el programa familiar. Dibuje tambien los diagramas de derivación
correspondientes. Identifique los bactrakings que se encuentre:
a). ?- progenitor( pamela, roberto).
b). ?- madre( pamela, roberto).
c). ?- abuelo( pamela, ana).
d). ?- abuela(roberto, jaime).
1.7. Trate de entender como Prolog deriva respuestas a las siguientes preguntas,
usando el programa familiar. Dibuje tambien los diagramas de derivación
correspondientes. Identifique los bactrakings que se encuentre:
a). ?- progenitor( pamela, roberto).
b). ?- madre( pamela, roberto).
c). ?- abuelo( pamela, ana).
d). ?- abuela(roberto, jaime).






No hay comentarios:
Publicar un comentario