Monte Carlo Tree Search is a powerful decision making algorithm

Learnt about this while working on ChessHacks

4 key steps

Selection

Start from the root node (current state) and choose child nodes according to a policy

Expansion

When you reach a node that hasn’t been fully explored you add one or more new child nodes that represent next possible moves

Simulation

From the new node, you simulate the game to the end by making random or heuristic moves

Backpropagation

The result of the simulation is propagated back up the tree