En este grupo En todos

Foro de Prolog



Variacion de Algoritmo

roger
Ingenieria en sistemas universidad tec...
Escrito por Roger Troya Mera
el 10/06/2010

Saludos Amigos del Foro

Alguien de Uds me puede colaborar sobre como adaptar el tipico juego de las N-Reinas que no se ataquen entre si en un tablero de N * N para que tambien funcionen como caballo ademas de sus movimientos normales como reina en prolog

Luis Miguel Alvarez
Ingenieria de sistemas y ciencias de l...
Escrito por Luis Miguel Alvarez
el 29/06/2010

Tengo el problema de las Reinas resuelto, no se si te sirva, aunque supongo que se puede modificar.
aa por cierto, esta programado con restricciones.
Lo dejo por si sirve de algo(SWI-Prolog)
-----------------------------------------------------------------------
:-use_module(library(clpfd)).

Solve(Qs):-
Qs=[Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8],
Qs ins 1.. 8,
safe_queens(Qs),
label(Qs).

Safe_queens([]).
safe_queens([Q|Qs]):-
safe_queens(Qs,Q,1),
safe_queens(Qs).

Safe_queens([],_,_).
safe_queens([Q|Qs],Qo,Do):-
Qo #\= Q,
abs(Qo-Q)#\=Do,
D1 #= Do+1,
safe_queens(Qs,Qo,D1).
----------------------------------------------------------