Computer Chess Club Archives


Search

Terms

Messages

Subject: bitboard vs 0x88 again?

Author: Jaime Benito de Valle Ruiz

Date: 16:44:10 10/07/03

Go up one level in this thread


On October 07, 2003 at 08:27:40, Anthony Cozzie wrote:

>On October 06, 2003 at 22:24:18, macaroni wrote:
>
>>What are the usualy ways of pruning the quiescent search. I don't use bitboard,
>>so that cuts out some stuff, and makes a swap function heaps harder. At the
>>moment, I just say a capture is no good if it doesn't increase the score above
>>alpha-margin (50 centipawns for position stuff at the moment). Are there any
>>other simple, or sort of simple ways?
>>Cheers
>
>1. You stepped on a mine here.  Your "I don't use bitboards, because ____" will
>start a huge flamewar.  Mark my words.
>
>2. When you say "swap-off" function, I think you mean a capture evaluator.
>However, there is no reason you can't write a capture evaluator without
>bitboards (actually, there isn't really a good way to do it _with_ bitboards
>IMO).  All you do is scan down each ray looking for pieces.  Stop if you hit the
>edge or a piece that can't attack.  There will need to be some special logic for
>pawns.  This will give you data such as:
>
>White: attacks square with Q, B, P, N
>Black: attacks square with R, K, P, P
>
>So, from there you can write another function that guesses how much material the
>attacker will win/lose.  Neither of these functions is easy to write actually,
>but IMO they are extremely necessary to writing a semi-strong chess program.
>
>Zappa in Q-search simply does not try losing captures.  I personally do not like
>futility pruning.  I am in the process of removing all alpha-beta dependent
>stuff from Zappa with the exception of null move.  However, in an engine without
>significant position evaluation (beancounter) you may be able to get away with
>it <shrug>.  I would *definitely* avoid extended futility pruning and razoring
>though.
>
>anthony

Why always the same fights between the bitboard and the 0x88 (or similar)
approaches?
Obviously both systems have their advantages and disadvantages; otherwise no one
would use "the bad one".
And what's wrong about using a hybrid system? Crafty, for example, is mainly
bitboard based, but still uses a 8x8 board for captures (if I'm not mistaken).
I'm sure you could make use of that 8x8 array to implement non-bitboard
functions where appropriate and use the bitboard ones where they're more
convenient, taking advantage of both approaches; I don't know why this has to be
regarded as a dichotomy!

Anyway, why don't you use your engines to prove yourself right by getting them
to play better than the others? After all it's that's the aim, isn't it?

Regards,

  Jaime




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