On 20-nov-08, at 15:20, Magnus Persson wrote:

Quoting Mark Boon <[EMAIL PROTECTED]>:
What is not exactly clear to me is what you mean by 'postponing
expansion'. Let me write it in my own words to see if that's what you
mean. When you have selected a best node based on the UCT + wins/ visits
value which has no children yet, you first simply do a simulation and
collect the playout result in the current node, including the AMAF
value that you call 'virtual win-visit ratio, and only when that is
done a certain number of times (in your case 10) do you suddenly create all the children and weight them based on the virtual win-visit ration
and possibly weight them based on other move-priorities that resulted
from 'heavy' playout selection?

Yes I "suddenly" create all children, but at the creation I have no simulation and thus no virtual win-visit ratios for the children (although one might copy such values from higher up in the tree, which I think the Mogo team tried but with little or no success). The virtual win-visit ratios are initialized to some default value. But one can initialize the ratios differently depending on static evaluation the position using patterns for example. Or the proximity heuristic. It is not clear to me how to best do this. And I need to test the parameters for biasing. The nice thing is that one can initialize the virtual win-visits ratios and keep real win- visits ratios unbiased. You can afford to make mistakes here because if the position is searched a lot the virtual values get data much quicker than the real ones.


OK, things start to fall in place for me. I was wondering all this time what would happen with the information of the simulations that happen before expansion. So the answer is: nothing. But at least the result of the playout gets percolated up the tree, so I suppose you get the most important bit of information of the playout in your tree anyway. I have also been wondering before what was meant when I read that CrazyStone uses ownership information in the patterns (if I remember that correctly). I was always wondering how you got ownership information before doing playouts. So it turns out these come from simulations done before expansion. Somehow I had disregarded that idea because I was under the assumption it would discard too much information. But I suppose keeping the playout results in the tree is valuable enough by itself. And like you say, you win back a lot by not having to do at least a playout for every single move at every level in the tree.

From the beginning I have been experimenting with ownership information and I think I have a few interesting ideas. But they didn't fit in yet. Maybe with my new understanding I can go back and try out a few of those ideas again. It means rewriting my search-code a bit. Hopefully it's not too much work.

Mark

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to