Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question for Hyatt about Alpha/Beta

Author: Tord Romstad

Date: 12:30:30 02/06/04

Go up one level in this thread


On February 06, 2004 at 14:44:35, Gerd Isenberg wrote:

>You may use several bitboards for several "shades of gray".
>
>The base with pawn bitboards is to keep disjoint sets of left and right attacks
>and sets of stop squares (the pawns may push to, if empty). Next step is fill
>up/down (both directions for both colors, front and "behind") all the pawns and
>their disjoint attack sets.
>
>With all these sets you can determine all pure pawn related sets like passers,
>rams, levers, defended/defendable by own pawn, attackable by enemy pawn,
>backward, isolated, doubled, tripled, duos, hanging duos, chains and whatever
>more.
>
>For a rammed pawn you may see if it is rammed "forever", since no own pawn (or
>only backward or in recursive phases pawns already member of this "rammed
>forever" set) may build a lever anymore.

Pure pawn stuff is virtually free anyway, because it is hashed.

>In further eval phases piece interactions with these pawn sets take place.

This is where things start getting interesting, of course.  :-)

>With
>rams one may look whether the attack squares or the rammed pawn are strong or
>safe outposts for friendly pieces, where an equal exchange may unblock own but
>even the enemy pawn (which may become a passer, if the former was no duo or
>defended/defendable and had no own pawn behind).
>
>Considering the rank (side) is essentially, eg. to distinguish between advanced
>"good" rammed pawns on 5-6. rank, like a "Nagel" on f6, or isolated b5:b6 ram
>and backward a7 and bad ones on the 2-4.rank, defended by a bishop from back.
>
>Even if it is (sounds) expensive, you work setwise and avoid branches and loops,
>no matter about the popularity of sets (except "good predictable" != zero here
>and there).
>
>With appropriate register files (like Opteron's 16 gp-registers, Itanium or
>SIMD-architectures like MMX/SSE or AltiVec) you may process a lot of independent
>bitboard pattern in parallel (four or even more in one).

I am more worried about slower processors.  The processors you mention
above are all so blazingly fast that it doesn't matter much what I do.
Even my current slow and buggy engine beats me easily on my G4 550MHz,
and on the Opteron it would crush me so badly that I prefer not to think
about it.  Optimising for such computers has no point for me; even if I
managed to speed up my engine by a factor of ten I probably wouldn't even
notice the difference.

I don't target any specific architecture, but want my engine to run
on a variety of processors ranging from StrongARM chips in handhelds
to the PowerPC G5.  But of course, the performance of the lower end
of the scale is most important.  I need to choose my data structures
in such a way that they are efficient on 32-bit computers with very
limited memory.  Do you think bitboards are still worth a try, or
should I continue to use a simpler architecture?

>You already noticed Steffan Westcott's "Bitboard algorithm design principles"?

Yes, I've seen them.  Thanks for your advice!  :-)

Tord



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.