Darren Cook wrote:
I don't precalculate before MCTS. Criticality, like point owner, is
re-calculated for each node of the tree, as it grows. It is computed
from MCTS playouts.
More precisely, search at a node starts without MC features. Move gammas
are all computed with static features only. After a few playouts, gammas
are updated with MC features, computed from the outcome of the first MC
playouts.
Hi Remi,
Does this mean you play one playout then recalculate the criticality
map, then play one more playout, and recalculate again? Just curious how
much percentage of CPU is spent on those recalculations, and if there is
any strength difference only recalculating after every N playouts? (If
doing say 100K playouts, it seems to me that N could be as high as 500
or 1000 and the idea would still be useful; or just once after 1000
playouts might even be enough?)
I only calculate once, after N=128 playouts. I did not try very hard to
optimize N. I was using N=64 before (when I was using only point owner
information). But criticality is a second-order feature, and accurate
estimation requires more playouts. N=128 is still very noisy. Maybe it
is better to delay it further than N=128.
Also, you introduce it in the context of semeai. Does it also help with
understanding of seki? (For instance, with the position I posted a
couple of weeks ago, remove any heuristics or patterns that stop the
program playing moves that reduce its liberties and then rely on the
criticality map to discover when that is good or bad.)
I did not try your position. But understanding seki is mostly a matter
of playout policy. I do not use criticality in playouts. Crazy Stone
already understands seki in playouts.
Rémi
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/