domingo, 3 de marzo de 2013

Resolucion de los ejercicios en el libro de Prolog.

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).








No hay comentarios:

Publicar un comentario