Computer Chess Club Archives




Subject: Re: mate threat extension/null move

Author: Stuart Cracraft

Date: 21:50:45 09/25/04

Go up one level in this thread

On September 25, 2004 at 22:35:37, Stuart Cracraft wrote:

>On September 25, 2004 at 17:19:04, Andrew Platt wrote:
>>On September 25, 2004 at 16:35:05, Stuart Cracraft wrote:
>>>So do you solve WAC 141 in a reasonable amount of time?
>>As I said, I don't see the mate score in a reasonable time but I do find Qxf4!:
>> 6   -178         6      45906 Kf1 b4 Bc4 Nd5 Bg5 f5
>> 6   -178         6      47494 Kf1 b4 Bc4 Nd5 Bg5 f5
>> 7   -172        26     191354 Kf1 a5 Bg5 Nd3 Qc2 Re1+ Kg2 Re8
>> 7   -172        28     201701 Kf1 a5 Bg5 Nd3 Qc2 Re1+ Kg2 Re8
>> 8   -163        89     666343 Kf1 a5 Bg5 Ne6 Bxe6 Rxe6 Kg1 f5
>> 8   -163        92     692725 Kf1 a5 Bg5 Ne6 Bxe6 Rxe6 Kg1 f5
>> 9   -124       823    6360825 Kf1 Rc8 Qb1 Nd5 Kg1 b4 Bg5 Be7 f4
>> 9   +137      1218    9592419 Qxf4 ++
>> 9   +764      1459   11570166 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qg3+ fxg3 Re2+
>>Kh3 Rh2+ Kxh2 a5
>> 9   +764      1462   11596859 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qg3+ fxg3 Re2+
>>Kh3 Rh2+ Kxh2 a5
>>10   +764      1834   14726581 Qxf4 Bxf4 Rxh5 gxh5
>>10   +764      1870   15025646 Qxf4 Bxf4 Rxh5 gxh5
>>As you can see it misses the mate near the bottom. It extends at Rxh5 (mate
>>threat), Rxh5 again, Rxh6 (mate threat still), Qg3+ (check). I forget exactly
>>why it misses the mate at the bottom. I know it drops into qsearch with Rh8#
>>being move it doesn't consider because it's a capture; I think the line it comes
>>up with happens because it has the most extensions and captures!
>>I don't consider this conclusive; I expect I could change the search for
>>something else and find this one disappears again!
>My program won't solve it without recapture extention enabled. And
>then only in about 2-3 minutes on a 1ghz P3. With the best settings
>for WAC overall, which doesn't include that extension, WAC 141
>completely befuddles the program.
>Wish I could get this one solved. David -- how does GES do on WAC 141?
>Am willing to publish my search()+quiesce() code verbatim to get input
>from anyone who really has a handle on 141 and wants to help.
>Alpha=-1332 Beta=-531 Maxdepth=9999999 MaxTime=9999999
> 1/ 9  g2f1  0.00 -953      352 g2f1 f4d5
>                                g2f1 f4d5
> 2/ 9  g2f1  0.01 -953      730
>                                g2f1 f4d5 c1g5
> 3/11  g2f1  0.02 -953     2018
>                                g2f1 f4d5 c1g5 d5f6
> 4/14  g2f1  0.07 -953    10025
>                                g2f1 f4d5 b3d5 c6d5 f1g2
> 5/17  g2f1  0.43 -953    77695
>                                g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
> 6/23  g2f1  1.57 -953   225860
>                                g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
> 7/28  g2f1  8.76 -939  1778751 g2f1 a7a5 f6g5 f4e6 c1e3 d6e7 g5e7 d7e7
>                                g2f1 a7a5 f6g5 f4e6 c1e3 d6e7 g5e7 d7e7
> 8/29  g2f1 17.28 -939  3143034
>                                g2f1 a7a5 f6g5 f4e6 h4e4 a5a4 b3e6 e8e6 f1g1
> 9/34  g2f1 27.41 -939  4951637
>                                g2f1 a7a5 f6g5 f4e6 h4e4 a5a4 b3e6 e8e6 f1g1
>10/41  g2f1 71.45 -939 12724480
>                                g2f1 a7a5 f6g5 f4e6 h4e4 a5a4 b3e6 e8e6 f1g1
>                                e6e4

As a followup I did some more work and now have a new better time
for WAC 141 solution than before. The new result is:

 4/20  g2f1  0.10 -953    21089
                                g2f1 f4d5 b3d5 c6d5 c1c7 d6c7 f1g1
 5/21  g2f1  0.70 -953   176723
                                g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
 6/26  g2f1  3.06 -953   686179
                                g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
 7/35> g2f1 60.02 -552 14519587 g2f1 e8c8
                                g2f1 e8c8 f1g1 c8e8 c1b1 f4e2 g1g2 e2d4
 7/35  c1f4 95.34 5113 23802498 c1f4 e8e6 f4g5 d7e7 b3e6 e7e6 h1d1 d6e7 f6e7
                                c1f4 e8e6 f4g5 d7e7 b3e6 e7e6 h1d1 d6e7 f6e7
 8/35  c1f4 106.47 5113 25931247
                                c1f4 e8e6 f4g5 d7e7 b3e6 e7e6 h1d1 d6e7
 9/35>Tc1f4 115.29 5513 28172556
                                c1f4 e8e6 f4g5 d7e7 b3e6 e7e6 h1d1 d6e7
nps=244369 ha=7.00% q=45.0% bc=54% br=7.35% mp=183<>149
pawnx=0 recapx=342843 qcheckx=669230 checkx=197038 futilx=6344556 onereplyx=0
+ 9.00/35.00 100% 1/1 ha=7 115.29 28172556 28172556/115/244369 0/342843/669230/1

For me -- 95 seconds is good.  Note the double variation is first the
regular pv[] triangular array if any and then the walk-the-pv method.
For some reason WAC 141 really kills my triangular array pv[] and I
do not know why. You see in most cases above it is blank.

My WAC problem was that after my quiescence went back into the main
search since quiescence node on entry was in check, I had not
completely disabled all main search extensions. I have disabled
all of those now and got the better result. The reason I did this
was David's comment about "all his extensions" and then another
comment about someone going to main search from quiescence incheck
situation with depth=0.

What was killing me was the additional recapture extensions after
an incheck extension *** at the same ply*** due to the above bug.
The bug had been there since nearly the beginning of the program
in June.

I know this is nothing compared to what others are solving
WAC 141 in but consider that my machine is probably 3x-5x slower
than your machines so I am really getting Qxf4 in 18-30 seconds
on that type of machine, so I am okay on WAC 141 now. I won't
be buying a newer faster computer until I can get a 64-bit box
that totally dusts this 1ghz P3. I.e. at least >=5x faster on
my program (I go to CostCo and test out the systems with my program.)

However, since I had to enable the recapture extension to do this,
my test result on WAC is about 8-9 positions fewer correct.

I did the above without a Botvinnik-Markoff extension and without
a Mate-Threat extension and with no checking moves in the quiescence

For the above I use only recapture extension and check evasion
moves in the main search and quiescence and one-reply extension in
main seach. I don't even hash the null position and do not store
any kind of threat information as mate-threat is not used.

I think most people solved the above problem with elaborate methods
of various extensions but I now don't see why that is necessary.
I have needlessly been suffering due to a) not turning off extensions
after handoff from incheck extension in quiescence over to main search
with new search depth of 1 and b) having a slower machine than others.

It was a bug in the *** existing code ***. Truly when Ernst Heinz said
that every computer chess program was a cornucopia of possible discovery,
he understated it signifcantly still. :-)


This page took 0.07 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.