Computer Chess Club Archives




Subject: Re: Differences between 0x88 ,10x12 and Bitboards!?

Author: Daniel Clausen

Date: 00:44:43 11/20/02

Go up one level in this thread

On November 19, 2002 at 18:14:46, Vincent Diepeveen wrote:

>On November 19, 2002 at 15:08:13, Daniel Clausen wrote:
>please mention me 1 bitboard program with a big eval.
>  *NONE*.

And that would prove what?

Besides, AFAIK Fritz is a bitboard engine. (since it's a commercial you never
know what exactly they do, but that is true for all commercial engines -
including yours) And at least in the past, Crafty was the engine which had more
pawn-evaluation stuff in it than any other engine. (again, it's difficult to
measure.. we don't even have a way to quantify eval-functions) Also Ruffian
seems to have quite a good eval.

And (also pointed out by several other people on several other opportunities)
having a big eval doesn't mean a thing - it's having a good eval that counts.

>To me bitboards seems something for people who are no good
>programmers, because they can cut'n paste from crafty and
>go further with that.

What a ridiculous statement. OTOH it's not easy to insult/blame more programmers
with so few keystrokes. ;) [but you seem to be quite skilled in that in general
;)] While bitboards tend to produce repetitive code on a certain level, there
are ways to circumvent that to a big extend. For certain parts in my engine, I
wrote a code-generator which produces the C/C++ code, instead of writing it
myself. (there's much more you can do than just using preprocessor-macros...)
It's not the fastest move-generation/execution function but I don't care about
that too much. Also you can encapsulate a lot if you're willing to sacrifice a
few percentage in NPS. (which is also true for other board representations)

>Optimizing gnuchess or gerbil or whatever to something real
>fast for your needs is way more difficult of course than
>starting with something that's working and written out in

You probably don't believe it, but there's exactly one thing I copied from
Crafty (or any other chess-engine so far), and that is the 64bit random
generator. (and I included credits :) The bitboard-stuff (and rotated-bitboard
stuff) is all written by myself, after I've read a description of it on the net.
I'm sure that's true for other bitboard-engine writers too.

I suggest you read your posts once in a while before you send them to CCC. If
people would accuse _you_ of such things w/o _any_ proof at all and base
everything on either "wild speculation on your part" or "I've tried it for 5
minutes and it didn't work - obviously it doesn't work", you'd be complaining
and shouting around like hell. (Naturally most people know you by now and if
such accusations come from you they're not terribly worried anymore [that's not
a personal attack, that's just stating the truth])

>Usually people also cut'n paste the SEE and qsearch from
>crafty then and they have something much better than they
>can produce in a lifetime most likely.

Do you insult the chess-programmers in general here or just us bitboarders. ;)
[I fail to see how using bitboards makes SEE and/or qsearch so much different
than when using another board representation]

>That's the only attractive things from bitboards IMHO for
>several authors.

The key-word here is "IMHO"... I suggest you add that to more sentences. ;)

>If on the other hand you look to what representation the
>good programmers go for, the picture is real clear.

It is? :) If you say so... :)

If you define a good programmer as "a programmer who doesn't use bitboards",
it's not a surprise that most good programmers don't use bitboards. ;)

>this has nothing to do with religion but with objective speed
>differences. My move generator without inline assembly and
>with general code for both sides, it is 2 times faster than
>crafty at any x86 processor.

Why do you sit on this to much? Didn't you say that move generation was only
0.6% of the total time anyway? (or was it makeMove?) Also you do realize that
different people do different things while generating/executing moves? (I mean
apart from us bitboarders which all copied Crafty of course, and therefore do
exactly the same)

>That's *objective* measurements.

In this case, I don't want to know what the term 'subjective' means to you. :)

>Most important thing however IMHO is that the source from
>crafty is free. If mine was free, everyone would start with
>DIEP and go further from there. I'm 100% sure of it.

At least you don't lack self-esteem. :)

>When GNUchess was the strongest freely available source code,
>people started with that crap.
>I wrote nearly every byte of my move generator. *every* byte.

So did I.

>It took me years to make a fast generator. Not everyone is
>that great.

Not considering your low self-esteem for the moment - isn't it a bit stupid to
spend years to make a fast move generator when almost the whole time is spent in
eval anyway? Doesn't sound like a wise decision to me. ;)


This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

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