Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: triangular pv vs. hash move pv

Author: Stuart Cracraft

Date: 22:03:37 09/10/04

Go up one level in this thread


On September 11, 2004 at 00:39:57, Michael Henderson wrote:

>On September 11, 2004 at 00:08:20, Stuart Cracraft wrote:
>
>
>>Which should I trust? Seems like the hash table is getting
>>overwritten with other variations (not sure why). What
>>kind of scenario would cause that? My algorithm is
>>length >= depth to replace.
>
>You should always trust the triangular array...since nothing funny is happening
>there.  Hash table moves may vary based on depth for the entry.
>
>>Seems like triangular would be better and then use that to
>>prefill the hash table from the last iteration before the
>>next iteration would be best, as Bob Hyatt mentioned.
>
>it works well :)
>
>>In looking at both pv's, they look fine and lead to positions
>>that are often equal in material without any gross material errors that
>>could be attributed to a misimplementation but there are definite
>>differences between the two methods for me.
>
>You have it working correctly
>
>>Before I throw out the walk-the-hashtablepv, I want to be sure
>>that it is really no good. So I want to know exactly how a hash
>>table can be damaged such that its PV is corrupted. Under precisely
>>what circumstances can this happen?
>
>Hyatt mentioned extensions having something to do with this...i forgot what is
>was though.  What I figured out is that since the hash table does not store path
>info, you might start getting stupid moves because the entry is not true to the
>position in the PV.
>
>
>>I would have thought length >= depth would have prevented it as long
>>as there are no collisions. My hashkey is 64-bits and I am searching
>><1M nodes per move for my 1 second searches so I'd expect no collisons.
>>Should I have some hook in there to check the collisions aren't happening
>>and are causing damage to the pv or is there another hash table side
>>effect that results in that damage?
>
>I don't think you should worry about this since it's very rare :)
>
>Michael
>
>>
>>Thanks all,
>>
>>Stuart

Michael,

Well, here's the result. Two runs on Win-at-Chess at 1 second per move
on a P3. The compilation flag UTM is with the triangular array and
its entry taken as the best move.

Walking the Hash for best move/pv:
+ 6.78/27.44 81% 243/300 250.06 74259544 247532/1/296973 0/855173/1429928/507556
/17118632/97735

Triangular Array for best move/pv:
+ 6.78/23.28 82% 248/300 250.70 73645824 245486/1/293757 0/851605/1423773/506165
/17084388/98392-DUTM

The bottom line is that 5 more positions got solved with the
triangular array method than for walking the pv in the hash table.

5 positions is a lot since progress has become slower.

This is proof enough for me though I hope to hear the specifics from
Bob Hyatt of how a hash table can get trashed if there are no collisions
and length >= depth for replacement algorithm is used which would seem
to all guarantee that nothing worse for the same position would ever be
stored. Obviously it's something in the tree that I can't see.

Good stuff.

Stuart



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.