Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: when to store nullmove failure in hashtable?

Author: martin fierz

Date: 13:33:40 09/28/04

Go up one level in this thread


On September 28, 2004 at 14:59:37, Robert Hyatt wrote:

>On September 28, 2004 at 13:59:58, Steve Maughan wrote:
>
>>Bob,
>>
>>>What I do is this:  When I get a hash hit, and the draft is not enough to let
>>>me stop the search at that point, I then test the table draft against the
>>>depth I would use for a null move search at this point. If the table draft is >= that depth, and the table entry says "No way I would fail high here" then
>>>there is no point in trying a null-move search, if a normal move search would
>>>not fail high...
>>
>>Interesting - I know that you alluded to this in the past but this is the first
>>time the penny has dropped for me as to exactly what you're doing.
>>
>>So to use example numbers:
>>
>>Alpha = 100
>>Beta = 101
>>Depth to Go = 5 ply
>>
>>Hash Score = 50
>>Hash Bound = UPPER
>>Hash Draft = 4 ply
>>
>>In this case you'd skip the null move - seems sensible.
>>
>>Do you know how much is it worth in speedup?
>>
>>Thanks for the explanation,
>>
>>Steve
>
>
>Since WAC141 has been a hot topic, here is crafty with the normal avoid-null
>stuff as I explained:
>
>                9     3.95  -1.20   1. Kf1 a5 2. Rxh5 gxh5 3. Rxh5 Re1+
>                                    4. Kxe1 Nxh5 5. Qg5+ Kf8 6. Qh6+ Kg8
>                                    7. Qxh5
>                9     4.42     +1   1. Qxf4!!
>                9     4.67     +3   1. Qxf4!!
>                9     5.16     +M   1. Qxf4!!
>                9    50.78  Mat06   1. Qxf4 Bxf4 2. Rxh5 gxh5 3. Rxh5 Bh6
>                                    4. Rxh6 Qh2+ 5. Kxh2 Kf8 6. Rh8#
>                9->  50.78  Mat06   1. Qxf4 Bxf4 2. Rxh5 gxh5 3. Rxh5 Bh6
>                                    4. Rxh6 Qh2+ 5. Kxh2 Kf8 6. Rh8#
>              time=50.78  cpu=99%  mat=-1  n=79749173  fh=98%  nps=1.57M
>
>
>Here is same thing but without the avoid-null stuff so it always tries a null
>move:
>
>                9     3.93  -1.20   1. Kf1 a5 2. Rxh5 gxh5 3. Rxh5 Re1+
>                                    4. Kxe1 Nxh5 5. Qg5+ Kf8 6. Qh6+ Kg8
>                                    7. Qxh5
>                9     4.40     +1   1. Qxf4!!
>                9     4.75     +3   1. Qxf4!!
>                9     5.22     +M   1. Qxf4!!
>                9    49.51  Mat06   1. Qxf4 Bxf4 2. Rxh5 gxh5 3. Rxh5 Bh6
>                                    4. Rxh6 Qh2+ 5. Kxh2 Re2 6. Rh8#
>                9->  49.51  Mat06   1. Qxf4 Bxf4 2. Rxh5 gxh5 3. Rxh5 Bh6
>                                    4. Rxh6 Qh2+ 5. Kxh2 Re2 6. Rh8#
>              time=49.51  cpu=99%  mat=-1  n=80501452  fh=98%  nps=1.63M
>
>So about 1.5% better here.  Other positions might be even better...
>
>Note ignore the time and just look at total nodes.  second run was not a full
>PGO compile...

just a very short correction: it's 1.0% better, not 1.5%, do you still have one
of those P4's with math bugs? :-)

cheers
  martin



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.