Author: Robert Hyatt
Date: 12:24:34 01/04/00
Go up one level in this thread
On January 04, 2000 at 12:11:38, Poschmann wrote:
>On January 04, 2000 at 09:24:13, Robert Hyatt wrote:
>
>>On January 04, 2000 at 06:20:52, Poschmann wrote:
>>
>>>On January 03, 2000 at 14:58:04, Bruce Moreland wrote:
>>>
>>>>On January 03, 2000 at 13:03:46, Bango wrote:
>>>>
>>>>>However; to us technophobes, it seems reasonable that a 64 bit bus can send
>>>>>double the information as well a 64 bit CPU can calculate twice as fast. For
>>>>>example look at the SEGA games which run on 64 bit systems, the graphics are
>>>>>amazing, much nicer than a home computer.
>>>>>
>>>>>IMHO if a computer software program runs better on 32 bits than 16 bits it seems
>>>>>reasonable that 64 bits will increase speed and quality even more.
>>>>
>>>>If you are trying to get drunk, you may be able to do it more quickly if the
>>>>opening in the top of the beer bottle is larger. But beyond a certain point it
>>>>does not matter how much larger the opening is, since the mouth of everyone
>>>>except Mick Jagger is of finite and typical size. If you put a pint of beer in
>>>>a salad bowl you can't drink it any faster than if you put it in a five gallon
>>>>bucket.
>>>>
>>>>I am not a graphics programmer, but I think that the reason that the graphics
>>>>app work better with a wider word size is that those things want to do a lot of
>>>>calculations on wide words, and want to move a tremendous amount of data around
>>>>as fast as possible.
>>>>
>>>>Chess programs don't benefit as much from the wide bus.
>>>>
>>>>bruce
>>>
>>>In image or graphic processing you must do many operations with each pixel in
>>>the same way. If you have a 64-Bit-processor you can load, calculate and store 8
>>>8-Bit-pixels at once. For example you can use MMX instructions in the Pentium
>>>processor.
>>>
>>>I dont know, if there is a possibility to do chess calculations in the same way
>>>in parallel. I suspect it is difficult or impossible because many operations
>>>depend on if/then/else conditions before.
>>>
>>>Ralf
>>
>>
>>Many things can be done 'in parallel'. Is there a pawn on this square, AND a
>>pawn on that square, AND a pawn on that other square? Etc...
>
>Can you explain your example ? If I have to realize your example I could do it
>in the following two ways:
>
>//1.
>if(pos(pawn1)==this_square){
> if(pos(pawn2)==that_square)
> action11;
> else
> action12;
>}
>else{
> if(pos(pawn2)==that_square)
> action21;
> else
> action22;
>}
>
>//2.
>idx=(BitBoard_Position_of_Pawns&Mask_Pawn12)<<Some_Bits;
>switch(idx)
>{
> case 0: action22;
> break;
> case 1: action21;
> break;
> case 8: action12;
> break;
> case 9: action11;
> break;
>}
>
>In both cases the program not realy benefit from a larger integer word. Because
>the decision-tree is sequential as before. Am I wrong ?
>In the second case you can exchange the switch statement for a lookup table
>access. But the number of table entries is limited by the available memory.
That is pretty easy to explain. Suppose you want to ask the question "is the
pawn on d4 passed (white pawn). You have to make sure that c5/d5/e5/c6/d6/e6/
c7/d7/e7 don't contain a black pawn. With bitmaps, I simply create a mask for
every square a white pawn can stand on. For the square d4, I set 9 bits on the
above 9 squares. One AND operation with this mask and the bitmap for black
pawns answers that question. If the result is zero, no black pawns prevent the
white pawn on d4 from being passed. If the result is non-zero... then at least
one black pawn prevents this from being a passed pawn. And I ask the question
with one instruction...
Lots of other cases. for example, king and pawns vs king and pawns... can
the king catch the passed pawn on d6 and prevent it from promoting at d1? I
define a set of masks like cant_catch[pawnsq]. This has a 1 bit on any square
where a king must be to be able to catch a passed pawn on pawnsq. I have one
for BTM and one for WTM so that tempo is included...
There are many other examples... recognizing a potential stonewall attack.
weak pawns. isolated pawns. backward pawns. etc...
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.