Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Thoughts about board representations...

Author: Dan Newman

Date: 23:49:05 02/11/00

Go up one level in this thread


On February 11, 2000 at 20:54:01, Tom Kerrigan wrote:

>On February 11, 2000 at 20:07:56, Dan Newman wrote:
>
>>                 Skyblue3 (0x88)        Shrike (bitboards)
>>Capture gen:      1.2 M moves/s            2.0 M moves/s
>>Non-cap gen:     28.6 M moves/s           30.7 M moves/s
>>Full move gen:   14.9 M moves/s           21.7 M moves/s
>>Make/unmake:      3.0 M/s                  2.1 M/s
>>WAC @1s           456 knps                 530 knps
>
>Is it possible that you have some sort of systematic experimental error?
>
>If something seems too good to be true, it usually is...
>
>-Tom

Well, I don't think I'm double counting or anything like that.  The
faster program gets to depth faster too.  There is the possibility that
my 0x88 program was badly implemented of course.  But I have tried all
sorts of things to speed the 0x88 program up--I'd been tweeking it for
about a year before I went over to bitboards.  (Over the last 5 years of so I've
started maybe a dozen chess programs trying to find just the right basic data
structures and so forth and have written about 5 that I actually
got to point of playing chess.  So I don't think I'm making any gross
blunders.)  Still, I can't say that the 0x88 program has the most efficient
implementation possible...

The thing that really helped was switching from the Watcom compiler to
MSVC 5.0.  That compiler made the 0x88 program 17% faster, but it boosted
the bitboard program by 50%.  Comparing the Watcom compiles, the bitboard
program is slower...

All in all, I wouldn't switch from 0x88 + piece-lists or whatever to
bitboards, or vice-versa, for speed alone--the difference just isn't
likely to be all that great.  (Though eval calculations can obviously
be affected by the choice of basic data structures too...and that may
be where the largest differences come into effect.)

To me one of the greatest benefits from switching to bitboards is the
elimination of piece lists.  They had always seemed to be a neccessity but
had also been a lot of trouble too.  I was forever figuring out how to
find the captured piece in its list, whether to contract/expand them
or not for captures, what order the pieces should be in, and so forth.

So, at least in my case, bitboards are faster and easier...

-Dan.



This page took 0 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.