Draft for Monte Carlo methods in Computer Go
Monte Carlo methods are highly successful and routinely used in various fields, e.g. in physics. They were first introduced to Go programming by Brügmann (1993) with his Monte Carlo go program Gobble?.[1] Nowadays Monte Carlo approaches are utilized by the most successful go playing programs, such as Crazy Stone, Mo Go or Leela.
The basic idea behind using a Monte Carlo approach is to evaluate a position by randomly playing out a large number of games and processing the results to decide upon the next move, usually the move with the highest winning ratio is assumed to be the best one. Since one of the major obstacles in Go programming is the lack of an adequately working evaluation function this approach seems to be particular promising. The existing programs vary widely in exactly how they play out the random games, how they process the results and which other modules are at work.
Gobble? was the first Monte Carlo Go program presented by Bernd Brügman in 1993. Its playing strength was estimated to be 25 kyu on the 9x9 board. Drawing heavily on the analogy with simulated annealing in physics it has some characteristics less common in current programs. First, the random games are played out with decreasing temperature[2]/randomness taking into account the results of the earlier random games. Second, it used the so-called all moves as first heuristic which assigned the value of the random game to all moves played in it, not only the first one, resulting in a faster but weaker program.
Major article: Upper Confidence bounds applied to Trees
Since Monte Carlo programs optimize the winning ratio they tend to win by low margins and lose by higher ones. This is similar to common Go knowledge (see A rich man should not pick quarrels) but not so common with other Go playing programs. Accordingly they may play too passive in handicap games, wasting their lead and being considerably weaker with especially high handicaps.[3]
Another interesting feature of Monte Carlo programs is their