Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: WAC 141 blowup

Author: Uri Blass

Date: 02:26:18 09/01/04

Go up one level in this thread


On September 01, 2004 at 04:07:24, Tord Romstad wrote:

>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.

I do not think that it is a good idea to use mate threat everywhere.

I do not use mate threat extension today but if I decide to use it then it seems
to me better to use it only when you are almost sure of fail high based
on static evaluation.

I use fail hard and not fail soft so the only simple way for me to detect mate
threats is simply to search for mates when the remaining depth is big enough.

One reason that I almost did not try mate threat extensions is that I think that
Movei does not do enough pruning and I think that I need more pruning when I see
that Gothmog usually outsearch movei in plies so I decided that having check
extension and botvinik extension for repeated checks and some other more rare
extensions like extending transition to pawn endgame is probably enough but I
guess that mate extension in the right condition may help me(I did not try
search changes in the last months and the time that I worked on movei was only
about changing the code to be more readable and changing time management).

I may test and decide to use mate extensions only if I get the following
conditions:
1)It often helps to solve test positions faster.
2)It usually does not cause the program to need significantly more nodes to get
speicific depth in positions that it does not solve faster.

Test suites should be always the first test for new extensions and I think that
if I do not get better results there then there is no point even to try them in
games.

  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

Does it find it because of search or because of evaluation?

If it evaluates the final position in the pv as +1.50 for white then it is part
of the explanation why it finds it so fast.

Uri



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.