<!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>Parametric Action Pre-Selection for MCTS in Real-Time Strategy Games ?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Abdessamed Ouessai</string-name>
          <email>abdessamed.ouessai@univ-mascara.dz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mohammed Salem</string-name>
          <email>salem@univ-mascara.dz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio M. Mora</string-name>
          <email>amorag@ugr.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. Computer Sciences, University of Mascara</institution>
          ,
          <addr-line>Mascara</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. Signal Theory</institution>
          ,
          <addr-line>Telematics and Communications, ETSIIT-CITIC</addr-line>
          ,
          <institution>University of Granada</institution>
          ,
          <addr-line>Granada</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The core challenge facing search techniques when used to play Real-Time Strategy (RTS) games is the extensive combinatorial decision space. Several approaches were proposed to alleviate this dimensionality burden, using scripts or action probability distributions, based on expert knowledge. We propose to replace expert-authored scripts by a collection of smaller parametric scripts we call heuristics and use them to pre-select actions for Monte Carlo Tree Search (MCTS). The advantages of this proposal consist of granular control of the decision space and the ability to adapt the agent's strategy in-game, all by altering the heuristics and their parameters. Experimentation results in RTS using a proposed implementation have shown a signi cant performance gain over state-of-the-art agents.</p>
      </abstract>
      <kwd-group>
        <kwd>Game AI</kwd>
        <kwd>Real-Time Strategy</kwd>
        <kwd>MCTS</kwd>
        <kwd>RTS</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Video games belonging to the Real-Time Strategy (RTS) sub-genre can be
viewed as an evolution of classic board games. Games such as Chess, Checkers,
and Go depict an abstract con ict situation between two parties. The
capabilities of modern computing devices, usually paired with advanced game-engines,
allow RTS games to portray concrete con ict situations, approximately
simulating the dynamics of real-world military disputes. Players in an RTS game
can simultaneously control multiple entities (units) in real-time, within a large,
dynamic, and uncertain environment.</p>
      <p>
        Designing a successful arti cial RTS player is a demanding task that requires
overcoming many challenges. In particular, the large combinatorial decision and
state spaces constitute a signi cant bottleneck for game-playing agents based on
search or machine learning. Task decomposition is a common solution to mitigate
the domain's complexities, usually by de ning multiple sub-tasks in each level
of abstraction. Decision making in an RTS game ows through three levels of
abstraction: strategic, tactical, and reactive-control [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Monte Carlo Tree Search (MCTS) is a sampling-based search approach with
a successful track record in many board games, especially those known for their
high branching factor such as Go. MCTS was also adapted for use as a holistic
agent in RTS games, but it still struggles to replicate the same degree of success
as in Go, due to the branching-factor bottleneck. The proposed improvements
usually fall in two main scopes: (1) The use of expert-knowledge to abstract the
decision space and lower the branching factor, and (2) the use of MCTS solely
as a component dedicated to smaller tactical and reactive situations, as part of
an agent. While there are e orts to combine both scopes [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the reliance on a
xed set of expert-authored scripts remains a vector of exploitation.
      </p>
      <p>In this paper, we propose an action pre-selection algorithm that relies on the
building blocks of expert scripts rather than full scripts. Expert-authored scripts
combine several smaller scripts, we call heuristics, to form a scripted agent. A
heuristic represents an isolated task performed by a unit or a group of units,
such as harvesting or attacking. Our algorithm depends on parametric
heuristics to generate a wide variety of scripts that can be used to pre-select actions for
prede ned groups of units, to feed into an MCTS agent. The heuristics'
parameters can be modi ed in real-time to adjust both the decision granularity and
the adopted strategy, which opens the perspectives for dynamic strategy
adaptation through MCTS. Experimentation results in the RTS test-bed reveals a
signi cant MCTS performance gain related to the reduced branching factor and
the more focused decision space.</p>
      <p>In the next section, we will review some preliminaries about RTS games and
MCTS. In Section 3 we will explore some relevant works related to our proposal,
and in Section 4 we will detail the theoretic and implementation aspects of our
approach. Experimentation results will be presented and discussed in Section 5,
followed by a conclusion in Section 6.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>RTS Games</title>
        <p>An RTS game is a zero-sum, multiplayer, non-deterministic, and
imperfectinformation game, where players compete for resources to defeat an opposing
side using military force. To win, the player is expected to devise and execute a
strategy that can overcome his opponent and ultimately eliminate all his units.
The player manages his units by issuing a unit-action to each, forming a
playeraction in each decision. The game's environment usually consists of a large map
with topographic features, covered by a fog-of-war layer that reduces visibility.</p>
        <p>RTS games gained signi cant popularity on the PC platform thanks in part
to their PC-friendly user interfaces and control schemes, reminiscent of a
typical PC software. The most commercially successful RTS titles include
StarCraft, Command &amp; Conquer, and Age of Empires. Enabling AI research
on commercial games started as an independent community e ort that resulted
in several uno cial APIs, such as BWAPI and Wargus. Much later, Blizzard
provided an o cial StarCraft II AI API and toolset in collaboration with
DeepMind3. Independent RTS AI research platforms have also emerged, such as
ORTS, RTS, ELF, and DeepRTS.</p>
        <p>
          We used RTS [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] as our experimentation test-bed. Conceived by Santiago
Ontan~on, RTS is the most lightweight and accessible RTS AI research
platform [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. It features a minimalistic RTS implementation focused on the most
fundamental RTS challenges and includes an e cient forward model necessary
for implementing lookahead-based approaches.
        </p>
        <p>
          Formally, an RTS game can be de ned as a tuple G = (S; A; P; ; L; W; sinit)
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], where S, A, and P represent the state space, the player-action space, and the
players' set, respectively. The transition function, : S A A ! S, takes a game
state at time t and the player-action of each player (assuming two-player setting)
and returns a new game state at time t+1. Function L : S A P ! ftrue; f alseg
returns true when a player-action considered in a given game state by a given
player is legal. Function W : S ! P [ fongoing; drawg returns the winner of
the game, if any, or whether the game is still ongoing or is a draw. sinit is the
initial game state.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>MCTS</title>
        <p>
          MCTS [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] is a family of anytime (yields a solution under any amount of
processing time) sampling-based search algorithms applicable to Markov decision
processes (MDPs) [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. They work by incrementally constructing a game tree
across multiple iterations. A single MCTS iteration consists of four basic phases.
The rst phase, selection, employs a tree-policy to select which tree node to
expand. Next, an expansion phase creates and appends a new node to the selected
node. A simulation (or playout ) is then executed starting from the new node
using a default-policy and lastly a backpropagation phase uses the simulation's
outcome to update the reward estimates and the visit count of all nodes on the
way up to the root. The action leading to the most visited node is usually the
one returned.
        </p>
        <p>
          Upper Con dence Bounds for Trees (UCT) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] is a popular MCTS algorithm
that frames the selection phase as a Multi-Armed Bandit (MAB) [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] problem,
then uses the UCB1 formula to select nodes for expansion. UCT works well in
high branching-factor domains, such as Go, but su ers greatly when the decision
space has also a combinatorial structure, as in RTS games. This drawback is due
to UCB1's requirement to explore all possible moves at least once to commence
exploitation. The short decision cycle and huge average number of possible moves
at a decision point in RTS games do not allow UCT the chance to explore all
moves.
        </p>
        <p>
          NaveMCTS [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] addressed UCT's shortcomings in combinatorial decision
spaces by framing the selection phase as a Combinatorial MAB (CMAB)
prob
        </p>
        <sec id="sec-2-2-1">
          <title>3 https://github.com/deepmind/pysc2</title>
          <p>lem. This change highlights the reward contribution of each component
(unitaction) of a decision (player-action) and makes it possible to employ a nave
sampling strategy. Nave sampling assumes that the reward estimates of
unitactions can be summed to obtain the reward estimate of the player-action they
form. The problem is thus subdivided into n local MABs (n: the number of
units) and one global MAB. NaveMCTS does not need to explore all moves
before exploitation since it relies on an -greedy strategy instead of UCB1.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>State of the Art</title>
      <p>Managing the complex decision-space of RTS games in the context of search is
usually done by de ning a proxy layer that guides search towards high-value
actions while ignoring the rest. This layer is de ned by expert knowledge and
may take the form of expert-authored scripts, or action probability distributions
learned from expert traces. State abstraction through unit clustering is also a way
to further reduce the branching factor by considering clusters of units instead of
individual units.</p>
      <p>
        In RTS combat scenarios, Balla and Fern [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] de ned a pair of abstract actions
and a unit grouping approach to facilitate search using UCT. Justesen et al [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
used UCT in the space of actions proposed by scripts and further simpli ed
search using unit clustering by K-means. For full RTS scenarios, Barriga et al [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
proposed to con gure scripts with exposed choice points and use UCT to plan in
the space of choice points. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Moraes and Lelis combined NaveMCTS with
the concept of asymmetric abstraction to search in a decision space where each
group of units draws its actions from a distinct set of scripts, or the low-level
actions set. Scripts were also used to bias the selection phase of NaveMCTS in
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Inspired by AlphaGo, Ontan~on [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] trained a Bayesian model from expert
traces to guide NaveMCTS selection.
      </p>
      <p>
        Notable non-MCTS abstraction-based search algorithms include Strati ed
Strategy Selection (SSS) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which uses a type system for unit clustering, and
hill-climbing to search for an optimal script for each cluster. The main drawback
of action-abstraction approaches is their reliance on a xed set of scripts that
may produce a predictable agent. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], the authors propose to generate a
larger set of scripts from a small initial set through a voting scheme. Marino et
al [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] sought to nd an optimal action abstraction by evolving a large pool of
scripts generated by varying the parameters of prede ned rule-based scripts.
      </p>
      <p>
        Planning exclusively in a scripts-induced decision space can compromise
lowlevel tactical performance. For this reason, several works paired action
abstraction with low-level search. StrategyTactics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] uses a pre-trained model based
on Puppet Search for strategic planning and NaveMCTS for tactics. Similarly,
Neufeld et al [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] used NaveMCTS for tactical planning in their HTN
(Hierarchical Task Networks)-MCTS hybrid agent. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], the authors used ABCD
(AlphaBeta Considering Duration) for tactical decisions, in a limited game state.
      </p>
      <p>We propose a parametric action pre-selection scheme that, in contrast with
previous approaches, relies on heuristics instead of full scripts. Our approach
works by altering the decision space for NaveMCTS, according to a set of
provided parameters that govern the possible strategic and tactical decisions.
Moreover, our approach supports assigning heuristics to individual units or groups of
units. The advantage of this approach is its ability to implement a wide spectrum
of strategies by adjusting the heuristics' parameters pre-game or in-game.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Parametric Action Pre-Selection</title>
      <p>An expert-authored strategy or script in an RTS game can be broken down
into a set of heuristics, each controlling a group of units. Changing or
replacing one heuristic can a ect the goal and the performance of the strategy with
varying degrees. If we assume that all the possible RTS heuristics are known,
then it becomes possible to generate all RTS strategies by combining heuristics.
An agent can adapt its strategy according to its opponent or environment by
replacing problematic heuristics. To preserve tactical performance, a heuristic
can delegate all tactical choices to a search approach.</p>
      <p>We suggest that one way to capture a broad spectrum of all possible heuristics
is by de ning parametric heuristics. Each parameter may govern an aspect of
the heuristic, creating multiple possible heuristics with each di erent parameter
value combination. Therefore, the combination of heuristics and their parameters
de ne a strategy. A heuristic can be expert-authored or automatically learned.</p>
      <p>Formally, we de ne a heuristic h 2 H, where H is the set of heuristics, as a
function h : S U Al Rh ! Ak taking a game state s 2 S, a unit u 2 U , all
legal unit-actions (a1; ; al) 2 Al possible for u in s, and a parameter vector
p 2 Rh as input to produce a unit-action tuple = (a1; ; ak) 2 Ak where
Ak Al and k l. The sets U , Rh and A represent the set of units, parameter
vectors of heuristic h, and legal unit-actions, respectively.</p>
      <p>In hard-coded scripts, parameter vectors are usually constant, but in our
proposed approach, the parameter vector of a heuristic can be variable. A heuristic
h is fully deterministic if k = 1 and no random aspect intervenes in its
execution. In case k &gt; 1, a search algorithm can select an optimal action from the
heuristic's output, . A heuristic may employ any suitable algorithm, including
path nding, to narrow down the number of actions in and reduce the overall
branching factor.</p>
      <p>For instance, a common heuristic in RTS games is the harvest heuristic which
when applied to a Worker unit discards all unit-actions in favor of those that
guide the Worker back and forth between a resource deposit (harvest) and a
Base (return). harvest may expose parameters such as the maximum resources
to harvest or the path nding algorithm to use.</p>
      <p>A heuristic h can be associated with a group of units g 2 P(U ), in which
case it will be applied to each unit in g under parameter vector p, and we
denote it h[g; p]. We de ne D as the set of all possible unit partitionings, where
a partitioning d 2 D can be de ned as d = fg1; ; gm j gi 2 P(U )g.</p>
      <p>An action pre-selection process T (s; U ; A0; x1; ; xn) is an n-phase
algorithm where each phase xi(Ai 1; di; Hi; i) consists of a unit partitioning scheme</p>
      <p>A0
Game State s</p>
      <p>Units U</p>
      <p>T
x1
di 2 D that generates a set of mi unit groups gj for which a heuristic hj [gj ; pj ] 2
Hi(Hi H) is applied 8j 2 1; ; mi, under the parameter vector pj 2 i. Each
pre-selection phase operates on the unit-actions output of the previous phase,
Ai 1, and the initial phase operates on A0, the set of all legal unit-actions of
the units in U . The output of phase xi consists of the set of unit-actions Ai
calculated by the heuristics of Hi for each unit in U . The nal output of T is
the unit-action set An. Figure 1 illustrates the pre-selection process.</p>
      <p>Intuitively, an action pre-selection process is a successive re nement strategy
that works by manipulating the set of unit-actions possible for each unit in a
game state according to a global strategy expressed by the set of heuristics,
partitionings, and parameters de ned for each pre-selection phase. The resulting set
of unit-actions represent a decision to execute, or the possible options
admissible by the global strategy. In the latter case, a search algorithm such as MCTS
can be employed to nd an optimal player-action in accordance with the global
strategy, in a much smaller and focused decision space. A global strategy is
represented by n = (d1; ; dn; H1; ; Hn; 1; ; n) in an action pre-selection
process T .</p>
      <p>As an example, it is possible to de ne a hierarchical 2-phase pre-selection
process, where in the rst phase the units are split into two large groups d1 =
fdefense; o enseg and are assigned to two heuristics H1 = fdefend ; attack g
under parameters 1. In the second phase, the units could be split into more
specialized groups such as: d2 = fbaseDef ; barracksDef ; o enseg. The rst phase
assures a common behavior for defense units, and the second phase builds on
that to create specialized defense units. We will describe an action pre-selection
implementation proposition for RTS games next.
We propose an action pre-selection implementation for RTS games that delegates
tactical decision making to NaveMCTS and allows the expression of strategic
decisions through parametric heuristics. Our implementation, ParaMCTS, relies
on a 2-phase action pre-selection process that partitions units into four functional
groups in the rst phase, and into two situational groups in the second phase.
The intuition behind both group types comes from the way human RTS players
attribute di erent functions to di erent unit groups while macro-managing, and
how they switch to micro-management for units in con ict situations. We de ne
d1 and d2, in the context of RTS, as such:
d1: Functional groups
{ Harvesters: Worker units dedicated to gathering resources and building
structures.
{ O ense: Mobile units with the purpose of assaulting opponent units.
{ Defense: Mobile units assigned to defend the Base's perimeter.
{ Structures: Barracks and Base. Responsible for producing mobile units.
d2: Situational groups
{ Front-Line: Mobile units in close-contact with opponent units.
{ Back: All units not in the Front-Line group.</p>
      <p>d1 assigns each unit to its relevant group based on a prede ned unit-composition
that declares the maximum count of each unit-type to be found in each group.
For instance, it is possible to specify the maximum number of Workers in the
Harvesters, O ense or Defense group. As for d2, it populates the Front-Line
group by selecting a number of units within the re-range of opponent units, or
those targeting an opponent unit. The unit-composition and front-line selection
method are both partitioning parameters to provide. The heuristics in H1 and
H2 are rule-based and are described as follows:
H1:
{ Harvest: Applies to the Harvesters group. Automates the resource
harvesting process and provides Barracks building options whenever possible.
Parameters include the building location selection mode (isolated, random,
..., etc.) and the number of build options.
{ Attack: Applies to the O ense group. Find and track opponent units for
suppression. Parameters include the tracking mode (closest, minHP,...etc.),
the maximum number of units to track, and the number of escape routes to
consider in a close encounter.
{ Defend: Applies to the Defense group. Remain within a defense perimeter
around the Base and attack incoming opponent units. Parameters include
the geometry and size of the defense perimeter, the defense mode, and the
maximum number of units to attack.
{ Train: Applies to the Structures group. Trains units following the
unitcomposition provided to d1. Parameters include the unit-composition, the
training mode (isolated side, random side, ..., etc), and the number of
training options.</p>
      <p>Note how in each heuristic a numeric parameter decides the number of options
for certain actions (build, targets, ...). This type of parameter dictates how many
choices (k) NaveMCTS can operate on for each unit of the same group, which
directly impacts the branching factor. Harvest, Attack, and Defend use a
path nding algorithm to direct units towards their goals.</p>
      <p>H2:
{ Front-Line Tactics: Applies to the Front-Line group. Reduces the Wait
unit-action duration to increase the units' reactivity while in combat.
{ Back Tactics: Applies to the Back group. Keeps the default Wait
unitaction duration.</p>
      <p>Note that Front-Line units do not depend on d1 partitioning, meaning that
any unit in a d1 group can also be considered a Front-Line unit. In total 47
parameter was de ned for all heuristics and partitionings. The full parameters
list can be consulted in this approach's source code repository 4.</p>
      <p>Switching heuristics on the y is a way to adapt the agent's strategy according
to changes in the overall situation. We propose to switch the heuristics of d1's
Defense group from Defend to Attack according to a conditional trigger. The
switch is triggered whenever the score of the army composition is greater than
the opponent's by a prede ned margin we call the overpower factor. The score
simply counts all mobile units and attributes greater weight to assault units.</p>
      <p>
        Lastly, ParaMCTS uses a NaveMCTS enhancement, previously conceived
by the authors (to appear in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]). This enhancement hard-prunes a portion
of player-actions that include a Wait unit-action for the sake of decreasing the
branching factor.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Experiments &amp; Results</title>
      <p>Using ParaMCTS, we conducted a series of experiments to gauge the bene ts
of action pre-selection on the performance of NaveMCTS. Since the main e ect
of action pre-selection is a signi cantly reduced branching factor, we would like
to test which MCTS parameter can exploit the downsized decision space to add
the most value to performance. We focus on the two prominent search
parameters, maximum depth, and playout duration. We experiment using the following
sets of possible values for both parameters: depthV als = f10; 15; 20; 30; 50g and
durationV als = f100; 150; 200; 300; 500g.</p>
      <p>We de ne ParaMCTS (depth, duration) as the ParaMCTS variant using both
depth and duration as the maximum search depth, and playout duration,
respectively. All experiments were run on two PCs with relatively similar processors
using the latest version of RTS as of 10 July 2020. Each agent was attributed
a 100ms computation budget, similarly to the RTS competition setting, and
each experiment was repeated on three maps representing increasingly larger</p>
      <sec id="sec-5-1">
        <title>4 https://github.com/Acemad/UMSBot</title>
        <p>20
Maximum Depth
30
50
8x8
16x16
100
32x32
150</p>
        <p>200
Playout Duration
300
500
branching factors, namely basesWorkers 8 8, 16 16, and 32 32. To guarantee
a fair comparison, ParaMCTS was parameterized to adopt strategies similar to
its opponents', even when there is a possibility for exploitation. In all
experiments, we calculate the score of an agent likewise: score = wins + draws=2, and
normalize it between 0 and 100.
5.1</p>
        <sec id="sec-5-1-1">
          <title>Experiments 1 &amp; 2: Search Depth and Playout Duration</title>
          <p>To study the e ect of various search depths and playout durations on ParaMCTS
we ran 120 iteration of a round-robin tournament between each ParaMCTS (10,
duration) variant for each duration in durationV als, and another 120
roundrobin iteration between each ParaMCTS (depth, 100) variant for each depth in
depthVals. Fixed values 10 and 100 for depth and duration, respectively, are the
default NaveMCTS values. Results of this experiment are shown in Figure 2.</p>
          <p>
            In the second experiment, we took all the possible depth and duration
combinations from depthV als durationV als and ran 100 matches (switching sides
after 50 matches) between each resulting ParaMCTS (depth, duration) and
MixedBot, a state-of-the-art agent combining various techniques [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. The
results of this experiment in the three maps are presented in Table 1.
          </p>
          <p>From the results of both experiments, we can see how overall ParaMCTS
performance seems to be particularly sensitive to the playout duration. In
Fig100
90
80
70
reo 5600
cS 40
30
20
10
0
ure 2-(2) performance vary signi cantly between the playout durations. In the
smallest maps, short playouts work best, but in larger maps, slightly longer
playouts work well up to a certain threshold. As for search depth, it is clear that in
the largest map a deeper search yields the most bene t, as seen in Figure 2-(1).
As for the small and medium maps, deeper search holds fewer bene ts.</p>
          <p>Against MixedBot (Table 1), the best results are obtained when the playout
duration equals 100 cycles, in all three map sizes, even if 150 cycles seem
promising for the 16 16 map. When looking at the search depth, going down 20 levels
in the tree is the optimal depth for 8 8 and 16 16 maps. In the 32 32 map,
searching as deep as 50 levels yield the best performance. Clearly, deeper search
yields the most performance increase than longer playouts. We believe this is
true because deeper search may be responsible for more accurate player-action
reward estimates, due to the increased number of visited nodes, and playouts,
towards the depth of the game tree. On the other hand, longer playouts yield a
lower number of visited nodes, and playouts, which could negatively impact
performance. Larger maps bene t the most from deeper search because the map's
dimensions contribute to the sparsity of rewards, and a deeper search can reach
rewarding states more frequently.
5.2</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>Experiment 3: Comparison Against State-of-the-Art</title>
          <p>
            To compare the overall performance of ParaMCTS against the current best
performing agents, we took three top ranking agents from 2019's RTS
competition: MixedBot, Izanagi, [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] and Droplet [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ], and performed a 100-iteration
round-robin tournament between them, ParaMCTS (with the optimal depth and
duration values found in previous experiments, in each map), NaveMCTS (as
a baseline) and a NaveMCTS variant, NMCTS*, using the same search depth
and playout duration as ParaMCTS. Results of the tournament are presented in
Table 2 and Figure 3.
          </p>
          <p>In terms of overall performance, ParaMCTS outperformed all state-of-the-art
agents by a comfortable margin. ParaMCTS was able to achieve an 11.9 points
margin over the 2nd best agent, Izanagi, and 19.1 points margin over the 4th
best, MixedBot. Both agents make use of a combination of advanced techniques.
This result is direct evidence of the potency of our action pre-selection approach
when coupled with NaveMCTS. In individual maps, ParaMCTS outperformed
the other agents in 8 8 and 32 32 maps, but it was outdone in the 16 16 map
by Droplet. This can be explained by the adoption of an opportunistic strategy
by Droplet in the 16 16 map. Although ParaMCTS can be easily con gured
to adopt such strategies, we chose not to do so to keep the comparison as fair as
possible. NMCTS* did not o er any tangible performance gain over NaveMCTS,
which indicates that increasing the search's depth will not yield any performance
gain if not paired with a signi cant decision-space reduction.
6</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions &amp; Future Work</title>
      <p>We have presented an integrated action and state abstraction process that
partitions units into multiple groups, and assigns heuristics to each group for the sake
of obtaining a downsized set of pre-selected unit-actions. The proposed process
receives a collection of parameters that de ne the partitioning and heuristics.
It is possible to alter the heuristics parameters in-game to adapt the agent's
strategy in a granular fashion. We have proposed a theoretical de nition and
demonstrated how it can be implemented through a full RTS agent in RTS.
Experimentation results show a signi cant improvement over state-of-the-art</p>
      <p>RTS agents. ParaMCTS will take part in the 4th RTS competition (to be
organized as part of IEEE CoG 2020), under the alias UMSBot.</p>
      <p>The proposed action pre-selection implementation, ParaMCTS, is a single
possibility among many. Using action pre-selection as a basis to develop more
sophisticated agents is conceivable. Although proposed as an approach to lower
the RTS decision space dimensionality, we believe this technique could be easily
adapted to any multi-unit real-time game. Moreover, we believe that this
technique can also provide di culty adjustment through parameter optimization.</p>
      <p>As for future works, we are interested in auto-adapting the heuristics and
their parameters on the y, using opponent modeling in di erent environments.
We are also looking into applying evolutionary algorithms to evolve and nd
optimal strategies. Automatically learning new heuristics and unit partitionings
in the context of action pre-selection is also an interesting direction.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cesa-Bianchi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fischer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Finite-time Analysis of the Multiarmed Bandit Problem</article-title>
          .
          <source>Machine Learning</source>
          <volume>47</volume>
          (
          <issue>2</issue>
          /3),
          <volume>235</volume>
          {
          <fpage>256</fpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Balla</surname>
            ,
            <given-names>R.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fern</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>UCT for Tactical Assault Planning in Real-Time Strategy Games</article-title>
          .
          <source>In: Proceedings of IJCAI'09</source>
          . pp.
          <volume>40</volume>
          {
          <issue>45</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Barriga</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanescu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Besoain</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Improving RTS Game AI by Supervised Policy Learning, Tactical Search, and Deep Reinforcement Learning</article-title>
          .
          <source>IEEE Comput. Intell. Mag</source>
          .
          <volume>14</volume>
          (
          <issue>3</issue>
          ),
          <volume>8</volume>
          {
          <fpage>18</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Barriga</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanescu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Puppet Search: Enhancing Scripted Behavior by Look-Ahead Search with Applications to Real-Time Strategy Games</article-title>
          .
          <source>In: AIIDE'15</source>
          . pp.
          <volume>9</volume>
          {
          <fpage>15</fpage>
          .
          <string-name>
            <surname>Santa</surname>
            <given-names>Cruz</given-names>
          </string-name>
          , California (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>
          ,
          <string-name>
            <surname>Rohlfshagen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tavener</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perez</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samothrakis</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Colton</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A Survey of Monte Carlo Tree Search Methods</article-title>
          .
          <source>IEEE Trans. Comput. Intell. AI in Games</source>
          <volume>4</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>49</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Justesen</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tillman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Togelius</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Risi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Script- and cluster-based UCT for StarCraft</article-title>
          . In: 2014 IEEE CIG. Dortmund,
          <string-name>
            <surname>Germany</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kocsis</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szepesvari</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Bandit Based Monte-Carlo Planning</article-title>
          .
          <source>In: Machine Learning: ECML 2006</source>
          . pp.
          <volume>282</volume>
          {
          <fpage>293</fpage>
          . Lecture Notes in Computer Science, Springer Berlin Heidelberg (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lelis</surname>
            ,
            <given-names>L.H.S.:</given-names>
          </string-name>
          <article-title>Strati ed Strategy Selection for Unit Control in Real-Time Strategy Games</article-title>
          .
          <source>In: Proceedings of IJCAI'17</source>
          . pp.
          <volume>3735</volume>
          {
          <fpage>3741</fpage>
          .
          <string-name>
            <surname>Melbourne</surname>
          </string-name>
          ,
          <string-name>
            <surname>Australia</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Marin~o,
          <string-name>
            <given-names>J.R.H.</given-names>
            ,
            <surname>Moraes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.O.</given-names>
            ,
            <surname>Toledo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Lelis</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.H.S.:</surname>
          </string-name>
          <article-title>Evolving Action Abstractions for Real-Time Planning in Extensive-Form Games</article-title>
          .
          <source>In: Proceedings of the Conference on Arti cial Intelligence (AAAI)</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Moraes</surname>
            ,
            <given-names>R.O.</given-names>
          </string-name>
          , Marin~o,
          <string-name>
            <given-names>J.R.H.</given-names>
            ,
            <surname>Lelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.H.S.</given-names>
            ,
            <surname>Nascimento</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.A.</surname>
          </string-name>
          :
          <article-title>Action Abstractions for Combinatorial Multi-Armed Bandit Tree Search</article-title>
          .
          <source>In: Proceedings of the 14th AIIDE. AAAI Publications</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Neufeld</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mostaghim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perez-Liebana</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>A Hybrid Planning and Execution Approach Through HTN and MCTS</article-title>
          .
          <source>In: The 3rd Workshop on Integrated Planning, Acting, and Execution - ICAPS'19</source>
          . pp.
          <volume>37</volume>
          {
          <issue>45</issue>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Ontan~on, S.:
          <article-title>The Combinatorial Multi-Armed Bandit Problem and Its Application to Real-Time Strategy Games</article-title>
          .
          <source>In: Proceedings of the 9th AIIDE</source>
          . pp.
          <volume>58</volume>
          {
          <fpage>64</fpage>
          . AAAI Publications (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Ontan~on, S.:
          <article-title>Informed Monte Carlo Tree Search for Real-Time Strategy games</article-title>
          .
          <source>In: 2016 IEEE CIG. Santorini</source>
          ,
          <string-name>
            <surname>Greece</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Ontan~on,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Synnaeve</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Uriarte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Richoux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Churchill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Preuss</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft</article-title>
          .
          <source>IEEE Trans. Comput. Intell. AI in Games</source>
          <volume>5</volume>
          (
          <issue>4</issue>
          ),
          <volume>293</volume>
          {
          <fpage>311</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ouessai</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salem</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mora</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          :
          <article-title>Online Adversarial Planning in RTS : A Survey</article-title>
          .
          <source>In: 2019 International Conference on Theoretical and Applicative Aspects of Computer Science (ICTAACS)</source>
          . Skikda,
          <string-name>
            <surname>Algeria</surname>
          </string-name>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ouessai</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salem</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mora</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          :
          <article-title>Improving the Performance of MCTS-Based RTS Agents Through Move Pruning</article-title>
          . In: IEEE CoG. Osaka,
          <string-name>
            <surname>Japan</surname>
          </string-name>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Russell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norvig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Arti cial Intelligence: A Modern Approach</article-title>
          . Prentice Hall, Upper Saddle River, New Jersey (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moraes</surname>
            ,
            <given-names>R.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lelis</surname>
            ,
            <given-names>L.H.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gal</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Strategy Generation for MultiUnit Real-Time Games via Voting</article-title>
          .
          <source>IEEE Transactions on Games</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          , Ontan~on, S.:
          <article-title>Guiding Monte Carlo Tree Search by Scripts in Real-Time Strategy Games</article-title>
          .
          <source>In: Proceedings of the AAAI Conference on Arti cial Intelligence and Interactive Digital Entertainment</source>
          . vol.
          <volume>15</volume>
          , pp.
          <volume>100</volume>
          {
          <issue>106</issue>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>