|
Algorithm 2 NMCTS (startNode, Seq, max_iter, level) //Seq defines best the tree has found so far |
| best_reward = inf. best_seq = () Current_node = startNode For iteration number in the called level: While Current_node is not terminal and not fully expanded: Current_node = selection(Current_node) Seq = Current_node.feature_subset If level=1: While Current_node is not terminal: Reward, Seq = Random_rollout(Current_node) Else: Reward, Seq = NMCTS(Current_Node, Seq, max_iter, level-1) Back_propogation(Current_Node, reward) If Reward < best_reward: best_reward = reward best_seq = Seq |