The most efficient known algorithm for solving n-queens is the fairly obvious backtracking one, where you place one queen at a time, giving up and backtracking when you fail. This is *not* a brute-force search -- brute force would be explicitly checking each possible board position with all eight queens on the board at once, which is a much bigger search.

Here's a good paper about the backtracking solution: 
http://penguin.ewu.edu/~trolfe/SCCS-95/SCCS-95.html

Now, as far as an implementation in Jess: Michel Futtersack's CCP page has a couple of different solutions in the CLIPS (Jess) language. See http://www.droit.univ-paris5.fr/futtersack/english/research/CCP/index.html . There's one simple solution for 5-queens in a single rule. But his general constraint-satisfaction paradigm leads to an excellent solution, linked from that page. The code needs only small changes to work with Jess.

On May 11, 2008, at 5:15 PM, Senlin Liang wrote:

Dear all,

I am trying to solve the N-Queens problem using Jess. Is there a way to use rules to make a efficient program, or I have to use functions to do the brute force search?

I am trying to compare several systems to see which one is good at this N-Queens problem.

Thanks,
Senlin

---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550                 http://www.jessrules.com




--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to