Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question to Bob: Crafty , Alpha and FindBit()

Author: Robert Hyatt

Date: 07:34:49 06/14/98

Go up one level in this thread


On June 14, 1998 at 06:43:51, Vincent Diepeveen wrote:

>
>On June 13, 1998 at 23:17:37, Dave Gomboc wrote:
>
>>On June 11, 1998 at 09:00:21, Vincent Diepeveen wrote:
>>
>>>Suppose we have 2 cases for a rook
>>>at the horizontal axis:
>>>   a)  rook at a1 where we count fields    b1,c1,d1,e1
>>>       it's clear that this works for above representation. this is
>>>probably
>>>      what you have in mind.
>>>   b) rook at a1 where we count fields  b1,d1,e1
>>>     You can't do this. BUT YOU DON'T WANT TO COUNT C1 AS YOU
>>>     DON'T CONTROL IT, for example because there are doubled rooks
>>>     of opponent at c-file which is open.
>>
>>Let's say that A is the bitboard representing where the rook can move.
>>B could be one of many things:  the bitboard representing squares the
>>opponent attacks at least as many times as you do, the bitboard
>>representing squares the opponent attacks with a piece of lesser (or
>>equal) value than the rook, the bitboard representing whatever your
>>imagination comes up with... but in every case, computing A and not B
>>should give you what you want in one clock cycle.
>>
>>Of course B isn't that easy to generate, depending on what you choose
>>for it, but it's not like bitboards make this sort of computation
>>impossible or extremely expensive either.
>
>Suppose you have both A and B, then how do you compute it
>in O(1)?
>
>Not possible with the current array sizes.
>
>>Dave Gomboc


that's easy... take the bitmap with the squares attacked by your rook,
and it with the complement of the bitmap of the squares attacked more
times by your opponent than by you, and you are done...



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.