In AlphaZero's attached pseudocode, they create a training target for the policy network in this way.
def store_search_statistics(self, root): sum_visits = sum(child.visit_count for child in root.children.itervalues()) self.child_visits.append([ root.children[a].visit_count / sum_visits if a in root.children else 0 for a in range(self.num_actions) ])
In other words, the training target probability for a certain move is proportional to its visit count.
However, in the paper, they describe the usage of softmax sampling of visit counts with temperature. This temperate is equal to 1 for the first 30 moves (in this case the policy training target is the same as in the pseudocode above) and for subsequent moves they set infinitesimal temperature -> 0, which essentially means they are picking the move with the highest visit count.
Since these are 2 different things (if the game has more than 30 moves), my question is: which approach should be used for creating the training target for the policy?