Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing is a complicated affair ?

Author: rasjid chan

Date: 04:30:21 04/06/04

Go up one level in this thread


On April 06, 2004 at 06:25:19, Vasik Rajlich wrote:

>On April 05, 2004 at 12:54:30, rasjid chan wrote:
>
>>
>>I think most chess programmers implement hash tables my way, ie
>>by thinking it thru themselves. All the internet articles I found
>>about hashing only mention the the bare idea of hashing. I am not sure
>>whether any book on chess programming devote a full chapter on hashing
>>and if they do, what details do they provide.
>>
>>I remember a certain professor (Marsland) who wrote something like...
>>the bulk of chess programming bugs come from hash-tables....
>>alpha-beta interacts with hash-tables in strange ways...
>>
>>At least they interact strangely for me. Every a little while, it seems
>>something new turn up and I just have to post one example, a recent
>>observation,to this forum to be safe that I am not way wrong !
>>
>>I do fail soft and fails / hash outside window bounds.
>>If on a hash probe and the hash is EXACT and fails high,
>>I return hash value ( > beta). The ply below fails low with
>>this "exact score".
>>
>>If after seaching all moves of a node and it fails low with a best-score
>>< alpha, the normal hash is hash as best-score as upper bound.
>>But if this best-score happen to be "exact", I fail low but hash as
>>EXACT.
>>
>


>This is absolutely correct. Good fail soft has a lot of subtle points, and you
>just discovered one of them.

>
>If you use PVS, then according to various stuff I've read here fail soft does
>not offer any serious improvement over fail hard.
>
>In MTD (f), fail soft is extremely important.
>
>However, your idea, which I also have implemented, is even then still not
>especially important. Usually, when you fail high, you are failing purely with
>an open-ended bound. (Ie score to +infinity - or another way to say it is that
>you can only set the lower bound.) There are some rare exceptions to this,
>mainly from the q-search.
>
>So, when you fail low at the next iteration, you generally are failing low with
>another open-ended bound. (Ie -infinity to score, or only upper bound.) The
>exceptions to this are when you had failed high with a true bound in q-search,
>or when you had previous bound information.
>
>Both are extremely rare.
>
>I would suggest you first decide whether you will use PVS or MTD (f). This will
>determine how much work fail soft merits.
>
>Vas
>
>>Hope I am not missing something big ?
>>
>>Rasjid

Thanks. You have at once cleared all my lingering doubts.

This is my first post on fail soft and I have not read anything on
it yet, I think thru them all myself. Your confirmation of
... Good fail soft has a lot of subtle points... now confirms what I
suspect. The example I posted is just a test case to find out what
fail soft is. There are more subtleties I found in QS, like
consistency of the class of moves in QS. As an example, allowing checks
some time and not other times may introduce theoretically incorrect bugs,
but I won't know how serious it will affect performance if we gloss
over them, say in MTDf which you mentioned need good fail-soft.

I have tried simple MTDf but had yet to reach the stage where I need
to choose between PVS / Mtdf - I have yet to clear many things in my
basic evaluation. Obviously I will later think about what
you say about benefitting from fail-soft. I currently don't have
a reason for using fail soft, it is just simply to have the naturally best
or optimum bounds.

Best Regards
Rasjid





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.