On 10/29/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
>
> milestone 1: All network-nodes compute pure Monte-Carlo (no search tree)
> scores for the possible moves, the scores are combined centrally to pick the
> move. It's easy, it will wring out the system, and the bandwidth is low. The
> playing performance will always be poor because this algorithm doesn't scale
> well.
It scales, reasonably, but there's a maximum total work to do before any
extra becomes useless.
milestone 2: Each network-node builds its own tree using UCT, but
> information is only combined at the root. This version will play much better
> because each node is smarter. The bandwidth will be higher. I can only guess
> at the scaling behavior, but this milestone might be the 80% solution.
This is what I'm currently aiming for with my bot.... Currently limited to a
single machine since I'm not using a fancier API.
milestone 3: Information from the search-nodes is shared between
> network-nodes, but only for search-nodes close to the root of the tree.
> Sounds innocent enough. You just limit the shared nodes to the first couple
> of plys. But it's a trap that will suck you in: best scaling behavior
> requires too much communication-but what if you made each Monte-Carlo
> simulation smarter...?
I'd probably suggest something making the network nodes mirror the search
tree. As results from children get aggregated, the parent node can
repartition what fraction of its resources to dedicate to each subtree. As
long as the number of children per node are bound, this should give
reasonable performance that scales.
I'm just throwing the idea out there. I expect and invite others on the
> list to point out its flaws.
>
> - Dave Hillis
>
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/