Computer Chess Club Archives




Subject: Re: Singular extensions

Author: Robert Hyatt

Date: 13:18:29 01/08/98

Go up one level in this thread

On January 08, 1998 at 11:48:22, Bas Hamstra wrote:

>On January 07, 1998 at 22:51:59, Robert Hyatt wrote:
>Bob, a while ago we had a short conversation about singular extensions.
>You said something like if a move is way better than the rest research
>that move till Depth+1.
>But what is the basic idea of singular extensions? Is it something like
>q-search but then not for captures but forcing moves? How could it lead
>to searching at greater depth *average* as was said of Deep Blue?
>Could you tell something more about this, about the general idea, not
>the implementation? (I'll be back for that later hopefully).
>Bas Hamstra.

The general idea is this:  If one move is clearly better than all the
other moves, by a significant amount, it *might* be a good move, or it
*might* be a delaying move that just barely holds off some significant
threat by the opponent.

There are two cases:  PV singular and fail-high singular.  I'll explain
the first as it is easy to understand.

You are searching at a node P, with window (alpha,beta).  You search the
first move P.1 with this window.  you search the remainder of the moves
with (alpha-X, beta-X) where X=a constant you choose by experimentation.
If all the remaining moves fail low, with this lowered window, you know
that all of these moves are much worse (at least X worse) than the best
move that didn't fail low with the alpha/beta window.  This move is
a singular move and is then re-searched with 1 more ply added on.

It gets messy if your move ordering isn't perfect, because when you
lower the
window, and a move fails high, now you have to wonder which of the
is true:  move is better than the rest, but not better than the best so
far.  if this is true, this is not a singular node since there are two
good moves to try.  but this move might be way better than the best so
far, and *it* might in fact be singular, so you re-search it with the
window, and then re-search the old best move with the offset window to
if one is better than the other by a significant amount.

The idea is, if one move is better than all the rest, it might be the
move that prevents your opponent from zapping you (ie a spite move but
a check since a check would be extended anyway probably).  This simply
follows long forcing lines where at each ply you only have one saving

but it is computationally expensive...

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