I think your hash value is your first-try index into the hash table. So a 32-bit hash would be a 4E9 sized table. Probably too big for Remi's computer. I'd guess that he's using something between 16 and 32 bits in his hash hey.

Jason House wrote:


On Apr 15, 2009, at 6:50 PM, Michael Williams <[email protected]> wrote:

You can change the value all you want.  You just can't change the key.

Right... That's the design in the google talk. Remi said he "can reuse cache entries" and so avoids resizing / copying (greatly simplifying the algorithm). I find that 32 bit zobrist hashing takes a few minutes before reusing a single hash value. That's too infrequent to use in place of real cleanup. Smaller hashes (such as 16 bit) would have too much ovelap to be useful... So rejecting that possibility leaves me clueless about what reusing a hash entry could mean besides replacing a complete slot in the table.







Jason House wrote:
On Apr 14, 2009, at 7:57 PM, Rémi Coulom <[email protected]> wrote:
Jason House wrote:
Out of curiosity, how do you intelligently delete old nodes? Reference counting won't always work due to cycles, and a nieve scan of the tree could block all threads.

I store a date of birth in every node. At the beginning of a new search, I increment time, and refresh the date of birth of all the descendants of the new root. When allocating a new node, I can reuse old hash entries.
Reuse hash entries? I assume you don't mean reuse entries because a later hash value matches (should be quite rare, even with 32 bit hash codes). The lockless hash you gave links to does not handle ever changing a hash value once it's set. If you CAS the tombstone value before the key, I guess it'd be reasonably safe, but not guaranteed. Did you add any new states to guarantee safety? Or am I thinking about this the wrong way? _______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/


_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to