<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Bandit-Based Policy Optimization for Monte Carlo Tree Search in RTS Games</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zuozhi Yang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Santiago Ontan˜ o´n</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Drexel University</institution>
          ,
          <addr-line>Philadelphia</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Google AI, Mountain View</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Monte Carlo Tree Search has been successfully applied to complex domains such as computer Go. However, despite its success in building game-playing agents, there are still many questions to be answered regarding the general principles to design or learn its playout policy, or the interaction between tree policy and playout policy. Many systems, such as AlphaGo, use a policy optimized to mimic human expert is used as the playout policy of MCTS. In our recent work, we have shown that strong gameplay policies do not necessarily make the best playout policies. In this paper, we take a step further and use bandit algorithms to optimize stochastic policies as gameplay policies, tree policies, and playout policies for MCTS in the context of RTS games. Our results show that strong playout policies do not need to be strong gameplay policies, and that policies that maximize MCTS performance as playout policies are actually weak in terms of gameplay strength. Also, we found optimizing tree policy directly has an edge over optimizing gameplay policy. Finally, we showed that the joint optimization of tree policy and playout policy could be beneficial to the overall performance compared to optimization separately.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Monte Carlo Tree Search (MCTS) tends to outperform
systematic search in domains with large branching factors.
The most prominent success of MCTS is in the domain
of Computer Go, where an agent, AlphaGo, built using a
combination of MCTS and neural networks achieved
superhuman performance
        <xref ref-type="bibr" rid="ref17">(Silver et al. 2016)</xref>
        . In AlphaGo, a
policy optimized for gameplay strength is used as the playout
policy of MCTS. However, previous work has shown that
having good gameplay strength is not a sufficient
condition to be a good playout policy
        <xref ref-type="bibr" rid="ref1 ref16 ref8 ref9">(Silver and Tesauro 2009;
Huang, Coulom, and Lin 2010; Graf and Platzner 2016)</xref>
        .
      </p>
      <p>
        Motivated by the question of what makes a good
playout policy, in this paper, we empirically study the effect
of optimizing playout policies with different objectives for
MCTS in the domain of real-time strategy (RTS) games.
In almost all variations of MCTS, playout policies, also
called simulation policies, are used to select actions for
both players during the forward simulation phase of the
search process. Since the quality of the playout policy has
a great impact on the overall performance of MCTS,
previous work has covered various methods to generate these
policies such as handcrafted patterns
        <xref ref-type="bibr" rid="ref10 ref11 ref4 ref5">(Munos and Teytaud
2006)</xref>
        , supervised learning
        <xref ref-type="bibr" rid="ref6">(Coulom 2007)</xref>
        , reinforcement
learning
        <xref ref-type="bibr" rid="ref7">(Gelly and Silver 2007)</xref>
        , simulation balancing
        <xref ref-type="bibr" rid="ref1 ref16 ref8 ref9">(Silver and Tesauro 2009; Huang, Coulom, and Lin 2010;
Graf and Platzner 2016)</xref>
        , and online adaptation
        <xref ref-type="bibr" rid="ref1 ref22">(Silver,
Sutton, and Mu¨ller 2012; Baier and Drake 2010)</xref>
        . However,
there is little generalizable understanding about how to
design or learn good playout policies in systematic ways.
Optimizing directly on the gameplay strength of the playout
policy often yields decreased performance
        <xref ref-type="bibr" rid="ref7">(Gelly and
Silver 2007)</xref>
        (an effect we also observed in preliminary
experiments, and which partially motivated this work). In recent
Go research, playout policies are some times abandoned and
replaced by refined evaluation functions
        <xref ref-type="bibr" rid="ref19 ref21">(Silver et al. 2017b;
2017a)</xref>
        . This paper extends our previous work
        <xref ref-type="bibr" rid="ref25">(Yang and
Ontan˜o´n 2020)</xref>
        , where the authors showed that weak
policies can also be strong policies.
      </p>
      <p>Specifically, in this paper we evaluate the difference in
behavior of game-playing policies when optimized for
gameplay strength, for playout policy performance, and as tree
policies. Since our goal is just to understand what makes a
good playout or tree policy, we employ very simple
policies, and use bandit algorithms for the optimization process.</p>
      <p>RTS 1 is used as the testbed, as it offers a minimalistic yet
complete RTS game environment and a collection of MCTS
implementations. We optimize for different objectives: 1)
winrate of the policy directly, and 2) win rate of an MCTS
agent when using the policy as the playout or tree policy.</p>
      <p>The rest of the paper is structured as follows. First, we
provide background on RTS games, MCTS, and policy
optimization. Then we describe the baseline, and our approach
for optimizing gameplay policy, tree policy, and playout
policies and also joint optimization of tree policy and
playout policy. We show visualizations of the distributions of the
trained policies, then compare them with each other and with
baseline policies. Finally, we draw conclusions and discuss
lines of future work.</p>
      <p>1https://github.com/santiontanon/microrts
Real-time strategy (RTS) is a sub-genre of strategy games
where players aim to defeat their opponents (destroying
their army and base) by strategically building an economy
(gathering resources and building a base), military power
(training units and researching technologies), and
controlling those units. The main differences between RTS games
and traditional board games are: they are simultaneous move
games (more than one player can issue actions at the same
time), they have durative actions (actions are not
instantaneous), they are real-time (each player has a very small
amount of time to decide the next move), they are partially
observable (players can only see the part of the map that has
been explored, although in this paper we assume full
observability) and they might be non-deterministic.</p>
      <p>
        RTS games have been receiving an increased amount of
attention
        <xref ref-type="bibr" rid="ref12">(Ontan˜o´n et al. 2013)</xref>
        as they are more
challenging than games like Go or Chess in at least three
different ways: (1) the combinatorial growth of the branching
factor
        <xref ref-type="bibr" rid="ref14">(Ontan˜o´n 2017)</xref>
        , (2) limited computation budget
between actions due to the real-time nature, and (3) lack of
forward model in most of research environments like Starcraft.
Specifically, in this paper, we chose RTS as our
experimental domain, as it offers a forward model for application
of Monte Carlo Tree Search as well as existing
implementations of MCTS and stochastic policies for optimization.
      </p>
      <p>RTS is a simple RTS game designed for testing AI
techniques. RTS provides the essential features that make RTS
games challenging from an AI point of view: simultaneous
and durative actions, combinatorial branching factors and
real-time decision making. The game can be configured to
be partially observable and non-deterministic, but those
settings are turned off for all the experiments presented in this
paper. We chose RTS, since in addition to featuring the
above properties, it does so in a very minimalistic way, by
defining only four unit types and two building types, all of
them occupying one tile, and using only a single resource
type. Additionally, as required by our experiments, RTS
allows maps of arbitrary sizes and initial configurations.</p>
      <p>There is one type of environment unit (minerals) and six
types of units controlled by players (bases, barracks,
workers, and light, heavy and ranged military units).
Additionally, the environment can have walls to block the movement
of units. A example screenshot of game is shown in Figure
1. The squared units in green are Minerals with numbers on
them indicating the remaining resources. The units with blue
outline belong to player 1 and those with red outline belong
to player 2. The light grey squared units are Bases with
numbers indicating the amount of resources owned by the player,
while the darker grey squared units are the Barracks.</p>
      <sec id="sec-1-1">
        <title>Monte Carlo Tree Search in RTS Games</title>
        <p>
          Monte Carlo Tree Search
          <xref ref-type="bibr" rid="ref3 ref5">(Browne et al. 2012; Coulom
2006)</xref>
          is a method for sequential decision making in domains
that can be represented by search trees. It has been a
successful approach to tackle complex games like Go as it takes
random samples in the search space to estimate state value.
        </p>
        <p>
          Most of the classic tree policies of MCTS, e.g. UCT
          <xref ref-type="bibr" rid="ref10 ref11 ref4 ref5">(Kocsis and Szepesva´ri 2006)</xref>
          , do not scale up well to RTS
"max"
player
units
"min"
player
units
games due to the combinatorial growth of branching
factor with respect to the number of units. Sampling
techniques for combinatorial branching factors such as Na¨ıve
Sampling
          <xref ref-type="bibr" rid="ref14">(Ontan˜o´n 2017)</xref>
          or LSI
          <xref ref-type="bibr" rid="ref15">(Shleyfman, Komenda,
and Domshlak 2014)</xref>
          were proposed to improve the
exploration of MCTS exploiting combinatorial multi-armed
bandits (CMABs). There have been many other enhancement
techniques of the tree policy. But since our focus in on the
playout (a.k.a. simulation) policy, we employ MCTS with
Na¨ıve Sampling in this paper for simplicity (Na¨ıveMCTS).
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>Playout Policies in MCTS</title>
        <p>
          If we had the optimal policy available, playout according
to this policy would produce accurate evaluations of states.
However, having such optimal policy is not always possible.
If a policy is not one of the optimal ones, no matter how good
the policy is, some error is introduced into the evaluation and
accumulated in the playout sequences. If the error is
unbalanced, even a strong policy can result in a very inaccurate
state evaluation. Previous work on simulation balancing
          <xref ref-type="bibr" rid="ref1 ref16 ref8 ref9">(Silver and Tesauro 2009; Huang, Coulom, and Lin 2010;
Graf and Platzner 2016)</xref>
          approach this problem by not
optimizing policy strength but optimizing policy balance. In
that way, the errors are canceled out in the long run.
        </p>
        <p>
          Although the general principles to generate good playout
policies are not yet fully understood, in practice, when
learning a playout policy, the policy is trained to mimic a
simulation balanced agent. This can be either an expert that can
evaluate states accurately or a strong agent that can
analyse the positions deeply. In the work of
          <xref ref-type="bibr" rid="ref16">Silver and Tesauro
(2009)</xref>
          , the expert agent is used, and in other work
          <xref ref-type="bibr" rid="ref1 ref8 ref9">(Huang,
Coulom, and Lin 2010; Graf and Platzner 2016)</xref>
          apprenticeship learning of deep MCTS is shown to be effective.
However, it isn’t clear that simulation balancing is the only factor
to take into account when designing playout policies. Thus,
in this paper, we take a different approach, and optimize
playout policies to maximize MCTS performance directly.
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Policy Optimization in RTS</title>
      <p>In order to study the differences between policies optimized
for gameplay and those optimized directly as playout
policies and tree policies, we define a very simple parametrized
policy, and use an optimization process to optimize these
parameters.</p>
      <sec id="sec-2-1">
        <title>Policy Parameterization</title>
        <p>We employ a simple stochastic parameterization of the
policy, where we define a weight vector w = (w1; :::; w6),
where each of the six weights wi 2 [0; 1] corresponds to
each of the six types of actions in the game:</p>
        <sec id="sec-2-1-1">
          <title>NONE: no action.</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>MOVE: move to an adjacent position.</title>
          <p>HARVEST: harvest a resource in an adjacent position.</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>RETURN: return a resource to a nearby base. PRODUCE: produce a new unit (only bases and barracks can produce units, and only workers can produce new buildings).</title>
          <p>ATTACK: attack an enemy unit that is within range.</p>
          <p>A policy is totally represented by the vector w. During
gameplay, the action for each unit is selected proportionally
to this weight vector. To choose the action for a given unit,
the following procedure is used: given all the available
actions for a unit, a probability distribution is formed by
assigning each of these actions the corresponding weight in
w, and then normalizing to turn the resulting vector into a
probability distribution. If the weights of all the available
actions are 0, then an action is chosen uniformly at random.
Notice that this defines a very simple space of policies, but
as we will see below, it is surprisingly expressive, and
includes policies that are stronger than it might initially seem.</p>
          <p>The goal of keeping the policy space simple is to be able
to find near-optimal policies (within the policy space), in a
computationally inexpensive way. The same ideas presented
here would apply to more expressive policies,
parameterized by larger parameter vectors, such as those represented
by a neural network, for example (although a different
optimization algorithm might be required, such as reinforcement
learning).</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Policy Optimization</title>
        <p>
          Given the parameterization, we can optimize the policy for
many purposes using different optimization algorithms. In
this paper, we use repeated game of bandits (RGB)
          <xref ref-type="bibr" rid="ref10 ref11 ref23 ref4 ref5">(CesaBianchi and Lugosi 2006; Slivkins 2019)</xref>
          . RGB works as
in Algorithm 1, where two regret-minimizing agents
repeatedly play against each other. And if the repeated game is
zero-sum, the empirical distribution of RGB converges to
Nash Equilibrium. The motivation is that if a policy is
optimized to maximize win rates against a single other agent,
cycles might be created, where we have three policies A,
B, and C, and A beats B, B beats C, and C beats A. To
avoid these cycles and compute the least exploitable agent,
we need to approximate the Nash Equilibrium. In each
iteration of RGB, the best-response against our current belief of
the optimal strategy needs to be computed. Many algorithms
can be used to compute the best response in each iteration of
RGB.
        </p>
        <p>In particular, in this work we use multiarmed bandits as
a way to compute the best response. For bandit
optimization, we discretized the search space, allowing each weight
to take values in f0; 1; 2; 3; 4; 5g. Specifically, we model the
problem using combinatorial bandits, since the problem has
a combinatorial structure where there are 6 types of actions
and for each action type there are 6 different weights to
choose from. Moreover, notice that if we multiply a weight
vector by a scalar strictly larger than zero, the resulting
policy is identical in behavior. Internally, when interpreting the
weight vectors as policy, the vector will be normalized to a
probability distribution (that sums up to one).</p>
        <p>Zero-Sum Repeated Game of Bandits In order to find
the optimal policy within the space of policies defined by our
6-parameter vector, we use Na¨ıve Sampling within the RGB
play framework. Specifically, we use Algorithm 1. Given a
target set of maps m, we use RGB as follows. We initialize a
set of policies N . And then execute T iterations of repeated
games between two regret-minimizing bandit agents B1 and
B2. At each iteration k, two arms, k1 and k2, are pulled
from each bandit independently and simultaneously. Then
10 games are played between the policies and the averaged
reward r 2 [0; 1] is revealed to both bandits (r to B1, 1 r
to B2). Both of the selected arms are added the N . As we
discussed above, it has been shown that N converges to the
Nash Equilibrium.</p>
        <p>However, in this study, we stick to the single policy for
analysis and in order to obtain a policy represented just as a
vector of 6 numbers, and make results interpretable, so we
can compare the result of optimizing for gameplay strength,
versus optimizing for playout strength. The final weight
vector will be the most visited arm after the bandit optimization
process.</p>
        <p>In order to optimize a policy for being a strong playout
policy, rather than a strong gameplay policy, we use the same
exact procedure, except that when playing a game between
k1 and k2, we use MCTS agents where k1 and k2 are used
as the playout policies.</p>
        <p>Furthermore, we also experiment with optimizing the
policy as the tree policy of the MCTS, in order to observe its
difference to policies optimized for game-playing strength.
The research question to ask is whether it is enough to
optimize only for game-playing strength to have a good playout
or tree policy.</p>
        <p>Finally, we optimize the tree policy and playout policy
directly at the same time. The purpose is to see if there are
possible interactions between the two types of policies and
potentially obtain policy combinations that work better than
optimizing them separately.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Experiments and Results</title>
      <p>
        In our previous work
        <xref ref-type="bibr" rid="ref25">(Yang and Ontan˜o´n 2020)</xref>
        we
presented the result of bandit optimized policies of the same
parameterization. However, we did not compare with
policies optimized using other techniques, such as simulation
Algorithm 1: Repeated Game of Bandits (with
Na¨ıve Sampling)
Initialize Nash Equilibrium strategy set N = ;.
      </p>
      <p>Initialize two bandit agents B1 and B2.</p>
      <p>CMAB1 = new Na¨ıveSampling() bandit
CMAB2 = new Na¨ıveSampling() bandit
for k = 1; 2; 3; : : : ; T do</p>
      <p>
        Choose arm k1 = CMAB1.sample()
Choose arm k2 = CMAB2.sample()
r = play a game k1 vs
CMAB1.observeReward(k2 ik1n; mr)ap m
CMAB2.observeReward( k2; 1
N N [ f k1, k2g
r)
balancing
        <xref ref-type="bibr" rid="ref16">(Silver and Tesauro 2009)</xref>
        in order to assess if just
using simulation balancing is enough to obtain strong
playout policies. Thus, in this paper, we first establish a baseline
using simulation balancing and show that it does not scale
well in RTS games. Then, we further investigate the bandit
based optimization approach and the effect of the different
optimization objectives describe above.
      </p>
      <p>Three different maps are used to test the generalizability
of our comparison. The maps are:</p>
      <p>Map 1: 8x8/basesWorkers8x8A.xml: In this map of size
8 by 8, each player starts with one base and one worker.
Games are cut-off at 3000 cycles.</p>
      <p>Map 2: 8x8/FourBasesWorkers8x8.xml: In this map of
size 8 by 8, each player starts with four bases and four
worker. Games are cut-off at 3000 cycles.</p>
      <p>Map 3: NoWhereToRun9x8.xml: In this map of size nine
by eight, each player starts with one base and the players
are initially separated by a wall of resources, that needs to
be mined through in order to reach each other. Games are
cut-off at 3000 cycles.</p>
      <sec id="sec-3-1">
        <title>Monte Carlo Simulation Balancing</title>
        <p>
          Simulation Balancing (SB)
          <xref ref-type="bibr" rid="ref1 ref16 ref8 ref9">(Silver and Tesauro 2009;
Huang, Coulom, and Lin 2010; Graf and Platzner 2016)</xref>
          approach the problem of optimizing for good playout policy
by not optimizing policy strength but optimizing policy
balance. It is a policy gradient-based method that minimizes
“imbalance” in the policies so that so that the small errors
cancel each other out during the whole playout. The
pseudocode is given in Algorithm 2. The algorithm first
constructs a training set of state/state value pairs. The true state
value can be estimated by performing a deep MCTS search
when expert play is not available Then the algorithm uses
Monte Carlo simulation to calculate the actual state value
estimation of the given policy. Finally, the algorithm
calculates the difference of the true state value and estimated
state value to do policy gradient update. The policy gradient
t (sn; an) is the following
t (sn; an) = r log
(s; a) = (s; a) X
        </p>
        <p>(s; b) (s; b)
b</p>
        <sec id="sec-3-1-1">
          <title>Algorithm 2: Simulation Balancing</title>
          <p>0
for t = 0 to T do
(s1; V (s1))
V 0
for j = 0 to M do
simulate (s1; a1;
t</p>
          <p>V + z
V MV
for i = 0 to M do
simulate (s1; a1;
V
g
g
M</p>
          <p>t
g
t+1
g + z PN
n=1
t (sn; an)
t + (V (s1)
V )g</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Random choice from training set</title>
          <p>; sN ; aN ; z) following
; sN ; aN ; z) following
In the equation, is the feature vector and is the policy.</p>
          <p>Now we experiment the performance of SB. We first
collect a dataset of estimated true state values from the three
maps using Na¨ıveMCTS of 100000 iterations and the value
estimation of the root node is recorded as the estimated true
state value. 1000 states are sampled from 200 self-played
games of two random agents. During training, we first
calculate the state value estimated by the playout policy V by
averaging 1000 playouts. Then we run another 1000
playouts to calculate policy gradient t . The resulting policy
of SB optimization is characterized by the parameter vector
[0:02; 0:32; 0:18; 0:18; 0:17; 0:13]. Together with a purely
random and the built-in RandomBiased bot in RTS, the
result from SB will be used as the baseline in our study.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Optimization for Gameplay Strength</title>
        <p>
          In the first experiment, we optimize the policy with
multiple maps together and compare with the policies in
          <xref ref-type="bibr" rid="ref25">(Yang
and Ontan˜o´n 2020)</xref>
          . Specifically, we run 10000 iterations
of the repeated game of bandits between two Na¨ıve
Sampling agents to obtain a history distribution of the process.
The arms pulled by the two bandits correspond to the
gameplaying policies and play against each other for 10 games to
calculate the reward. The result is 20000 policies (the policy
of each of the two players over 10000 itertions). We
visualized the weight distribution of these 20000 policies.
        </p>
        <p>The result for gameplay strength optimization is shown in
Figure 2-a. we observe that NONE, MOVE, and PRODUCE
are mostly assigned a 0 weight in most of the policies in
the distribution. RETURN and ATTACK are mostly given
weight of 1. HARVEST and RETURN are given more
diverse weights, probably due to the fact that we use different
maps, and some values might work better in some maps than
in others. Later in the paper, we will evaluate how strong
these policies are in actual gameplay.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Optimization for Tree Policy</title>
        <p>In the second experiment we optimize the tree policy
directly as opposed to optimizing for gameplay strength. The
experimental setup is similar to the gameplay strength
optimization but the performance of the policies are measured
directly by useing them as tree policies of MCTS. Again, we
run 10000 iterations of the repeated game of bandits between
two Na¨ıve Sampling agents. The arms pulled by the two
bandits are used as tree policies and used by MCTS agents to
play against each other for 10 games to calculate the reward.</p>
        <p>The result of the optimization is visualized in Figure
2b. It is easy to see that the results agree with the
gameplay strength optimization that NONE and MOVE should
assign a 0 weight with high probability, but disagree that
PRODUCE should have a low probability for 0. Also,
HARVEST, RETURN, and ATTACK have more spread weights
than gameplay optimization. This shows that strong
gameplay policies tend to be different from strong tree policies.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Optimization for Playout Policy</title>
        <p>In the third experiment we optimize for the playout policy
with a similar experimental set up as in tree policy
optimization. We run 10000 iterations of the repeated game of bandits
between two Na¨ıve Sampling agents and the arms pulled are
interpret as playout policies and used by MCTS agents to
play against each other for 10 games to calculate the reward.</p>
        <p>The result of the optimization is visualized in Figure 2-c.
We can observe that the weight distribution is very different
to the distribution of optimization of tree policy or gameplay
policy. In this weight distribution, NONE is mostly assigned
to weight 1. MOVE and PRODUCE are mostly assigned
weight 0. And ATTACK is mostly assigned to the highest
weight of 5. HARVEST is spread between 1, 2, and 3.
RETURN has most of the weights assigned to 1 and 5. Again,
we see that strong playout policies are very different from
strong gameplay policies.</p>
      </sec>
      <sec id="sec-3-5">
        <title>Joint Optimization for Tree Policy and Playout</title>
      </sec>
      <sec id="sec-3-6">
        <title>Policy</title>
        <p>To test whether tree policy and playout policy interact with
each other, we further investigate by optimizing both at the
same time. Similarly, We run 10000 iterations of the
repeated game of bandits between two Na¨ıve Sampling agents
that choose values for 12 parameters rather than 6, and the
arms pulled will be interpret as two policies, one for tree
policy and the other for playout policies, and used by MCTS
agents to play against each other for 10 games to calculate
the reward. Thus, in this experiment, arms pulled by bandits
have 12 parameters and the first six parameters are interpret
as tree policy and others are interpret as playout policy.</p>
        <p>The result of the optimization is visualized in Figure
2d and Figure 2-e, showing that the jointly optimized
policies are different from the policies obtained when
optimizing them separately. Let us now compare how strong these
policies are in actual gameplay.</p>
      </sec>
      <sec id="sec-3-7">
        <title>Comparing Performance as Gameplay Policies vs.</title>
      </sec>
      <sec id="sec-3-8">
        <title>Playout Policies</title>
        <p>So far we have policies optimized for different objectives:</p>
        <sec id="sec-3-8-1">
          <title>Optimizing “simulation balance”.</title>
        </sec>
        <sec id="sec-3-8-2">
          <title>Optimizing gameplay strength of the policy.</title>
        </sec>
        <sec id="sec-3-8-3">
          <title>Optimized as tree policy of MCTS.</title>
        </sec>
        <sec id="sec-3-8-4">
          <title>Optimized as playout policy of MCTS.</title>
          <p>Joint optimization of tree policy and playout policy.</p>
          <p>Now, together with the two baselines, Random and
RandomBiased, we compare them policies in two tasks:
gameplay strength when used directly to play (without MCTS),
and gameplay strength when used as playout policies within
MCTS. We run 10 rounds of round-robin between all the
policies. The winrates are reported in Figure 3 (we tested
the tree policies separately as reported below).</p>
          <p>First, simulation balancing has a winrate of 0.16 as
gameplaying policy and a winrate of 0.29 as the playout
policy, which are outperformed by the two baselines as
gameplaying policy (winrate of 0.20 and 0.37 respectively), but is
better than baselines as playout policy of MCTS (winrate of
0.02 and 0.09 respectively). This is expected, as simulation
balancing is supposed to design strong playout policies.</p>
          <p>Second, the policy optimized for gameplay strength
outperformed the baselines by a large margin and has the best
gameplay winrate (0.58) and third best winrate as playout
policy (0.52). For performance as playout policy, it is only
worse than the two optimized as playout policies directly.
The policy optimized as tree policy of MCTS also
outperformed baselines, but has worse winrate than gameplay
optimized policy in both tracks (winrate of 0.53 and 0.47).</p>
          <p>Now we look at the policy optimized for playout policy
directly. The result is interesting since it is very weak in
terms of gameplay (winrate of merely 0.08), but very strong
as playout policy (winrate of 0.62). This suggest that a strong
gameplay strength is not a requirement of being a good
playout policy, and that simulation balancing does not capture all
that is required for a strong playout policy.</p>
          <p>Lastly, we have the pair of policies that are optimized
together, one as tree policy and the other as playout policy.
The tree policy achieved similar winrates (winrate of 0.55
and 0.45 respectively) as singly optimized. The policy
optimized as playout policy is interesting that not only it is good
as playout policy (winrate of 0.56), but also it has a good
gameplay strength (winrate of 0.52).</p>
        </sec>
      </sec>
      <sec id="sec-3-9">
        <title>Strength of Tree Policies</title>
        <p>The result of the jointly optimized policies suggest there
could be some factor of “match” between the tree policy and
the playout policy for them to work well together. Thus, to
further verify this hypothesis, we take the best pairs of singly
optimized tree policy and playout policies to play against the
pair of jointly optimized policies in two MCTS agents.</p>
        <p>We run the jointly optimized pair against the pair of best
gameplay policy (as tree policy) and best singly optimized
playout policy (as playout policy) for 1000 games, and the
jointly optimized pair has a winrate of 0.64. We also run the
jointly optimized pair against the pair of best tree policy and
best singly optimized playout policy for 1000 games, and
the jointly optimized pair has a winrate of 0.67.</p>
        <p>Moreover, we run gameplay optimized policy against an
optimized tree policy as the tree policy of an MCTS agent
for 1000 games, both with the optimized playout policy. We
found the gameplay policy has a winrate of 0.44, which
means that a gameplay optimized policy does not
necessarily make for a good tree policy.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>In this paper, we have studied policy optimization in
several settings. First, we tried simulation balancing for
playout policy optimization. We found that although it is better
than the baselines as playout policy, its performance is not
comparable to optimizing as playout policy directly. We also
tried optimizing game policy, tree policy, and playout policy
in three maps at the same time. We observed that for some
action types like NONE and MOVE, the weight distribution
are in consensus for all maps, but for others, weight
distributions is spread to multiple categories. This might be because
certain weights are good for some maps. Furthermore, we
compared the performance as tree policy between optimized
gameplay policy and optimized tree policy, and confirmed
that optimize tree policy directly does help. Finally, we
optimized the tree policy and playout policy jointly. The
resulting pair of policies outperforms the combination of the best
of tree policy and playout policies, which suggest that the
“match” of the tree policy and playout policy can also play
an important role in the performance of the MCTS.</p>
      <p>For future work, we want to further investigate the
simulation balancing algorithm, since there has been good advance
in gradient policy algorithms that might help scaling up SB.
Also, the joint optimization of different component of the
MCTS algorithm seemed to be beneficial. It will be
interesting to take more factors, like the evaluation function tuning
and exploration parameters, into the optimization process to
see if we can push the progress further and gain insight on
the interplay between the different pieces of MCTS.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Baier</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Drake</surname>
            ,
            <given-names>P. D.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>The power of forgetting: Improving the last-good-reply policy in monte carlo go</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>IEEE Transactions on Computational Intelligence and AI in Games</source>
          <volume>2</volume>
          (
          <issue>4</issue>
          ):
          <fpage>303</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Browne</surname>
            ,
            <given-names>C. B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Powley</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Whitehouse</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lucas</surname>
            ,
            <given-names>S. M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Cowling</surname>
            ,
            <given-names>P. I.</given-names>
          </string-name>
          ; Rohlfshagen,
          <string-name>
            <given-names>P.</given-names>
            ;
            <surname>Tavener</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Perez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ;
            <surname>Samothrakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ; and
            <surname>Colton</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <year>2012</year>
          .
          <article-title>A survey of monte carlo tree search methods</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in games 4</source>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Cesa-Bianchi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lugosi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Prediction, learning, and games</article-title>
          . Cambridge university press.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Coulom</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Efficient selectivity and backup operators in monte-carlo tree search</article-title>
          .
          <source>In International conference on computers and games</source>
          ,
          <volume>72</volume>
          -
          <fpage>83</fpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Coulom</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2007</year>
          .
          <article-title>Computing “elo ratings” of move patterns in the game of go</article-title>
          .
          <source>ICGA journal 30</source>
          <volume>(4)</volume>
          :
          <fpage>198</fpage>
          -
          <lpage>208</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Gelly</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <year>2007</year>
          .
          <article-title>Combining online and offline knowledge in uct</article-title>
          .
          <source>In Proceedings of the 24th international conference on Machine learning</source>
          ,
          <fpage>273</fpage>
          -
          <lpage>280</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Graf</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Platzner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2016</year>
          .
          <article-title>Monte-carlo simulation balancing revisited</article-title>
          .
          <source>In 2016 IEEE Conference on Computational Intelligence and Games (CIG)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Huang</surname>
          </string-name>
          , S.-C.;
          <string-name>
            <surname>Coulom</surname>
          </string-name>
          , R.; and
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>S.-S.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Monte-carlo simulation balancing in practice</article-title>
          .
          <source>In International Conference on Computers and Games</source>
          ,
          <volume>81</volume>
          -
          <fpage>92</fpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Kocsis</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , and Szepesva´ri,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <year>2006</year>
          .
          <article-title>Bandit based montecarlo planning</article-title>
          .
          <source>In European conference on machine learning</source>
          ,
          <fpage>282</fpage>
          -
          <lpage>293</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Munos</surname>
            ,
            <given-names>S. G. W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Teytaud</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Modification of uct with patterns in monte-carlo go</article-title>
          .
          <source>Technical Report RR-6062</source>
          <volume>32</volume>
          :
          <fpage>30</fpage>
          -
          <lpage>56</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <article-title>Ontan˜o´n, S.;</article-title>
          <string-name>
            <surname>Synnaeve</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Uriarte</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Richoux</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Churchill</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; and Preuss,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2013</year>
          .
          <article-title>A survey of realtime strategy game ai research and competition in StarCraft.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <source>IEEE Transactions on Computational Intelligence and AI in games 5</source>
          (
          <issue>4</issue>
          ):
          <fpage>293</fpage>
          -
          <lpage>311</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <article-title>Ontan˜o´n</article-title>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <year>2017</year>
          .
          <article-title>Combinatorial multi-armed bandits for real-time strategy games</article-title>
          .
          <source>Journal of Artificial Intelligence Research</source>
          <volume>58</volume>
          :
          <fpage>665</fpage>
          -
          <lpage>702</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Shleyfman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Komenda</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Domshlak</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>2014</year>
          .
          <article-title>On combinatorial actions and cmabs with linear side information</article-title>
          .
          <source>In ECAI</source>
          ,
          <fpage>825</fpage>
          -
          <lpage>830</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Tesauro</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <year>2009</year>
          .
          <article-title>Monte-carlo simulation balancing</article-title>
          .
          <source>In Proceedings of the 26th Annual International Conference on Machine Learning</source>
          ,
          <fpage>945</fpage>
          -
          <lpage>952</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Maddison</surname>
            ,
            <given-names>C. J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Guez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sifre</surname>
          </string-name>
          , L.; Van Den Driessche, G.;
          <string-name>
            <surname>Schrittwieser</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Antonoglou</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Panneershelvam</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lanctot</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ; et al.
          <year>2016</year>
          .
          <article-title>Mastering the game of go with deep neural networks and tree search</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <source>nature</source>
          <volume>529</volume>
          (
          <issue>7587</issue>
          ):
          <fpage>484</fpage>
          -
          <lpage>489</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Hubert,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Schrittwieser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Antonoglou</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          ; Lai,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Guez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ;
            <surname>Lanctot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Sifre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ;
            <surname>Kumaran</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ; Graepel,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Lillicrap</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. P.</given-names>
            ;
            <surname>Simonyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ; and
            <surname>Hassabis</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <year>2017a</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <article-title>Mastering chess and shogi by self-play with a general reinforcement learning algorithm</article-title>
          .
          <source>ArXiv abs/1712</source>
          .
          <year>01815</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Schrittwieser</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Simonyan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Antonoglou</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Guez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Hubert</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Baker</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lai</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Bolton</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; et al. 2017b.
          <article-title>Mastering the game of go without human knowledge</article-title>
          .
          <source>Nature</source>
          <volume>550</volume>
          (
          <issue>7676</issue>
          ):
          <fpage>354</fpage>
          -
          <lpage>359</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sutton</surname>
            ,
            <given-names>R. S.</given-names>
          </string-name>
          ; and Mu¨ller,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2012</year>
          .
          <article-title>Temporaldifference search in computer go</article-title>
          .
          <source>Machine learning 87(2)</source>
          :
          <fpage>183</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Slivkins</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2019</year>
          .
          <article-title>Introduction to multi-armed bandits</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          arXiv preprint arXiv:
          <year>1904</year>
          .07272.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          , and Ontan˜o´n,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <year>2020</year>
          .
          <article-title>Are strong policies also good playout policies? playout policy optimization for rts games</article-title>
          .
          <source>In Sixteenth Annual AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE).</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>