Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Representations

Author: Stuart Cracraft

Date: 13:03:18 12/22/05

Go up one level in this thread


On December 21, 2005 at 10:49:43, Joshua Shriver wrote:

>Look into 0x88:
>
>http://www.cis.uab.edu/info/faculty/hyatt/boardrep.html
>
>On December 21, 2005 at 09:04:17, David Rasmussen wrote:
>
>>I am most familiar with bitboards, but now I have to make a chess program with
>>an old C compiler (gcc 2.6.0) that doesn't support "long long". I could typedef
>>a struct with two 32-bit ints to be a bitboard and then implement the logical
>>operators in functions, but I want to consider other options.
>>
>>What would be a good representation for a "competitive" chess program (not a toy
>>project), on a platform with little memory and slow performance (C is compiled
>>into a interpreted language in this case).
>>
>>/David


Personally I always feel guilty thinking or doing anything other than
bitboard, at least as a goal, if not reality.

The reason is that 64-bit chips and 64-bit OS ultimately being common
are the reason to make your program future-oriented.

Bitboards, for example, as implemented by Crafty or GNU Chess 5, are really
artistic. Knowledge representation is very elegant. Crafty is immensely
stronger. I am not comparing that.

They make encoding knowledge more-straightforward.

I would advocate bitboard for everybody. Make your program 0x88 or
non-bitboard for moves and use bitboards for evaluation and then
rewrite your move generator in the future. You don't have to go bitboard
for everything at once.

This way your learning curve isn't as steep so suddenly.

Stuart



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.