Hi. I've been thinking about pondering, and the way the tree has to be built to support pondering. Because with pondering, the thinking time for a move can be very big theoretically, I would like to handle automatic pruning of the tree to avoid running out of memory. Right now I have a fixed size pool of nodes, and I simply stop the tree from growing when I see that all nodes are used. However I'm afraid this could hurt the performance when thinking times are very long.
This brings me to my question: When I see that I'm running out of memory, which leaves/subtrees of the UCT tree should be pruned? -Prune moves with a low winrate and a low variance. This would favor nodes near the root, and often lots of memory would be freed this way. However, one has to be careful not to prune potentially good moves. -Prune leaf nodes with little visits that are old. This would have a small impact on the UCT search but the memory freed is very little, meaning I would have to do a lot of pruning. Another approach would be of course to just let the tree grow indefinitely and hope that it will not use too much memory, but I'm not sure it would work well in all situations. What do you do in your programs? Have you tested other approaches? Do you think hard pruning is bad in general? Regards, -ibd -- Nur bis 31.05.: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate und Telefonanschluss nur 17,95 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02 _______________________________________________ computer-go mailing list [email protected] http://www.computer-go.org/mailman/listinfo/computer-go/
