code: def __init__(self, model, mcts_param):
      self.model = model
      self.temperature = mcts_param["temperature"]
      self.dir_epsilon = mcts_param["dirichlet_epsilon"]
      self.dir_noise = mcts_param["dirichlet_noise"]
      self.num_sims = mcts_param["num_simulations"]
      self.exploit = mcts_param["argmax_tree_policy"]
      self.add_dirichlet_noise = mcts_param["add_dirichlet_noise"]
      self.c_puct = mcts_param["puct_coefficient"]
      self.epsilon = mcts_param["epsilon"]
      self.turn_based_flip = mcts_param["turn_based_flip"]
      self.exploit_child_value = mcts_param["argmax_child_value"]
  
imports: import collections
  import copy
  import math
  import numpy
label_desc: Use image node_id 1 to create a new MCTS object  with example: obj = MCTS(model, mcts_param)