I thought you had really heavy nodes? Like 1k bytes or so? But no 8 byte
pointers to children?
Peter Drake wrote:
Well, there is one slight catch...
Nodes do not contain pointers to their children. To find the node after
making a move, I make the move on the board, then use the Zobrist hash
of the new board as a key to search for the child node in the hash
table. So traversing the tree would involve re-playing all of the moves
from the root. Worse, in the interest of speed, my play code (modeled on
LibEGO) doesn't support undoing. To do a recursive traversal like this,
I therefore have to perform a board copy every time I backtrack.
On the other hand, I think I could get away with only traversing the
part of the tree that is still relevant (probably a small fraction of
the nodes in use), then traversing the set of nodes linearly to rebuild
the free list. In other words, I would perform a mark-and-sweep garbage
collection.
Peter Drake
http://www.lclark.edu/~drake/
On Jul 6, 2009, at 8:02 PM, Michael Williams wrote:
If you are talking about 128k nodes, I don't think traversing them
will take very long.
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/