viernes, 5 de abril de 2013

Ejercicio 2.4

Ejercicio.
1. Considere el programa anterior y realize la traza de ejecución a la pregunta :
?- enorme(X), oscuro(X).

Programa.
enorme( oso). % cláusula 1
enorme( elefante). % cláusula 2
chico( gato). % cláusula 3
cafe( oso). % cláusula 4
negro( gato). % cláusula 5
gris( elefante). % cláusula 6
oscuro( Z) :- % cláusula 7 : cualquier negro es oscuro.
negro( Z).
oscuro( Z) :- % cláusula 8 : cualquier café es oscuro.
cafe( Z).

(1). Lista inicial de metas :  enorme(X), oscuro(X).
(2). Examina el programa de arriba hacia abajo buscando una cláusula cuya cabeza
empate con la primera meta :  enorme(X). Se encuentra la cláusula 1 y 2 :
1.- enorme( oso).
2.- enorme( elefante).
(3). Se reemplaza la primera meta con el cuerpo instanciado de la cláusula 1, dando una
nueva lista de metas :
1.- enorme( oso), oscuro(oso).
2.- enorme( elefante), oscuro(elefante).
(4). Examina el programa para encontrar un empatamiento con la parte de oscuro(elefante). Se encuentra la
cláusula 7, cambia ahora la clausula oscuro por negro(elefante).
(5). Examina ahora negro (elefante). pero no hay empatamiento, ya que no hay ningún negro(elefantes). por lo tanto el programa vuelve a (3) y hace lo mismo pero tomando la clausula 8 es cafe (elefante) pero tampoco hay y vuelve a (3).
(6) Toma la primera opción y hace los pasos del (4) al (5). Pero aquí termina con negro(oso) pero no hay empatamiento y por lo tanto descarta negro oso y toma la clausula 8 y aquí termina con cafe (oso).
(7) Ahora busca cafe (oso), y hay empatamiento en la clausula 4. Por lo que obtenemos al final:
X= oso.

No hay comentarios:

Publicar un comentario