Link to home
Start Free TrialLog in
Avatar of Al-Qershi
Al-Qershi

asked on

8-queens solution in PROLOG explaination needed (I am a beginer!!)

generate(N, N, [N]).
generate(N, M, [N | Rest]) :-
   N < M,
   N1 is N + 1,
   generate(N1, M, Rest).
solution(N, Ys):-
   generate(1, N, RFvals),
   Bot is 1 - N, Top is N - 1,
   generate(Bot, Top, Uvals),
   TwiceN is N + N,
   generate(2, TwiceN, Vvals),
   solution(Ys,RFvals, RFvals, Uvals, Vvals).
solution([], [], _, _, _).
solution([Y | Ylist], [X | Xsleft], Ys, Us, Vs) :-
    insert(Y, Ysleft, Ys),
    U is X - Y,
    insert(U, Usleft, Us),
    V is X + Y,
    insert(V, Vsleft, Vs),
    solution(Ylist, Xsleft, Ysleft, Usleft, Vsleft).

insert(X, L, [X | L]).
insert(X, [H | T], [H | XT]) :-
   insert(X, T, XT).

Hi experts, I would like you to help me understanding the solution above written in PROLOG. Please provide me with a detailed explaination as soon as possible.  
ASKER CERTIFIED SOLUTION
Avatar of sunnycoder
sunnycoder
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Why the C grade?