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/