Computer Chess Club Archives




Subject: Re: Singular extensions

Author: Bruce Moreland

Date: 10:54:00 01/09/98

Go up one level in this thread

On January 09, 1998 at 12:20:39, Ernst A. Heinz wrote:

>BTW, what about the "mate extension" that you referred to -- are you
>to share any details?
>I have shortly tried to implement a "mate finding extension" twice
>good success ... :-(

I think it is important to never ask a question when you might have to
give some information back, and this is the mistake I made in this case.

It is incredible how little content we post in this newsgroup and in

I hate having the feeling that those who have a better way of doing it,
but don't post, might be laughing at my primitive techniques this time.
Of course, if I happen to post something good they will go "ooh" and
immediately start coding.

The extension is:  If you discover that you get mated if you do nothing
in this position, extend all your moves by a ply (in total, this doesn't
add to other extensions).

The idea is that if I'm getting mated if I do nothing, I probably want
to resolve this node a little better than usual, since perhaps the moves
I can make that avoid mate are just pushing it over the horizon.
Especially in cases where you give up huge material at the root, and
your opponent can give bits of it back to delay things (as in this

An alternate implementation is to note the mate threat, search
everything without extending, but if you find something that fails high
or is a PV, search it again with the extension.  These implementations
seem to be approximately equivalent.

The result is that mine finds WAC 141 in 8 plies rather than who knows
how many.  A few other WAC problems benefit from this:  182, 222, and
maybe more.

The trick is detecting that you are getting mated if you do nothing.  I
am already doing a null move search, which will fail low because the
opponent has a threat.  The problem is to figure out how low it is
failing.  I try to return scores that are outside the alpha-beta bounds
when I can, and sometimes I catch a -MATE here, and in those cases there
is obviously a mate threat.  I am sure there are other ways, lots of
ideas to try.

So the short answer is to try to detect mate threats with the null move
search, and extend when you find one, if you would otherwise fail high
or get a PV.

My way is obviously not perfect since other programs get this problem
more quickly.


This page took 0.01 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.