Author: Tord Romstad
Date: 01:07:24 09/01/04
Go up one level in this thread
On September 01, 2004 at 00:51:47, Stuart Cracraft wrote:
>I know this is a long shot throwing this out there without much more
>info, but perhaps I'll get lucky and someone has seen this before.
>It's appeared on this bulletin board about 6 years ago.
>
>[D]4r1k1/p1qr1p2/2pb1Bp1/1p5p/3P1n1R/1B3P2/PP3PK1/2Q4R w - - bm Qxf4; id
>"WAC.141";
>
>This position is supposed to be a good test for the implementation
>of Moreland's mate threat extension (if null move search value returns a mate,
>extend, or if it returns a mate one move away, extend (the more limited version)
>He says many humans can see this mate threat (even I could and I am a class
>C or B player) along the h-file but that some null move type programs have a
>problem, hence his extension.
>
>I am pretty sure my program is implementing the extension but it
>grinds and grinds and can't break free from Kf1 to the winning Qxf4.
>
>with mate threat code:
> 1/11 g2f1 0.00 -953 352 g2f1 f4d5
> 2/11 g2f1 0.01 -953 723 g2f1 f4d5 c1g5
> 3/16 g2f1 0.01 -953 2038 g2f1 f4d5 c1g5 d5f6
> 4/16 g2f1 0.05 -953 9887 g2f1 f4d5 b3d5 c6d5 f1g2
> 5/21 g2f1 0.36 -953 75432 g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
> 6/33 g2f1 1.32 -953 267360 g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
> 7/33 g2f1 9.36 -939 2144638 g2f1 a7a5 f6g5 f4e6 c1e3 d6e7 g5e7 d7e7
> 8/34 g2f1 16.14 -939 3355663 g2f1 a7a5 f6g5 f4e6 h4e4 a5a4 b3e6 e8e6 f1g1
> 9th ply here takes too long and didn't finish in a decent amount of time
>
>without mate threat code
> 1/11 g2f1 0.00 -953 352 g2f1 f4d5
> 2/11 g2f1 0.01 -953 723 g2f1 f4d5 c1g5
> 3/16 g2f1 0.01 -953 2038 g2f1 f4d5 c1g5 d5f6
> 4/16 g2f1 0.05 -953 9887 g2f1 f4d5 b3d5 c6d5 f1g2
> 5/21 g2f1 0.36 -953 75432 g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
> 6/33 g2f1 1.39 -953 267360 g2f1 b5b4 b3a4 f4d5 f6g5 d5e7
> 7/33 g2f1 8.16 -939 1875448 g2f1 a7a5 f6g5 f4e6 c1e3 d6e7 g5e7 d7e7
> 8/34 g2f1 15.78 -939 3145843 g2f1 a7a5 f6g5 f4e6 h4e4 a5a4 b3e6 e8e6 f1g1
> 9/42 g2f1 151.08 -825 30769486 g2f1 g8f8 h4h5 g6h5 h1h5 e8e1 f1e1 d6b4 e1d1 f4
>h5 c1h6 f8e8
>10/46 g2f1 471.92 -825 92873175 g2f1 e8b8 h1g1 f4e6 h4h5
>11/46> g2f1 666.85 -575 133140320 g2f1 e8b8 h1g1 f4e6 h4h5
>
>basically blows up at ply 9 and moves on to ply 10.
>ply 11 then gets a fail high. I decided not to wait for
>the final ply 11 search as it was taking too long with the wider window.
>
>The mate threat code comes right after the null move portion in the main search
>and is:
>
>#ifdef MATETHREAT
> // If no extension so far, and null move thinks we're mated next move
> // then extend. Sorry, I don't use fractional extensions presently.
> if (!extend && value == -MATE+qdepth+2) {
>// printf("mate threat:\n");pbd(bd);getchar();
> extend=1;
> depth++;
> }
>#endif
>
>I've tried it with the comment uncommented and it does show positions
>with the rook threat along the h file with the long-diagonal bishop's
>support threatening mate so I know it is seeing the threat, clearly.
The above code looks correct. It is strange that your search explodes
with mate threat extensions enabled. They are usually not very expensive.
Do you use the mate threat information in move ordering? If you don't,
this is definitely worth a try. Order the mating move directly after
the hash table move.
The Botvinnik-Markoff extension is also useful in WAC141. With the
default extensions (3/4 of a ply for mate threats, 1/2 of a ply for
the BM extension), my program finds Qxf4 after only 6 plies and
12,993 nodes:
1 -0.06 0.00 14 Kg1
2 -1.47 0.00 198 Kf1 Re2
3 -1.25 0.00 611 Kf1 Nd3 Qd2 Re1+ Kg2
4 -1.75 0.01 1442 Kf1 Nd3 Qd2 Re1+ Qxe1 Nxe1
5 -1.22 0.04 5724 Kf1 Re2 Qb1
6 >= -1.22 0.11 12993 Qxf4 Bxf4 Rxh5 gxh5 Rxh5
6 1.50 0.16 21341 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6
7 >= 1.50 0.21 27831 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6
7 4.09 0.31 46383 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qg3+
Kxg3
8 >= 4.09 0.38 57432 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qg3+
Kxg3
8 6.81 0.47 76921 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qg3+
Kxg3 Re2 Rh8#
9 >= 6.81 0.64 104292 Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qg3+
Kxg3 Re2 Rh8#
9 10.47 1.42 254990 Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qg3+
fxg3 Kf8
10 >= 10.47 1.69 305728 Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qg3+
fxg3 Kf8 Bxf7
10 10.50 2.10 385202 Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+
Rxh2
11 >= 10.50 2.63 482317 Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+
Rxh2
11 >= #51 15.74 3297727 Qxf4
11 #23 17.03 3584711 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Qg5+ Kf8 Rxh5
12 >= #23 18.07 3774805 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Qg5+ Kf8 Rxh5
12 #8 28.02 5787201 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Qg5+ Kf8 Rxh5 f6 Qxf6+ Rf7 Qxf7#
13 >= #8 29.26 5964059 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Qg5+ Kf8 Rxh5 f6 Qxf6+ Rf7 Qxf7#
13 #6 34.13 7141130 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
14 >= #6 35.04 7239835 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
14 #6 35.86 7456196 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
15 >= #6 36.96 7569693 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
15 #6 38.20 7933292 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
16 >= #6 39.41 8064413 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
16 #6 41.06 8596035 Qxf4 Be7 Rxh5 Bxf6 Qxf6 Qg3+ Kxg3 gxh5
Rxh5
Tord
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.