Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: null move efficiency

Author: Tord Romstad

Date: 02:44:51 04/21/04

Go up one level in this thread


On April 20, 2004 at 19:57:00, Sune Fischer wrote:

>>I used to do static mate detection in the past, but had to sacrifice it when
>>I simplified my attack tables.
>
>As always it's a trade off, your new tables are probably faster? :)

Yes, though not very much.  The effect on playing strength seemed to be more
or less neutral.  When there is no measurable difference in strength between
two different ways to do something, I tend to prefer the simplest solution,
in order to reduce the number of potential bugs.

>>This is strange.  I have very rarely seen something like this.  Do you have
>>any examples of positions where this occurs?  How much did you extend for
>>mate threats?
>
>It happens pretty much in all attacking positions, eg. wac141 takes a lot longer
>to solve with null-threat extension on.
>I use half a ply for the extension.

Have you tried to make this more dynamic, like I do?  I haven't tested this
very thoroughly, but intuitively it seems plausible that it is more useful
to extend for mate threats when the side to move has an advantage.  It might
be a good idea to let the amount of extension depend on the static eval.

>Threat ext ON:
>6	-234	13	      65536	1.Kf1 Re2
>6	-233	20	     126618	1.Qxf4
>6	397	28	     188155	1.Qxf4 Bxf4 2.Rxh5 gxh5 3.Rxh5 Bh6 4.Rxh6 Qh2+
>7	981	119	    1014524	1.Qxf4 Be7 2.Rxh5 Bxf6
>8	32756	617	    6225970	[Mate in 6] 1.Qxf4 Be7 2.Rxh5 Bxf6 3.Qxf6 Qg3+ 4.Kxg3
>gxh5 5.Rxh5 Kf8 6.Rh8++
>
>Threat ext OFF:
>6	-234	11	      52773	1.Kf1 Re2
>6	-233	14	      74051	1.Qxf4
>6	321	25	     164139	1.Qxf4 Re6 2.Qg5 Rxf6 3.Qxf6 c5
>7	981	66	     540949	1.Qxf4 Be5 2.Rxh5 Bxf6 3.Qxf6 gxh5 4.Rxh5 Qh2+ 5.Kxh2
>8	32756	286	    2676756	[Mate in 6] 1.Qxf4 Be5 2.Rxh5 Bxf6 3.Qxf6 gxh5 4.Rxh5
>Qh2+ 5.Kxh2 Rxd4 6.Qxf7++

Very strange.  Here are my results for WAC141 with mate threat extension
on and off:

Mate extension on, BM extension on:   Solved in 6 plies,   13380 nodes.
Mate extension on, BM extension off:  Solved in 7 plies,   48236 nodes.
Mate extension off, BM extension on:  Solved in 9 plies,  156929 nodes.
Mate extension off, BM extension off: Solved in 9 plies,  156937 nodes.

As you can see, the combination of mate extensions and BM extensions helps
Gothmog find Qxf4 3 plies earlier, and in less than 10% of the nodes.  This
is by no means unusual in such positions.  Mate extensions improve the speed
tremendously in positions where checkmates are important, and seems to have
very little cost in other positions.

>I think there are simply too many mates in 1 encountered in the search, most of
>them easy to refute and not worth an extension.

>Do you have an example of a position where it does work well?
>Perhaps wac141 is not a good position, although threats seem to be the major
>theme.

As I mentioned above, it appears to work well in the majority of positions
where mates are an important theme.  One of the exceptions is WAC163, which
is solved slightly more quickly without mate extensions (732465 nodes without
the extension, 780947 nodes with the extension, 10 plies in both cases).

>>I currently use the following scheme for deciding how much to extend when
>>the side to move is threatened by mate in one (PLY=60, value of pawn=128):
>>
>>if(static_eval > 0) extension = 45;
>>else if(static_eval > -100) extension = 30;
>>else if(static_eval > -200) extension = 20;
>>else extension = 0;
>>
>>>I think it would be better to extend on a newly detected mate threat, ie. the
>>>ply before we wasn't being mated.
>>
>>In fact, I think precisely the opposite.  If you have the same mate threat
>>as two plies earlier, there is a serious risk of a horizon effect problem,
>>and it is even more important to extend.  I add half a ply to the mate threat
>>extension in this case (a special case of the Botvinnik-Markoff extension).
>
>I found a few positions were it did work great, but on average
>the Botvinnik-Markoff extension doesn't work either for me.
>Perhaps it is related somehow.

I had very strange results with the BM extension.  I found very few test
positions where Gothmog performed better with the extension enabled, but
when playing games the version with the extension consistently scored
slightly better.

>I think the problem is a lot of nonsense gets extended.
>Ie. you are in a position where there is a threat, you have only one single
>refutation move, so it is practicly forced and this should be the move you
>extend.
>
>What can happen is that you make a different (totally losing) move, but now
>instead of playing the winning threating move your opponent might also make a
>different (neutral) move.
>So we are back, the threat is still there, but the line is nonsense because you
>and your opponent has played inferior moves already. This gets extended.

I haven't noticed this problem very often.  It probably depends on your move
ordering.  In the node following a null move, if the null move failed low
by a big margin two plies earlier, I search the last refutation move directly
after the hash table move.

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.