September 2018
Intermediate to advanced
296 pages
9h 10m
English
mcts.py contains our implementation of Monte Carlo tree search. Our first class is RootNode, which is meant to represent the root node of the MCTS tree at the start of a simulation. By definition, the root node does not have a parent. Having a separate class for the root node is not absolutely necessary, but it does keep the code cleaner:
import collectionsimport mathimport numpy as npimport utilsfrom config import MCTSPARAMETERS, GOPARAMETERSclass RootNode(object): def __init__(self): self.parent_node = None self.child_visit_counts = collections.defaultdict(float) self.child_cumulative_rewards = collections.defaultdict(float)
Next, we implement the MCTreeSearchNode class. This class has several attributes, the most important ones ...
Read now
Unlock full access