Categories
General

Práctica sesión 8

Sesión correspondiente al día (09/11/2010).

En la sesión de hoy hemos empezado la fase 6 de la aplicación, para poder realizarla Carlos nos ha explicado lo que es un bucle repeat-until.

REPEAT

Es un predicado que siempre tiene éxito y, además, obliga a PROLOG a reevaluar a partir de donde está, en adelante. Esto significa que, si alguno de los objetivos siguientes a repeat fracasa, es seguro que, como mínimo, PROLOG continuará la ejecución a partir del repeat.

Objetivos, éxito, fracaso y reevaluación

El mecanismo de proceso de PROLOG está basado en objetivos. Cada nueva cláusula que PROLOG encuentra en su proceso de ejecución es para él un objetivo que debe tratar de cumplir.

Por ejemplo si ponemos:

?-ubicacion(jugador).

El objetivo será encontrar el hecho ubicacion(jugador), que podrá tener éxito o fracaso, dependiendo de si lo encuentra o no lo encuentra respectivamente.

El propósito de la reevaluación es el de encontrar una solución distinta a la que ya se haya encontrado en las anteriores evaluaciones del objetivo. De esta forma, lo que hace PROLOG no es otra cosa que navegar entre todas las posibilidades de solución de nuestra Base de Conocimientos, hasta encontrar alguna que satisfaga (que haga tener éxito) a los dos objetivos a la vez. Esto mismo es aplicable a más de 2 objetivos.

Hasta la próxima….