06.04.2013 Views

A Survey of Monte Carlo Tree Search Methods - Department of ...

A Survey of Monte Carlo Tree Search Methods - Department of ...

A Survey of Monte Carlo Tree Search Methods - Department of ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 4, NO. 1, MARCH 2012 18<br />

transposition tables to GGP in his thesis [181]. Saffidine<br />

et al. [182] also demonstrate the successful extension <strong>of</strong><br />

MCTS methods to DAGs for correctly handling transpositions<br />

for the simple LeftRight game (7.4).<br />

5.2.5 Progressive Bias<br />

Progressive bias describes a technique for adding domain<br />

specific heuristic knowledge to MCTS [60]. When a node<br />

has been visited only a few times and its statistics are<br />

not reliable, then more accurate information can come<br />

from a heuristic value Hi for a node with index i from<br />

the current position. A new term is added to the MCTS<br />

selection formula <strong>of</strong> the form:<br />

f(ni) = Hi<br />

ni + 1<br />

where the node with index i has been visited ni times. As<br />

the number <strong>of</strong> visits to this node increases, the influence<br />

<strong>of</strong> this number decreases.<br />

One advantage <strong>of</strong> this idea is that many games already<br />

have strong heuristic functions, which can be easily injected<br />

into MCTS. Another modification used in [60] and<br />

[232] was to wait until a node had been visited a fixed<br />

number <strong>of</strong> times before calculating Hi. This is because<br />

some heuristic functions can be slow to compute, so<br />

storing the result and limiting the number <strong>of</strong> nodes that<br />

use the heuristic function leads to an increase in the<br />

speed <strong>of</strong> the modified MCTS algorithm.<br />

5.2.6 Opening Books<br />

Opening books 16 have been used to improve playing<br />

strength in artificial players for many games. It is possible<br />

to combine MCTS with an opening book, by employing<br />

the book until an unlisted position is reached. Alternatively,<br />

MCTS can be used for generating an opening<br />

book, as it is largely domain independent. Strategies for<br />

doing this were investigated by Chaslot et al. [56] using<br />

their Meta-MCTS approach (4.9.4). Their self-generated<br />

opening books improved the playing strength <strong>of</strong> their<br />

program MOGO for 9 × 9 Go.<br />

Audouard et al. [12] also used MCTS to generate an<br />

opening book for Go, using MOGO to develop a revised<br />

opening book from an initial handcrafted book. This<br />

opening book improved the playing strength <strong>of</strong> the program<br />

and was reported to be consistent with expert Go<br />

knowledge in some cases. Kloetzer [115] demonstrates<br />

the use <strong>of</strong> MCTS for generating opening books for the<br />

game <strong>of</strong> Amazons (7.3).<br />

5.2.7 <strong>Monte</strong> <strong>Carlo</strong> Paraphrase Generation (MCPG)<br />

<strong>Monte</strong> <strong>Carlo</strong> Paraphrase Generation (MCPG) is similar to<br />

plain UCT except that the maximum reachable score for<br />

each state is used for selection rather than the (average)<br />

score expectation for that state [62]. This modification<br />

is so named by Chevelu et al. due to its application in<br />

generating paraphrases <strong>of</strong> natural language statements<br />

(7.8.5).<br />

16. Databases <strong>of</strong> opening move sequences <strong>of</strong> known utility.<br />

5.2.8 <strong>Search</strong> Seeding<br />

In plain UCT, every node is initialised with zero win and<br />

visits. Seeding or “warming up” the search tree involves<br />

initialising the statistics at each node according to some<br />

heuristic knowledge. This can potentially increase playing<br />

strength since the heuristically generated statistics<br />

may reduce the need for simulations through that node.<br />

The function for initialising nodes can be generated<br />

either automatically or manually. It could involve adding<br />

virtual win and visits to the counts stored in the tree,<br />

in which case the prior estimates would remain permanently.<br />

Alternatively, some transient estimate could be<br />

used which is blended into the regular value estimate as<br />

the node is visited more <strong>of</strong>ten, as is the case with RAVE<br />

(5.3.5) or Progressive Bias (5.2.5).<br />

For example, Szita et al. seeded the search tree with<br />

“virtual wins”, to significantly improve the playing<br />

strength but required hand-tuning to set the appropriate<br />

number <strong>of</strong> virtual wins for each action. Gelly and Silver<br />

[92] investigated several different methods for generating<br />

prior data for Go and found that prior data generated<br />

by a function approximation improved play the most.<br />

5.2.9 Parameter Tuning<br />

Many MCTS enhancements require the optimisation <strong>of</strong><br />

some parameter, for example the UCT exploration constant<br />

Cp or the RAVE constant V (5.3.5). These values<br />

may need adjustment depending on the domain and the<br />

enhancements used. They are typically adjusted manually,<br />

although some approaches to automated parameter<br />

tuning have been attempted.<br />

The exploration constant Cp from the UCT formula is<br />

one parameter that varies between domains. For high<br />

performance programs for both Go [55] and Hex [8] it<br />

has been observed that this constant should be zero (no<br />

exploration) when history heuristics such as AMAF and<br />

RAVE are used (5.3), while other authors use non-zero<br />

values <strong>of</strong> Cp which vary between domains. There have<br />

been some attempts to automatically tune this value<br />

online such as those described by Kozelek [122].<br />

Given a large set <strong>of</strong> enhancement parameters there<br />

are several approaches to finding optimal values, or<br />

improving hand-tuned values. Guillaume et al. used<br />

the Cross-Entropy Method to fine tune parameters for<br />

the Go playing program MANGO [58]. Cross Entropy<br />

<strong>Methods</strong> were also used in combination with handtuning<br />

by Chaslot et al. for their Go program MOGO<br />

[55], and neural networks have been used to tune the<br />

parameters <strong>of</strong> MOGO [57], using information about the<br />

current search as input. Another approach called dynamic<br />

exploration, proposed by Bourki et al. [25], tunes parameters<br />

based on patterns in their Go program MOGO.<br />

5.2.10 History Heuristic<br />

There have been numerous attempts to improve MCTS<br />

using information about moves previously played. The<br />

idea is closely related to the history heuristic [193], and is<br />

described by Kozelek [122] as being used on two levels:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!