Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fill & Floodfill (for Gerd)

Author: Gerd Isenberg

Date: 17:23:24 12/23/02

Go up one level in this thread


On December 23, 2002 at 19:33:50, Bas Hamstra wrote:

>On December 23, 2002 at 19:07:51, Gerd Isenberg wrote:
>
>>On December 23, 2002 at 16:13:21, Bas Hamstra wrote:
>>
>>>Gerd,
>>>
>>>Those fill routines are really neat. I have a few tiny enhancements and am
>>>working on more. How about this:
>>>
>>>// determine where white pawns can go safely, with a floodfill up:
>>>WSafePath = FFillUp(WPawns, ~(AllPawns|BDominated) );
>>>
>>>// now we can calc "pawn-defendable" more accurately:
>>>WDefendable = ((WPawnAttacksRight >> 16) & WSafePath) << 7     |
>>>              ((WPawnAttacksLeft >> 16) & WSafePath) << 9      ;
>>>
>>>// to be used in backward pawns:
>>>WBackWard = ((~AllPawns & BDominated) >> 8) & WPawns & ~WDefendable;
>>>
>>>Best regards,
>>>Bas.
>>
>>Hi Bas,
>>
>>Wow, absolutely great!!!
>>Pawn-defendable is really more accurate.
>>
>>I guess FFillUp(g, p) is Steffan's FillUpOccluded and WPawns are therefore
>>member of WSafePath.
>
>Yes, that is 100% correct. I played with this routines to check the speed of the
>non-mmx versions, but it seems then I have a "wrap-around" problem?
>
>>BitBoard FFillUp(BitBoard g, BitBoard p)
>>{
>>           g |= p & (g <<  8);
>>           p &=     (p <<  8);
>>           g |= p & (g << 16);
>>           p &=     (p << 16);
>>    return g | (p & (g << 32));
>>}
>>
>>What do you think about (2.rank) pawns thay may push safely one step foreward,
>>but became backward afterwards?
>
>Yes, I have been thinking about this too, but it gave me a headache :-) Because,
>what to say about pawns that become backward if 3 squares advanced? What is the
>definition of backward pawn, in fact? Is a pawn on the third rank counted as
>backward if it would be backward if 2 squares advanced?

May be some smart fill to get all backward squares...
Are they stronger than isolanis?
But if white can reach the 4.rank, the guards are on the 6.rank.
Here the more advanced (d4) is not considerd as backward (Kmoch)?!

[D]6k1/8/4p3/8/3P4/8/3K4/8 w - -

But anyway i use several degrees of backwardness, from very bad overloaded
backward guard, open ("real") backwards and advanced candidates.

Btw. your algorithm considers all pawns as backward here, that's fine.

[D]K6k/6p1/8/5P2/5p2/8/4P1P1/8 w - -

But of course sometimes there are overloaded guards (Also a nice pattern to
have).

Regards,
Gerd


>
>   WELL??
>
>:-)
>
>Best regards,
>Bas.




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.