Computer Chess Club Archives


Search

Terms

Messages

Subject: 8 queens problem

Author: Russell Reagan

Date: 20:58:25 01/17/03


If you were writing a program to solve the 8-queens problem, and your goal was
speed, would you use "normal" computer chess techniques (like, say, 0x88 or
bitboards) or would you do something more specific?

For instance, rather than detecting attacks via traditional 0x88 or bitboard
methods, you could keep track of which ranks and files are already occupied (and
thus are not candidates for further occupation), and then you could quickly rule
out large chunks of the board that are not available for a queen. This would
seem to be much faster than doing a typical "full blown" attack detection.

You could also use a simple pseudo-attack array (easy to create for 0x88 or
bitboards) and cut out the extra code to determine if a pseudo-attack is a real
attack, since in this problem, a pseudo-attack means two queens are attacking
each other somewhere.

I am interested in two things. First, I would be interested in knowing how
people would approach this problem  (and other "chess-like" problems) where
traditional computer chess methods will work, but might not necessarily be as
fast as other methods. Second, I would be interested in knowing of other chess
problems that are not "game" problems (IE something a typical chess engine can't
solve, like the 8-queens problem or a knight's tour problem). The knight's tour
problem seems like another one that fits into this category.

For those who may not know what the 8 queens problem is, it involves finding
positions using only 8 queens where no queen attacks another queen. You can only
use queens. So adding pawns to block a queen attack, for example, is not
allowed.



This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.