Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: singular extension (PV part only)

Author: Robert Hyatt

Date: 08:25:18 09/28/04

Go up one level in this thread


On September 28, 2004 at 01:01:04, Stuart Cracraft wrote:

>On September 27, 2004 at 23:56:17, Robert Hyatt wrote:
>
>>On September 27, 2004 at 23:48:56, Stuart Cracraft wrote:
>>
>>>On September 27, 2004 at 17:00:28, Robert Hyatt wrote:
>>>
>>>>On September 27, 2004 at 14:21:51, Stuart Cracraft wrote:
>>>>
>>>>>So when in PVS I've searched my first move, and it is a PV
>>>>>move as well, with search returning value then I do a depth-2
>>>>>search on all other moves  and if none -search(depth-2,-beta-MARGIN,-
>>>>>alpha-MARGIN) <= -beta-MARGIN, where MARGIN is set to 3/4 of a pawn,
>>>>>then the PV move  is singular and I re-search it with depth instead of depth-1
>>>>>and use the returned value as my score against which to
>>>>>measure all other non-PV moves against in the normal part
>>>>>of the search, searching them to depth-1.
>>>>>
>>>>>Is the above wrong?
>>>>>
>>>>>Stuart
>>>>
>>>>
>>>>It is wrong.
>>>>
>>>>Search the first move with the normal window.  Search the _remaining_ moves with
>>>>an offset window alpha-w, beta-w.  If all still fail low (which they should do
>>>>if the first move is best) then the first move is singular.  re-search it again
>>>>with a deeper search.  If one of the remaining moves fails high on the offset
>>>>window search, now you have a problem.  Is this move better than the best move?
>>>>If not the best move is not singular.  But, this move could itself be singular
>>>>so you have to test that hypothesis by re-searching the first move with a window
>>>>lowered by the usual offset from the score returned by the second move that
>>>>failed high.  Repeat until sick or finished.
>>>>
>>>>You are describing what is done for determining singularity at fail-high nodes
>>>>where only one move is normally searched before returning, but you do the
>>>>"cheaper" searches to try to prove singilarity anyway and extend even a
>>>>fail-high move one ply...
>>>
>>>Ugh -- sounds like a coding mess. I've saved your comments in a futurefile
>>>but probably won't do much on SE until my computing resources are faster.
>>>Giving up a ply for long-shots against humans is enticing of course as long
>>>as the ply loss won't kill me due to very deep searching anyway -- that
>>>won't happen until my box is 5x faster and that won't happen for awhile.
>>>
>>>So at this point not sick but "pending".
>>>
>>>Stuart
>>
>>
>>It _is_ a mess.  By the time you do both PV and FH singular tests, add in the
>>sticky transposition table stuff, you see why I occasionally question a "certain
>>poster" that claims (depending on the day of the week) that (a) SE is no good or
>>(b) he has implemented SE and uses it.  It is non-trivial to do if you do _real_
>>SE.
>
>I don't know about a poster but it certainly looks complex enough to make
>me only want to implement the "cheapo" version that I heard Chess Genius
>uses which I assume is some variant on the PV-only singular extension piece
>and not for at least a year or few.

I've never heard anyone but Vincent claim to know what Lang did/does in his
chess program.  I have heard he used some sort of singular extension.  I have
never seen any description of what he did.  Dave Kittinger did PV singular in
Wchess, but I believe he was doing the sort of "cheapo" approach I have
described in the past, based on lots of conversations he/Bruce/I used to have on
ICC several years ago...





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.