Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: questions about singular extensions

Author: Robert Hyatt

Date: 02:11:39 08/10/98

Go up one level in this thread


On August 09, 1998 at 23:09:20, blass uri wrote:

>I know DB and Cray blitz use singular extensions (when one move is clearly
>better than the others they analyze it more) and I have some questions
>1) how much time do the programs analyze a move to decide it is singular.
>Is it a function of the total time you give the program?


There are several cases to handle, but lets take the case where a move
is a "PV-node"...  ie this is the "best" move at this ply, and the "best"
move at this ply is going to be part of the PV (say this is the move at
ply=2, that follows playing the supposedly "best" move at the  root).  After
searching this first move, you would normally search the remainder of these
ply=2 moves with the alpha/beta window (alpha,beta).  With SE, you search
the remainder of the ply=2 moves with the window (alpha-M,beta-M) instead.

If all the remainind ply=2 moves still fail low, you know that the first
move is "singular by M" or that it is at least M better than any of the
other ply=2 moves.  You re-search this move to depth+1 because it is
"singular."

This does get messy, however, because the first move you search might not
be best, but basically you extend a move X at ply=N, if, for all moves at
ply=N, val(X) > val(all other moves)+M.

The fail high nodes are messier but use the same approach, just that even
at a fail-high node, where normally you only search one move, you search
all moves, with an offset window as above, but to reduced ply.



>
>2)what is exactly a singular move
>(what is the minimal difference in evaluation between the best move and the
>second best move to decide that a move is singular).

In Cray Blitz, we settled on a value about 2/3 of a pawn.  But our
positional scores rarely exceeded 1/2 pawn.  I am going to try this in
Crafty later, but with its much larger positional scores, I don't know if
this value would be acceptable or not.




>
>3)In what lines do the programs use singular extensions?
>


*anywhere* you can prove that one move is clearly better than another,
living within the constraint that you can't over-extend.  IE I took the
DB/DeepThought approach in CB that said no more than two extensions on
any two consecutive plies (average of one ply of extension per ply of
search).



>4)are there other programs who use singular extensions?


Richard claimed to use a "cheapo" version in genius 2, or genius 3.
It was the major addition between the two versions, whichever ones they
were.  "Cheapo" means that you find that a move is singular this iteration,
but you don't research to depth+1, you simply make a note and extend the
"next" iteration.  Saves overhead, but won't catch things on the last
iteration.  And he didn't do the fail-high form at all, just "PV-singular"
moves.





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