Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Quantifying the benefits of fractional extensions

Author: Bas Hamstra

Date: 01:53:34 01/18/01

Go up one level in this thread


On January 17, 2001 at 23:20:43, Christophe Theron wrote:

>On January 17, 2001 at 11:22:49, Bas Hamstra wrote:
>
>>On January 16, 2001 at 20:59:43, Christophe Theron wrote:
>>
>>>On January 16, 2001 at 20:25:53, Bas Hamstra wrote:
>>>
>>>>On January 15, 2001 at 21:33:02, Christophe Theron wrote:
>>>>
>>>>>On January 15, 2001 at 18:24:23, Bas Hamstra wrote:
>>>>>
>>>>>>On January 14, 2001 at 10:18:08, Robert Hyatt wrote:
>>>>>>
>>>>>>>On January 14, 2001 at 00:37:12, Christophe Theron wrote:
>>>>>>>
>>>>>>>>On January 14, 2001 at 00:22:17, Robert Hyatt wrote:
>>>>>>>>
>>>>>>>>>On January 14, 2001 at 00:05:08, Christophe Theron wrote:
>>>>>>>>>
>>>>>>>>>>On January 13, 2001 at 17:19:19, Robert Hyatt wrote:
>>>>>>>>>>
>>>>>>>>>>>On January 13, 2001 at 17:13:13, Gian-Carlo Pascutto wrote:
>>>>>>>>>>>
>>>>>>>>>>>>Hi all,
>>>>>>>>>>>>
>>>>>>>>>>>>I just added code to my program to handle fractional extensions
>>>>>>>>>>>>and recapture extensions.
>>>>>>>>>>>>
>>>>>>>>>>>>My problem now is: how do I test & tune these? I did what I
>>>>>>>>>>>>normally do and ran it through WAC. It did worse. Probably not
>>>>>>>>>>>>so surprising as they are nearly all rather simple tactical
>>>>>>>>>>>>positions, so extending more (on checks...not so much on
>>>>>>>>>>>>recaptures) is nearly always a win.
>>>>>>>>>>>>
>>>>>>>>>>>>Does anybody here have a testcase? Maybe a set of positions
>>>>>>>>>>>>where it _really_ matters how you do your extensions?
>>>>>>>>>>>>
>>>>>>>>>>>>If you added frac. extensions you your program, what made you
>>>>>>>>>>>>decide to do so?
>>>>>>>>>>>>
>>>>>>>>>>>>--
>>>>>>>>>>>>GCP
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>Do as I did.  Make the extension amount something you can set via command.
>>>>>>>>>>>Then run a potload of tests.  I ran WAC with all the extensions set to
>>>>>>>>>>>values between .5 and 1.0, in increments of .25.  That is 3 cases for
>>>>>>>>>>>each extension and I varied 4 different extensions.  81 tests and you then
>>>>>>>>>>>look at which ones needed the fewest total nodes to solve _all_ the test
>>>>>>>>>>>positions...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>So Crafty is cooked for WAC!? ;)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    Christophe
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>:)
>>>>>>>>>
>>>>>>>>>actually not, as I used a lot of other positions as well (IE I used some of
>>>>>>>>>the "crafty goes deep" positions that were not tactical at all....)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>I am still using full ply extensions.
>>>>>>>>
>>>>>>>>I think I should try fractional extensions. Actually I did in the past. My 16
>>>>>>>>bits version used fractional extensions (in 1/100th of ply), but I was also
>>>>>>>>doing much more extensions. I mean I had more reasons to do extensions.
>>>>>>>>
>>>>>>>>As for now, I prefer to be extremely "selective" in my extensions. There are a
>>>>>>>>lot of conditions to meet before Tiger triggers an extension.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>    Christophe
>>>>>>>
>>>>>>>
>>>>>>>Fractional ply extensions give a chance for better control.  IE you can say
>>>>>>>"OK, I want to extend 3 checks, then not extend 1, then extend the next three,
>>>>>>>but not the next...  then you use a 3/4 ply extension...  it is also useful
>>>>>>>for controlling the one-legal-reply extension since that is really a double
>>>>>>>extension on one ply and extending _two_ plies is potentially catastrophic.
>>>>>>
>>>>>>They can also be very powerful, see Genius. It sees amazing things in 0 sec. So
>>>>>>it can be done.
>>>>>
>>>>>
>>>>>
>>>>>Unfortunately this has nothing to do with fractional extensions.
>>>>
>>>>I was referring to extending more than 1 ply.
>>>
>>>
>>>
>>>What Genius does is not achieved by extensions. That's what I meant.
>>
>>Are you sure? I am pretty sure it uses some kind of threat detection that
>>detects a mate if one side passes, and follow lines based on the result. Sort of
>>nullmove mate extension, only it wasn't named that way then.
>>
>>If it does NOT do this (as you say) then explain to me how it sees MATE06 in 1
>>second for WAC141. I can make my program do the same and see a mate in just over
>>30.000 nodes, while NOT choking at all on other positions. In fact it can see
>>many other deep mates instantly. Like Genius.
>>
>>I therefore assumed Genius does the same sort of thing, though it might be
>>achieved differently. Singular extensions. Or by a super qsearch. But even then
>>I believe in fact the same happens: follow lines based on threats.
>>
>>Bas.
>
>
>
>It does a kind of super QSearch based on detecting threats, but this has a very
>high cost.
>
>The basic principle has nothing to do with extensions. It is just a different
>definition of what "quiescence" is. BTW this has been explained by Shanon in
>early papers about computer chess, nothing really new here.
>
>It is sometimes spectacular, but as I said it is very expensive. Maybe it's
>efficient at low ply depths, because it helps to find deep tactics in a
>reasonnable amount of time, but I doubt it is as efficient when you are able to
>reach higher depths

Well its nice to know a bit more of Genius. That what you describe Genius does
has nothing to do with threat extensions, depends on how you look at it. You can
do no extensions and full checks in the qsearch. You can do no checks at all in
the qsearch and rely on check extensions. The goal is more or less the same. The
result in both cases is also alike: lines with many checks will be analyzed
deeper. Both will stop chasing the king as soon as the "stand pat" score is
above beta. To say one has nothing to do with the other does not seem entirely
correct. You WILL need less check extensions if you do checks in the qsearch,
so...

Bas.





















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.