Necesito ayuda urgente con un ejercicio de prolog
Publicado por Esley (1 intervención) el 06/07/2008 22:53:09
Supongamos que los cuadros del tablero de ajedrez los representamos por pares de números [X,Y] con X e Y entre 1 y 8.
a) Definir la relación salta(Cuadro1,Cuadro2) de acuerdo con los movimientos del caballo en el tablero de ajedrez. Suponer que Cuadro1 siempre tiene valor, mientras que Cuadro2 puede no tenerlo.
Por ejemplo,
?- salta([1,1],S).
S=[3,2];
S=[2,3];
No
b) Definir la relación camino(L) de forma que L sea una lista de cuadros representando el camino recorrido por un caballo sobre un tablero vacío.
Por ejemplo,
?- camino([[1,1],C1,C2]).
C1 = [3, 2]
C2 = [5, 3]
Yes
c) Usando la relación camino, escribir una pregunta para determinar los caminos de longitud 4 por los que puede desplazarse un caballo desde cuadro [2,1] hasta el otro extremo del tablero (Y=8) de forma que en el segundo movimiento pase por el cuadro [5,4].
d) Calcular el menor número de movimientos necesarios para desplazar el caballo del cuadro [1,1] al [2,2]. ¿Cuántos caminos de dicha longitud hay de [1,1] a [2,2]?.
Gracias x la ayuda q me puedan brindar.
a) Definir la relación salta(Cuadro1,Cuadro2) de acuerdo con los movimientos del caballo en el tablero de ajedrez. Suponer que Cuadro1 siempre tiene valor, mientras que Cuadro2 puede no tenerlo.
Por ejemplo,
?- salta([1,1],S).
S=[3,2];
S=[2,3];
No
b) Definir la relación camino(L) de forma que L sea una lista de cuadros representando el camino recorrido por un caballo sobre un tablero vacío.
Por ejemplo,
?- camino([[1,1],C1,C2]).
C1 = [3, 2]
C2 = [5, 3]
Yes
c) Usando la relación camino, escribir una pregunta para determinar los caminos de longitud 4 por los que puede desplazarse un caballo desde cuadro [2,1] hasta el otro extremo del tablero (Y=8) de forma que en el segundo movimiento pase por el cuadro [5,4].
d) Calcular el menor número de movimientos necesarios para desplazar el caballo del cuadro [1,1] al [2,2]. ¿Cuántos caminos de dicha longitud hay de [1,1] a [2,2]?.
Gracias x la ayuda q me puedan brindar.
Valora esta pregunta


0