Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extending Checks

Author: Gerd Isenberg

Date: 03:13:35 09/14/04

Go up one level in this thread


<snip>
>>Hi Ed,
>
>Hi Gerd,
>
>
>>isn't mate-score only dependent from distance to root (ply-index), but not from
>>draft (depth)?
>
>Correct.
>
>
>>Therefore clipping depth to zero should not affect mate scores, or?
>
>In my engine it does affect, take this famous position:
>
>[d]5n2/B3K3/2p2Np1/4k3/7P/3bN1P1/2Prn1P1/1q6 w - -
>
>When I try draft=0 in QS then the mate-in-30 isn't found at all, not after 17-18
>plies. When I use my way of doing the mate is found on ply-1, meaning that all
>is found in QS.
>

Interesting.

I need depth 7 until my qsearch got appropriate triggered to find the mate in 30
;-(

But that is independent from hashing qnodes at all, or clipping draft to zero
-only the time needed is shlighly worse without hashing such qnodes.
I do the ply adjustment Bob mentioned for EXACT mate scores.
For LOWERBOUND mates i store something like max(beta, VALUE_MATE - 300).

>
>
>>Anyway i store negative depth too (conditionally see below), it seems to
>>work slighly better for me than clipping draft to zero.
>>
>>I use a two table approach, a huge transposition table with 8 slots per
>>hashindex and depth prefered replacement, only used if depth > MINDEPTH, and a
>>small allways replace table for depth >= MINDEPTH and conditionally for depth <
>>MINDEPTH.

Oups, correction!

I don't have eight slots per hashindex, only one. But i use up to eight
consecutive entries to find the one the the "worst" draft/flags to replace.
Beside bound flags i store other flags as well, like suppress nullmove.
After unmaking a root move, i traverse the pv or refutation-line from the
triangular array and tag such entries as "particularly valuable", making such
entries more resistant against occasional overwrites.


>
>On my end:
>
>. 4 slots
>. large always replace table in case 4 slots doesn't suffice.
>. QS nodes always go directly into the always replace table.
>. draft replacement scheme (not depth).

I confuse draft and depth (left to horizon) here often or use them as synonym.

>
>
>>While probing, MINDEPTH is zero.
>>While storing, MINDEPTH is zero for EXACT scores and LOWER_BOUNDS,
>>but MINDEPTH is one for UPPER_BOUNDS with no best move.
>
>I see.
>
>I don't store moves with no-best-move, spares the data cache. I have tried
>5-6-7-8 slots in the past but there was no gain. There were less nodes but
>(slightly) higher solution times because of the extensive use of the data cache.
>
>
>
>>The same trigger (some forced flag(s) set in the path from root) which enables
>>checks in my quiescence search, is used as a condition to store/probe the small
>>allways replace table.
>
>I think I will keep my own system, besides the problem with mate positions I
>noticed very little improvement with the draft=0 system in QS, less than 1%.

For me hashing pure qnodes with depth < 0 without a set check thread trigger
don't pays off yet. But playing around with it from time to time while other
things change too is most often interesting and some fun ...

Cheers,
Gerd

>
>Thanks Gerd,
>
>Ed



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.