Yes I used such a representation, not in the context of MC, but for experimental algorithms where I needed to know all paths that could lead from the root to a given node. I used a representation that I found later to be described under the name 'twin node' (in someone's thesis I guess, but I don't remember who). The idea is to have multiple duplicate nodes whose state (board position after the move) is equivalent and that are linked together in an circular "equivalence" list. The last move that lead to the position is stored in the node. This means you need one more pointer per node.

Antoine.

(This is all within the context of Monte Carlo.)

Is anyone storing a search DAG (as opposed to a tree) and using the firstChild/nextSibling representation? I'm having trouble seeing how this would work, since when you traverse children (e.g., in UCT) you have to know which move is associated with which child node. If a node might have more than one parent, the node can't store its last move.

Any clever solutions?

If not, any opinions (or better yet, evidence) as to whether the space savings or the DAG transposition table is more valuable?

Peter Drake
Assistant Professor of Computer Science
Lewis & Clark College
http://www.lclark.edu/~drake/



_______________________________________________
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