Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Q: Singular extensions

Author: José Carlos

Date: 08:30:48 01/07/04

Go up one level in this thread


On January 07, 2004 at 10:57:41, Robert Hyatt wrote:

>On January 06, 2004 at 17:36:05, José Carlos wrote:
>
>>On January 06, 2004 at 16:24:07, Robert Hyatt wrote:
>>
>>>On January 06, 2004 at 14:58:38, Anthony Cozzie wrote:
>>>
>>>>On January 06, 2004 at 14:32:58, Slater Wold wrote:
>>>>
>>>>>On January 05, 2004 at 08:48:23, José Carlos wrote:
>>>>>
>>>>>>  Hi, I'd like to try singular extensions in my program. I've been trying to
>>>>>>think about it and all my tries so far result in worse performance. After some
>>>>>>web search I haven't been able to find anything but the general idea described.
>>>>>>  Is there any good description somewhere? Some pseudo-code? I guess there must
>>>>>>be something interesting in the archives but I can't download all of them.
>>>>>>  Thanks in advance,
>>>>>>
>>>>>>  José C.
>>>>>
>>>>>SE and nullmove do not mix.  And that's straight from Hsu.  From speaking with
>>>>>him (via e-mail), I gathered that this would be his approach using nullmove, and
>>>>>I tried it in Crafty with very nominal success:
>>>>
>>>>they seem to work just fine in Ferret, arguably the strongest tactical program
>>>>out there.
>>>>
>>>>anthony
>>>
>>>Yes, but Ferret is not using Hsu's Singular Extension algorithm.  not even
>>>close.  Bruce is using a "SE approximation" that works very well, but it is
>>>not to be confused with what Hsu defined as singular extensions.
>>
>>  Is this approximation similar to the one Bas describes in other post? If not,
>>could you please describe (if you know) what is Bruce doing? I would like to
>>implement Bas' idea, a small modificacion I figured out, and any other known
>>approach, and then post the comparison here.
>>
>>  José C.
>
>I believe it is similar.  I have an old "Singular()" function that I could
>make available if you want to look at it.  Note that it "fits" Crafty, and
>would obviously need changes for other programs, but the comments and basic
>structure would be a starting point.  I'm not sure how well it works, but I
>believe I have the code stuck away if anyone is interested...
>
>Bob
>
>BTW what this is is a piece of code you would call where appropriate.  It does
>the singular-test search, and if it is convinced one move is better than the
>rest by a wide margin, it returns that move, which your search function will
>then have to recognize during the normal search, and extend it.  I probably
>should put this into Crafty and make it a compile-time option, but I am not
>sure how easy that would be with the SMP stuff that was done _after_ the
>Singular() function was written.


  My structure is totally different from Crafty, but I'd appreciate a lot if you
sent me the code. I don't mind if it doesn't compile in Crafty. Actually, I've
read Crafty's code, but never compiled it. I have a million comments in spanish
all across Crafty's code though... :)

  José C.


>>
>>
>>>I did the full DB implementation in Cray Blitz, and using non-recursive
>>>null-move R=1, it seemed to work pretty well.  I have tried it more than
>>>once in Crafty, and it simply did not work reasonably whatever I tried.  I've
>>>not decided that it is hopeless, but I have not played with it further in at
>>>least a couple of years now...  I came to the same conclusion that somehow,
>>>null-move with bigger R values simply doesn't work very well.  You extend, but
>>>null-move reduces the depth and things get lost in the middle.



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.