Author: Anthony Cozzie
Date: 06:06:50 03/25/04
Go up one level in this thread
On March 25, 2004 at 05:50:49, Sune Fischer wrote:
>On March 25, 2004 at 05:26:46, Sune Fischer wrote:
>
>>>Hi Sune,
>>>
>>>yes, your idea seems fine because such positions are very unlikely ;-)
>>>
>>> 7k/p7/2p1p1p1/2P1P3/2pBp3/2P1P3/8/6K1 w - -
>>
>>Yes, I have no interest in such constructed positions.
>>
>>There is a slight problem though, it seems this method requires 4 fills to
>>propagate to the corner.
>>
>>I printed the positions where it triggered and I got the following type
>>positions:
>>
>>5rkB/5p2/p3pPp1/1p5b/2r5/P7/1PP4R/1K1R4 b - - 0 1
>>
>>With 4 fills this should go away.
>>
>>-S.
>
>I switched to 4 fills, it doesn't matter as everything being pawn hashed seems
>to be free.
>
>Gave it the nice testposition posted here, was it from Terra's game I think.
>
>[D]1k1r3r/pp4b1/3q2p1/3p3p/3P1p2/1Q2pP1P/PP2P1BP/K1RR4 w - - bm h4
>
>1 -348 8 546 1.Qa4 h4
>1 -347 8 586 1.Qb5
>1 -338 10 621 1.Qb5 h4
>1 -168 10 668 1.h4
>1 -97 12 715 1.h4 Rc8
>2 -97 12 758 1.h4 Rc8
>3 -96 12 1222 1.h4 Bf6 2.Bh3
>4 -102 15 3827 1.h4 Rc8 2.Rxc8+ Rxc8 3.Bh3
>5 -103 16 14182 1.h4 Bf6 2.Qd3
>6 -101 21 47351 1.h4 Rc8 2.Rc5 Rxc5 3.dxc5 Qxc5
>7 -101 26 81468 1.h4 Rc8 2.Rc5 Rxc5 3.dxc5 Qxc5 4.Qxd5
>8 -106 66 425818 1.h4 Qa6 2.Bf1 Bf6 3.Qc2 Qb6 4.Qxg6 Bxd4
>9 -106 101 686430 1.h4 Qa6 2.Bf1 Bf6 3.Qc2 Qb6 4.Qxg6 Bxd4 5.Qxb6
>10 -142 230 2010878 1.h4 Rc8 2.Rxc8+ Rxc8 3.Bh3 Rc4 4.Qb5 Bxd4 5.Qe8+ Kc7
>6.Qf7+ Kb6 7.Qe8
>11 -114 513 5118021 1.h4 Bf6 2.Bh3 Bxh4 3.Rc5 Be7 4.Rdc1 Qa6 5.Rc7 Rhe8
>6.Bd7
>12 -113 1235 12984545 1.h4 Bf6 2.Bh3 Bxh4 3.Rc5 Bf6 4.Rb5 b6 5.Qa4 g5 6.Qa5
>
>Works like a charm, both sides wants to play h4! :-)
>
>-S.
Of course, rather than starting from the outside, its far easier to start from
the inside!!
note: This has been bothering me. 'Taboo' is spelled with two o's rather than a
u.
So why not do something like this:
for(i = 0, a = {D4, E4, D5, E5}; i < 8; i++)
{
a1 = ((a & edgemask) << 9) & ~taboo;
a2 = ((a & edgemask) << 7) & ~taboo;
a3 = ((a & edgemask) >> 9) & ~taboo;
a4 = ((a & edgemask) >> 7) & ~taboo;
a = a | a1 | a2 | a3 | a4;
}
store a in pawn hash;
The whole thing will execute with an average time of 1 cycle per evaluation!!
If a bishop is not on 'a', it cannot reach the center, and is considered
trapped.
I think it is better to have a single taboo bitboard. This reduces space
consumed by the pawn hash. Now, the problem is, how to compute the taboo
bitboard.
I am going to go a bit out on the limb here and propose taboo = w_pawns |
b_pawns (and their attacks (?)). This relies on the search a bit, but it also
covers the most important case: Bxa2 with pawns on A2, B2, C2, K at C1. The
only problem is that it will screw up the opening position.
OTOH, this is more true to the original idea. We have eliminated 99% of all
pieces, now we have the time to do a more complicated calculation.
Another interesting question: can we extend the idea to rooks? This requires
some extra work, I think . . .
anthony
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.