UCT / MCTS & transposition table
Posted: Tue Apr 19, 2022 8:15 pm
Hi,
Has anyone ever tried adding a transposition table to an UCT/MCTS implementation?
I tried without much success. It works, but it plays worse than the non-tt version.
What I do is: for each position I have a node. This node stores pointers to children (of course as it is a tree) and to all the parents (can be multiple due to transpositions).
Now the score function is:
Here I use the sum of all the visit-counts of all parents. Is that how it should work? Or am I walking an uncultivated area?
Has anyone ever tried adding a transposition table to an UCT/MCTS implementation?
I tried without much success. It works, but it plays worse than the non-tt version.
What I do is: for each position I have a node. This node stores pointers to children (of course as it is a tree) and to all the parents (can be multiple due to transpositions).
Now the score function is:
Code: Select all
double UCTj = double(score) / visit_count + sqrt(2) * sqrt(log(parent_visit_count) / visit_count);