Ensemble Determinization in Monte Carlo Tree Magic: The Gathering

IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
1
Ensemble Determinization in Monte Carlo Tree
Search for the Imperfect Information Card Game
Magic: The Gathering
Peter I. Cowling, Member, IEEE, Colin D. Ward, Member, IEEE, and Edward J. Powley, Member, IEEE
Abstract—In this paper, we examine the use of Monte Carlo
Tree Search (MCTS) for a variant of one of the most popular and
profitable games in the world: the card game Magic: The Gathering (M:TG). The game tree for M:TG has a range of distinctive
features, which we discuss here, and has incomplete information
through the opponent’s hidden cards, and randomness through
card drawing from a shuffled deck. We investigate a wide range
of approaches that use determinization, where all hidden and
random information is assumed known to all players, alongside
Monte Carlo Tree Search. We consider a number of variations
to the rollout strategy using a range of levels of sophistication
and expert knowledge, and decaying reward to encourage play
urgency. We examine the effect of utilising various pruning
strategies in order to increase the information gained from each
determinization, alongside methods that increase the relevance of
random choices. Additionally we deconstruct the move generation
procedure into a binary yes/no decision tree and apply MCTS to
this finer grained decision process. We compare our modifications
to a basic MCTS approach for Magic: The Gathering using fixed
decks, and show that significant improvements in playing strength
can be obtained.
Index Terms—Monte Carlo Tree Search, Imperfect Information, Determinization, Parallelization, Card Games, Magic: The
Gathering
I. I NTRODUCTION
Monte Carlo Tree Search (MCTS) has, in recent years,
provided a breakthrough in creating AI agents for games [1].
It has shown remarkable success in Go [2], [3], [4] and is
being applied successfully to a wide variety of game environments [5], including Hex [6], Havannah [7], and General
Game Playing [8], [9]. One of the major strengths of MCTS
is that there is no requirement for a strong evaluation function
and it has therefore been especially useful for games where an
evaluation function is difficult to formulate, such as Go [10]
and Hex [6]. In 2000, Schaeffer [11] said “it will take
many decades of research and development before worldchampionship-caliber Go programs exist” and yet we have
recently seen MCTS based Go players begin to challenge the
Manuscript received August 13, 2011; revised February 20, 2012; revised
April 13, 2012.
P.I. Cowling, C.D. Ward and E.J. Powley are currently with
the Artificial Intelligence Research Centre, School of Computing,
Informatics and Media, University of Bradford, UK. From
September 2012 Peter Cowling and Edward Powley will be at the
University
of
York.
E-mail:
{peter.cowling@york.ac.uk,
c.d.ward@student.bradford.ac.uk,
e.powley@bradford.ac.uk}.
This work is supported by the UK Engineering and Physical Sciences
Research Council (EPSRC).
DOI:
best human players in the world [2]. The lack of a requirement
for any specific domain knowledge has also helped MCTS to
become very successful in the area of General Game Playing
where there is little advance knowledge of the structure of
the problem and therefore a very restricted scope in which to
develop an evaluation function [9].
Removing the need to have a sophisticated evaluation
function suggests the possibility of developing search-based
AI game agents for much more complex games than was
previously possible, and suggests an avenue for a new AI
approach in video games. The video games industry is a huge
and growing market: in 2009 the video game industry had sales
of over $10 billion in the US alone [12] and while the graphics
and visual appeal of games has progressed enormously in
recent years, to the extent of mapping recognisable faces and
emotional content [13], the AI being used is still largely
the non-adaptive scripting approach that has always been
used [14].
While MCTS has made great strides in producing strong
players for perfect information games, the situation for imperfect information games is less advanced and often the
use of MCTS is restricted to perfect information versions or
parts of the game. For example in Settlers of Catan [15] the
authors reduced the game to a perfect information variant
and then applied MCTS to this perfect information system
beating hand coded AI from an open source version of the
game convincingly with only 10000 simulations per turn and
a small amount of domain knowledge. Perfect information
variants of Spades and Hearts card games have also been
used to study convergence properties of UCT in a multiplayer
environment [16].
Card games typically have a wealth of hidden information
and provide an interesting challenge for AI. Chance actions
covering all possible cards that may be drawn from a deck
of cards yield a game tree with a chance node at the root
which explodes combinatorially, quickly generating branching
factors which may dwarf that of Go. We must also deal with
the effect of hidden information e.g. the particular cards in
an opponent’s unseen hand. However, card and board games
offer an important class of difficult decision problems for AI
research, having features in common with perfect information
games and video games, and a complexity somewhere between
the two.
MCTS has been applied to several card games with some
success. MCTS based players for Poker have started to challenge the best humans in heads-up play [17]. Advances have
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
also been made in multi-player poker and Skat [18] which
show promise towards challenging the best human players.
Determinization, where all hidden and random information
is assumed known by all players, allows recent advances in
MCTS to be applied to games with incomplete information
and randomness. The determinization approach is not perfect:
as discussed by Frank and Basin [19], it does not handle situations where different (indistinguishable) game states suggest
different optimal moves, nor situations where the opponent’s
influence makes certain game states more likely to occur than
others. In spite of these problems, determinization has been
applied successfully to several games. An MCTS-based AI
agent which uses determinization has been developed that
plays Klondike Solitaire [20], arguably one of the most popular
computer games in the world. For the variant of the game
considered, the performance of MCTS in this case exceeds
human performance by a substantial margin. A determinized
Monte Carlo approach to Bridge [21], which uses Monte
Carlo simulations with a tree of depth one has also yielded
strong play. The combination of MCTS and determinization
is discussed in more detail in Section V.
In this paper we investigate MCTS approaches for the card
game Magic: The Gathering (M:TG) [22]. M:TG is a strategic
card game for 2 players, which shares characteristics with
many other card games: hidden information in the opponent’s
hand and the stochastic nature of drawing cards from a shuffled
deck. Where M:TG differs from other card games is that it
does not use a standard deck of cards but rather cards that have
been created specifically for the game. Many cards change the
rules of the game in subtle ways and the interaction between
the rules changes on the cards gives rise to very rich game
play.
M:TG is played by over 12 million people worldwide and
in 2005 the manufacturer Hasbro reported that it was their
biggest selling game, outstripping Monopoly, Trivial Pursuit
and Cluedo [23]. The game has a number of professional players: in 2011 the professional tour paid out almost $1 million
dollars in prize money to the best players in the world. While
specific sales figures are unavailable, it is estimated that more
than $100 million is spent annually on the game [24].
M:TG is not only played with physical cards. In 2009 a
version of the game appeared on Xbox Live Arcade that
allowed players to play against a computer opponent. The
details are proprietary but the game appears to use a depthlimited decision tree with static evaluation of the game state
at leaf nodes [25]. The AI in the game has generally been
regarded as plausible for someone who is a beginner to the
game but is at a level that would not challenge an average
player [26].
M:TG possesses several characteristics that we believe make
it an interesting area for research into game AI:
1) M:TG does not use a standard deck of cards but instead
uses cards that are specifically designed for the game.
Players are free to construct their own deck using these
cards, a decision problem of enormous complexity. There
are currently over 9000 different cards that have been created for M:TG and more are added every year. This makes
it particularly difficult to predict what cards an opponent
2
may have in their deck and the consequent interactions
between cards. It also makes M:TG arguably an exercise
in general game playing and a step towards understanding
generalizable approaches to intelligent game play.
2) Players are not limited to playing a single card on their
turn. All cards have costs and, as the game progresses, the
resources and hence options available to a player increase.
A player may play any number of cards from their hand
on their turn providing they can pay all the associated
costs. This means that at each turn, a player can play a
subset of cards in hand, giving a high branching factor.
3) The interaction between the players is highly significant,
and there is substantial scope for opponent modelling and
inference as to the cards the opponent holds in his hand
and his deck. Inference is a critical skill in games between
human players.
4) The sequence of play is not linear, and the opponent can
“interrupt” the player’s turn, for example to cancel the
effect of playing a particular card. Hence M:TG is less
rigid than most turn-based games as each player may have
decision points during the opponent’s turn.
The structure of this paper is as follows. In Section II we
discuss Monte Carlo Tree Search; in Section III we describe
the game of Magic: The Gathering and the simplified variant
of the game that we have used in our trials; in Section IV we
describe the rules-based players we have devised as opponents
for our MCTS players; Section V surveys work on the use
of parallel determinization approaches to handle uncertainty
and incomplete information; our enhancements to MCTS for
M:TG which use parallel determinization are presented in
Section VI; Section VII presents experimental results and
analysis; and Section VIII draws conclusions and provides
suggestions for future work.
II. M ONTE C ARLO T REE S EARCH
Monte Carlo Tree Search extends ideas of bandit-based
planning [27] to search trees. In the k-armed bandit problem,
Auer et al [27] showed that it was possible to achieve bestpossible logarithmic regret by selecting the arm that maximised the Upper Confidence Bound (UCB):
s
2 ln n
x
¯j +
nj
where x
¯j is the average reward from arm j, nj is the number
of times arm j has been played so far, and n is the total number
of plays so far.
Around 2006-7, several teams of researchers were investigating the application of Monte Carlo approaches to trees:
Chaslot et al [28] developed the idea of Objective Monte Carlo
that automatically tuned the ratio between exploration and
exploitation based on the results of Monte Carlo simulations
at leaf nodes in a minimax tree. Coulom [29] described a
method of incrementally growing a tree based on the outcome
of simulations at leaf nodes and utilising the reward from the
simulated games to bias the tree growth down promising lines
of play. Kocsis and Szepesv´ari used the UCB formula recursively as the tree was searched [30]. The resulting algorithm
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
is known as UCT (UCB applied to Trees), and Kocsis and
Szepesv´ari showed that with only very limited conditions, it
would produce optimal play given a very large number of
simulations. The range of algorithms which use Monte Carlo
simulations as an approach to heuristically building a search
tree have become commonly known as Monte Carlo Tree
Search (MCTS).
MCTS algorithms are generally a 4 step process that is
repeated until some limit is reached, usually a limit on
elapsed time or number of simulations. In this paper we have
commonly used a total number of simulations as the limit in
our experiments.
The steps of the algorithm, illustrated in Figure 1, are:
1) Selection. The algorithm uses the UCB formula (or some
other approach) to select a child node of the position
currently being considered, repeating this process until a
leaf node is reached. Selection balances the exploitation
of known good nodes with the exploration of nodes whose
value is currently uncertain.
2) Expansion. One or more children is added to the leaf
node reached in the selection step.
3) Simulation (or Rollout). A simulation is carried out from
the new leaf node, using a random move generator or
other approach at each step, until a terminal game state
is reached.
4) Backpropagation. The reward received at the simulation
step is propagated back to all nodes in the tree that were
part of the selection process to update the values (e.g.
number of wins/visits) in those nodes.
The algorithm has two principal advantages over conventional tree search methods such as minimax with alpha-beta
pruning:
1) It is “anytime” [31]. The algorithm can be stopped at
any point to yield a result which makes use of all rollout
information so far. There is no need to reach a particular
stage during search, before a result is obtainable, as
there would be for minimax search, even with iterative
deepening [32].
2) An evaluation function is not required for non-terminal
game states, as simulation always reaches a terminal
state. The reward for a given game state is obtained by
aggregating win/lose simulation results from that state.
MCTS may utilise randomly selected moves when conducting simulations and therefore has no need of any specific
domain knowledge, other than the moves available from each
game state and the values of terminal game positions. In
practice however the performance of the algorithm can usually
be improved by including some domain specific considerations
in the simulation and selection phases [3].
III. M AGIC : T HE G ATHERING
A. Game rules
In the game of Magic: The Gathering each player takes
on the role of a wizard contesting a duel with their opponent.
Each player’s hand of cards represents the spells and resources
that the wizard has available and the players play cards from
3
their hand in order to either generate resources or play spells
with which to beat their opponent.
Each player has a life total and the player whose life
total is reduced to zero first loses the game. The game
consists of multiple varieties of cards and multiple types of
resource, consequently the possible interactions between the
available cards can become extremely complex. Much of the
appeal of M:TG arises through understanding and tactically
exploiting the interactions between the player’s cards, and
between player’s and opponent’s cards.
The full game is very complex and difficult to model easily
so we have chosen to retain the basic structure and turn
order mechanics of the game but to focus on creature combat,
which is the most important form of interaction between Magic
cards for the majority of decks (and for essentially all decks
played by beginning human players). By restricting the test
environment to only land (resource) cards and creature (spell)
cards we simplify encoding of the rules (which represents a
significant software engineering problem in practice [33]). In
our test version of the game the players have a deck of cards
containing only creatures and land resource cards of a single
colour.
Each creature card has power and toughness values denoting how good the creature is at dealing and taking damage,
respectively, and a resource (or mana) cost. In general, more
powerful creatures have a higher resource cost. Below we will
refer to a creature with power P , toughness T and cost C
as P/T (C) , and omit C when it is not significant to our
discussion. Each turn a player may put at most one land
resource card into play from their hand, referred to below
as L.
Over the course of the game, each player will accumulate
land cards in play. On any given turn the player may expend
resources equal to the total amount of land they have in play in
order to meet the costs of creature cards from their hand. This
allows them to play creature cards from their hand to the in
play zone which are then available to attack and defend. These
spent resources refresh at the beginning of the player’s next
turn. In this way, as the player controls increasing amounts of
land, they can afford more expensive creatures.
Creatures may be available to defend against the opponent’s
attack although they are not required to do so. Creatures
that have attacked on a defending player’s previous turn are
considered tapped and therefore are not available for defence.
Once attacking creatures are declared, the defending player
allocates each untapped defending creature (a blocker) to at
most one attacker. Each attacking creature may have none,
one or more blockers assigned to it. Blocking creatures die,
and are consequently removed from play, to the graveyard, if
the attacking creature allocates damage to a blocker greater
than or equal to its toughness. The attacking creature dies
if the corresponding blockers’ total power provides damage
greater than or equal to the attacking creature’s toughness.
In the case of an attacking creature having multiple blockers
then the player controlling the attacking creature decides how
to split each attacker’s damage among its blockers. Creatures
that are not blocked cause damage to the opponent’s life total
and a player loses the game if their life total is zero or less.
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Selection
Fig. 1.
Expansion
Simulation
4
Backpropagation
The four steps of an MCTS algorithm.
See Figure 2.
B. Structure of a game turn
The players take turns. On any given turn, one player is
‘active’ and the other is ‘non-active’ and can merely respond
to the actions of the active player. The sequence of events
during a typical turn is:
1) The active player draws a card from their deck and adds
it to their hand. If they are unable to do so (because their
deck has no remaining cards) then they immediately lose
the game.
2) The active player selects a subset of his creatures in play
to be attackers.
3) The non-active player assigns each untapped creature he
has in play to block at most one attacker.
4) Combat is resolved and any creatures taking sufficient
damage are removed from play. Any unblocked attackers
do damage to the non- active players life total. If the nonactive player’s life total falls to zero, then that player loses
the game.
5) The active player may play cards from his hand. One
land card may be played each turn and the accumulated
land in play can be used to pay for cards to be played
from his hand provided the total cost of creatures played
is less than the total number of land cards in play.
6) The active and non-active players then switch roles and
a new turn begins.
IV. A RULE - BASED APPROACH TO M AGIC : T HE
G ATHERING
Two rule-based players were created of differing play
strength, as well as a purely random player, in order to provide
test opponents and rollout strategies for our MCTS players.
The first rule-based player had the best heuristics we were
able to devise in all areas of the game, and was created using
substantial human expertise. The second rule-based player had
a significantly reduced set of heuristics and included elements
of randomness in its decisions.
Fig. 2.
Representation of the play area during a game of M:TG.
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
From the structure of the game turn, we can see that there
are three main decisions that a player needs to make. The
active player must decide which (if any) creatures will attack,
and then which cards to play after the attack is resolved.
The non-active player must decide how to block the attacking
creatures.
Attacking and blocking decisions in M:TG are far from
trivial. Multiple creatures may be selected to attack and each of
those attacking creatures may be blocked by any subset of the
defenders creatures (subject to the constraint that a defending
creature can only block one attacking creature). There are also
considerations that creatures selected to attack are unavailable
for defensive duty on the next turn so the attacking player has
to avoid leaving himself open to a lethal counter attack. We
were fortunate to be able to call on the experience of a strong
M:TG player in order to aid us in formulating some attacking
and blocking heuristics.
A. ‘Expert’ rule-based player
Here we present the detailed description of the heuristics
utilised by the expert rule-based player. There are separate
heuristics for attacking, blocking and playing cards from the
hand.
The C HOOSE ATTACKERS function (Algorithm 1) decides
which creatures from those available to the player will be
selected to attack the opponent this turn. The basic approach
taken is to consider each creature that could attack this turn
and determine whether there is a reason that it should ‘not’
attack. If no such reason is found then the creature is declared
as an attacker.
Lines 14–18 of C HOOSE ATTACKERS (Algorithm 1) define
special cases. If there are no potential attackers, then there will
be no attackers (line 14). If there are no potential blockers,
or the number of blockers is too small to prevent lethal
damage (lines 15 and 16 respectively), then we attack with
all potential attackers. amax defines the maximum number of
attackers to leave sufficient blockers on the next turn to prevent
lethal damage. If amax is zero then we will have no attackers
(line 17), and if amax is less than zero we will lose next turn
anyway, so we attack with all possible creatures to maximise
the chance that the opponent might make a mistake in blocking
(line 18). In the main case we then go through possible
creatures by descending power (breaking ties by descending
cost) and choose to attack with a creature if there is no set of
blockers that can block and kill it without any blocker being
killed (line 24); no blocking combination that kills the attacker
and results in only a single blocker of lower mana cost than
the attacker being killed (line 25); and the attacker cannot be
held back to block and kill an opposing creature of higher
mana cost next turn (line 26).
The C HOOSE B LOCKERS function (Algorithm 2) is constructed by considering possible ways to block each attacking
creature in descending order of attractiveness to the defending
player. Ideally the attacking creature should be killed with
no loss to the defender but if this is not possible then lesser
outcomes are examined until ultimately, if the defending player
must block because otherwise he will lose and no better
5
outcome can be discovered, it will ‘chump’ block with its
weakest creature. This creature will certainly die but it will
prevent damage reaching the player.
Lines 14–16 of C HOOSE B LOCKERS (Algorithm 2) define
special cases. If there are no attackers or no creatures available
to block then no blockers need to be declared (lines 14 and 15).
bmin defines the minimum number of attacking creatures that
need to be blocked in order for the defending player to survive
the attack. If this is higher than the number of potential
blockers then game loss is certain and there is no point
looking for blocks (line 16). In the main case, we look at
each attacking creature in descending order of power (break
ties by descending mana cost) and evaluate the best blocking
option. These options are evaluated in a descending order of
favourability for the defending player so that once an option
is found whose conditions are met, we greedily assign that
set of blockers and move on to the next attacking creature.
Firstly we see if there is any set of blockers that would kill
the attacker without any of the blockers dying. If such a set
exists, we select the one that has the minimum total mana cost
(line 24). Then we see if there is a single creature that would
kill the attacker and has a lower mana cost than the attacker
(line 26), our blocking creature would die but we would lose a
less valuable creature than the attacking player. We then look
for a pair of blockers that together can kill the attacker while
only losing one of their number with a smaller mana cost than
the attacker (for example a 4/4(5) attacker blocked by a 2/2(2)
and a 2/3(3) ) and the pair which leads to the lowest mana cost
blocker being killed is chosen (line 28).
So far we have only considered blocks that are advantageous
to the defending player, we then look at the neutral case where
we block with a creature that will not die to the attacker but
will not kill the attacker (line 30). Finally we check whether
we need to look at disadvantageous blocks. If i > k − bmin
then we must block this attacker or the player will die. First
we find the lowest mana cost group that kills the attacker
(line 32), or if no such group exists, we assign the lowest cost
blocker still available to ‘chump’ block (line 33) so avoiding
lethal damage to the player.
The rules for selecting cards to play are much simpler than
the attacking and blocking rules. In C HOOSE M AIN (Algorithm 3). We use a greedy approach that plays land if possible
(line 11) and plays out the most expensive affordable creature
in the players hand greedily (line 19) until the player cannot
afford any more creatures
B. ‘Reduced’ rule-based player
The reduced rules player utilises much simpler heuristics
for its decisions and includes randomness in the decision
making process. This approach is significantly weaker than the
player given above but gives the possibility of choosing any
attacking/blocking move, and any non-dominated move in the
main phase. Our intuition suggests that this may be effective
in constructing the MCTS tree and in conducting rollouts.
• C HOOSE ATTACKERS : For each creature that is able to
attack, the player decides with probability p whether or
not to attack with that creature. For our tests p = 0.5,
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
6
Algorithm 1 Attacker choice for the expert rule-based player (Section IV-A).
1: function C HOOSE ATTACKERS (PA , PB , lA , lB , mA )
2:
parameters
3:
PA = (potential attackers) = pn /tn (αn ) , pn−1 /tn−1 (αn−1 ) , . . . , p1 /t1 (α1 )
where pn ≥ pn−1 ≥ · · · ≥ p1 and pi = pi−1 =⇒ αi ≥ αi−1 (i = 2, 3, . . . , n)
4:
PB = (potential blockers) = qm /sm (βm ) , qm−1 /sm−1 (βm−1 ) , . . . , q1 /s1 (β1 )
where qm ≥ qm−1 ≥ · · · ≥ q1
5:
lA , lB = life total for attacking and blocking player, respectively
6:
mA = maximum number of creatures attacking player has enough land to play from his hand this turn
7:
d = |PA | − |PB |
8:
amax = |PA | + ma − min {i : qi + qi−1 + · · · + q1 ≥ lA }
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
•
•
decision variables
A = {chosen attackers} ⊆ PA
// Special cases
if PA = ∅ then return A = ∅
else if PB = ∅ then return A = PA
else if d > 0 and pd + pd−1 + · · · + p1 ≥ lB then return A = PA
else if amax = 0 then return A = ∅
else if amax < 0 then return A = PA
end if
// Main case
i ← n; A ← ∅
do
P
if there is no M ⊆ PB with sj > pi (for all qj /sj (βj ) ∈ M) and k∈M qk ≥ ti
and there is no pair M 0 ⊆ PB , qb /sb (βb ) ∈ (PB \ M 0 )
P
with βb < αi and sj > pi (for all qj /sj (βj ) ∈ M 0 ) and qb + k∈M 0 qk ≥ ti
and there is no qb /sb (βb ) ∈ PB with pi > sb and αi < βb
then
A ← A ∪ pi /ti (αi )
end if
i←i−1
while |A| < amax and i > 0
return A
end function
so that the player chooses uniformly at random from
possible subsets of attackers.
C HOOSE B LOCKERS: For each available creature that can
block the player decides uniformly at random among
all the available attacking creatures plus the decision
not to block anything and assigns the blocking creature
accordingly.
C HOOSE M AIN: This player uses the same approach to
C HOOSE M AIN as the ‘expert’ rules player, but with the
modification that it uses an ordering of creatures in hand
chosen uniformly at random from all orderings. Hence
any non-dominated play can be generated. Here nondominated means that after the main phase cards are
played, there remain no more playable cards in the active
player’s hand.
We ran a direct comparison between our two rules based
players in order to gauge their relative strength. We ran
an experiment of 1000 randomly generated test games 10
times (playing 10000 games in total) in order to generate
confidence interval information. The expert rules player proved
to be much stronger, winning 63.7% of games with a 95%
confidence interval of ±0.94%.
C. Performance against human opponents
We also tested the ability of the Expert Rules player against
a number of human opponents. A total of 114 games were
played against 7 human players. Six of the human players rated
themselves as strong - winning at local events and competitive within the regional/national scene, one player considered
himself as a little less strong, rating himself competitive at
local events. All the human players played between 10 and 25
games against the expert rules player.
Overall the expert rules player won 48 of the 114 games
played for a win rate of 42.1%. The expert rules player
performed slightly better when playing first in a game and
won 27 out of 58 games for a win rate of 46.6%. The expert
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Algorithm 2 Blocker choice for the expert rule-based player (Section IV-A).
1: function C HOOSE B LOCKERS (A, PB , lB )
2:
parameters
3:
A = (chosen attackers) = pk /tk (αk ) , pk−1 /tk−1 (αk−1 ) , . . . , p1 /t1 (α1 )
where pk ≥ pk−1 ≥ · · · ≥ p1 and pi = pi−1 =⇒ αi ≥ αi−1 (i = 2, 3, . .. , k)
4:
PB = (potential blockers) = qm /sm (βm ) , qm−1 /sm−1 (βm−1 ) , . . . , q1 /s1 (β1 )
where qm ≥ qm−1 ≥ · · · ≥ q1
5:
lB = life total for blocking player
(
min {i : pi + pi−1 + · · · + p1 ≥ lB } if pk + pk−1 + · · · + p1 ≥ lB
6:
bmin = minimum number of blockers =
0
otherwise
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
decision variables
B(i) = blockers chosen for attacker pi /ti (αi ) ⊆ PB
B = (all blocks) = B(1) , B(2) , S
. . . , B(k)
B = {all blocking creatures} = i B(i) (note B(i) ∩ B(j) = ∅ for i 6= j)
// Special cases
if A = ∅ then return B = ()
else if PB = ∅ then return B = (∅, ∅, . . . , ∅)
else if bmin > |PB | then return B = (∅, ∅, . . . , ∅)
end if
// Main case
i←k
do
P =P
B \ B



X
Q = Q ⊆ P : sj > pi for all q/s(β) ∈ Q and
q ≥ ti


q/s(β) ∈Q
X
β; goto line 34
if Q 6= ∅ then choose B(i) ∈ arg min
Q∈Q
25:
26:
27:
28:
29:
30:
31:
32:
(β)
q/s ∈Q
Q 0 = q/s(β) ∈ P : q ≥ ti and β < αi
if Q 0 6= ∅ then choose B(i) ∈ arg min β; goto line 34
(β)
0
q/s 2∈Q
00
(βx )
(βy )
Q = { qx /sx
, qy /sy
∈P
: x 6= y, βx ≤ βy , qx + qy ≥ ti , sx + sy > pi and βj ≤ αi if sj ≤ pi for j ∈ {x, y}}
if Q 00 6= ∅ then choose B(i) ∈
arg min
β; goto line 34
0
(q/s(β) ,q 0 /s0 (β ) )∈Q00
Q 000 = q/s(β) ∈ P : s > pi
if Q 000 6= ∅ then choose B(i) ∈ arg min β; goto line 34
000
q/s(β) ∈Q
n
o
P
0000
Q = Q⊆P :
q/s(β) ∈Q q ≥ ti
X
0000
if i > k − bmin and Q 6= ∅ then choose B(i) ∈ arg min
β
Q∈Q0000
33:
else if i > k − bmin then choose B(i) ∈ arg min β
q/s(β) ∈P
34:
35:
36:
37:
38:
PB ← PB \ B(i)
i←i−1
while PB 6= ∅ and i > 0
return B = B(1) , B(2) , . . . , B(k)
end function
q/s(β) ∈Q
7
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Algorithm 3 Card choice for the expert rule-based player
(Section IV-A).
1: function C HOOSE M AIN (LA , CA , m)
2:
parameters
3:
LA = {land cards in active player’s hand}
= {L, L, . . . , L}
4:
CA = (creature cards in active player’s hand)
= pn /tn (αn ) , pn−1 /tn−1 (αn−1 ) , . . . , p1 /t1 (α1 )
where αn ≥ αn−1 ≥ · · · ≥ α1
5:
m = total mana available to active player
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
decision variables
PA = {cards to play this turn} ⊆ LA ∪ CA
// Play land
if LA 6= ∅ then
PA ← PA ∪ {L}
m←m+1
end if
// Play creatures
i←n
do
if αi ≤ m then PA ← PA ∪ pi /ti (αi )
m ← m − αi
end if
i←i−1
while m > 0 and i > 0
return PA
end function
rules player performed more poorly when acting second,
only winning 21 out of 56 games for a win rate of 37.5%.
Comments by the human players suggested that they thought
the expert rules player made good decisions generally, but was
a little too cautious in its play so that they were able to win
some games they believed they should have lost because the
expert rules player did not act as aggressively as it might have
done in some situations where it had an advantage.
V. MCTS TREES WITH DETERMINIZATION
MCTS has been applied to a range of games and puzzles and often provides good performance in cases where
tree depth/width and difficulty of determining an evaluation
function for nonterminal states make depth-limited minimax
search ineffective. Modifications are often used to improve
basic MCTS, for example by ignoring move ordering and
using Rapid Action Value Estimate (RAVE) values [34] to seed
values at previously unexplored nodes which share similarities
with already-explored nodes, improved rollout strategies [35]
or by using heuristic approaches to limit the number of
children for each node [36].
Recent advances in probabilistic planning have presented
the idea of determinization as a way to solve probabilistic
problems [37]. Essentially, each stochastic state transition is
determinized (i.e. fixed in advance), and then generates a plan
8
based on the resulting deterministic problem. If the planner
arrives at an unexpected state while testing its plan then it replans using the unexpected state as a starting point and a new
set of determinised stochastic state transitions. This approach
was extended and generalised by the technique of hindsight
optimisation [38] which selects among a set of determinised
problems by solving determinizations of the future states of
a probabilistic problem, resulting after an AI agent’s decision
state.
MCTS is also making progress in dealing with large Partially Observable Markov Decision Problems (POMDPs). Silver and Veness [39] applied MCTS to POMDPs and developed
a new algorithm, Partially Observable Monte-Carlo Planning
(POMCP), which allowed them to deal with problems several
orders of magnitude larger than was previously possible. They
noted that by using MCTS they had a tool which was better
able to deal with two issues that affect classic full width
planning algorithms such as value iteration [40]. The curse
of dimensionality [41] arises because in a problem with n
states, value iteration reasons about an n-dimensional belief
state. MCTS samples the state transitions instead of having
to consider them all and so is able to deal with larger state
spaces. The curse of history [41], that the number of histories
is exponential in the depth, is also dealt with by sampling the
histories, and heuristically choosing promising actions using
the UCB formula, allowing for a much larger depth to be
considered.
Using determinization as a way of dealing with uncertainty
is not new. One of the approaches used in the Bridge program
GIB [21] for playing out the trick taking portion of the game
was to select a fixed deal, consistent with bidding and play so
far, and find the play resulting in the best expected outcome in
the resulting perfect information system. GIB utilised partition
search [42] to greatly speed up a minimax/alpha-beta search
of each determinized deal, allowing 50 simulations per play
on 1990s computer hardware, and ultimately yielding play
approaching the standard of human experts. It is interesting
to note for GIB that using a relatively small number of
determinizations is effective if they are carefully chosen.
Frank and Basin [19] provided a critique of the determinization approach, showing that it is prone to two specific
problems that limit the effectiveness of the search. Strategy
fusion is the problem that different actions are indicated when
using determinization from states of the imperfect information
game (actually information sets) which are indistinguishable
to the player. Non-locality occurs since the values of nodes
in an imperfect information tree are affected by decisions
higher up the tree, where opponents are able to steer the game
towards certain states and away from other (indistinguishable)
states; this does not happen for perfect information games,
nor for determinizations. In their work on Klondike Solitaire,
Bjarnason et al [20] highlighted this issue, providing an
example whereby the search would equally favour two moves,
where one required foreknowledge of hidden information and
another did not. Russell and Norvig called this kind of over
optimism “averaging over clairvoyance” [43], and note that
determinization is incapable of considering issues of information gathering and information hiding. Despite this, Perfect
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Information Monte Carlo search (PIMC) has generated strong
players in a number of game domains including Bridge [21]
and Skat [18].
A recent study [44] has investigated why PIMC search
gives strong results despite its theoretical limitations. By
examining the particular qualities of imperfect information
games and creating artificial test environments that highlighted
these qualities, Long et al [44] were able to show that
the potential effectiveness of a PIMC approach was highly
dependent on the presence or absence of certain features in
the game. They identified three features, leaf correlation, bias,
and disambiguation. Leaf correlation measures the probability
that all sibling terminal nodes in a tree having the same payoff
value; bias measures the probability that the game will favour
one of the players and disambiguation refers to how quickly
hidden information is revealed in the course of the game.
The study found that PIMC performs poorly in games where
the leaf correlation is low, although it is arguable that most
sample-based approaches will fail in this case. PIMC also
performed poorly when disambiguation was either very high
or very low. The effect of bias was small in the examples
considered and largely dependent on the leaf correlation value.
This correlates well with the observed performance in actual
games with PIMC performing well in trick taking games such
as Bridge [21] and Skat [18] where information is revealed
progressively as each trick is played so that the disambiguation
factor has a moderate value. The low likelihood of the outcome
of the game hinging on the last trick also means that leaf
correlation is fairly high.
In contrast, poker has a disambiguation factor of 0 as the
hidden information (the player’s hole cards) is not revealed
until the end of the hand. This indicates that PIMC would
not perform well at the game. Indeed, recent research in
poker has been moving in a different direction using the
technique of counterfactual regret minimisation (CFR) [45].
This is a method of computing a strategy profile from the
game tree of an extensive form game. It has been shown that
for an extensive form game it can be used to determine Nash
equilibrium strategies. CFR, and its Monte Carlo sampling
based variant MCCFR [46], is much more efficient than
previous methods of solving extensive game trees such as
linear programming [47] and has increased the size of game
tree that can be analysed by two orders of magnitude [45],
[46]. By collecting poker hands into a manageable number of
“buckets” MCCFR can be used to produce strong players for
heads up Texas Hold’Em poker [48].
M:TG is a good candidate for investigation by PIMC
methods. Leaf correlation in the game is high as it is rare
that games are won or lost on the basis of one move at the
end of the game, it is more usual for one player to develop the
upper hand and apply sufficient continuous pressure on their
opponent to win the game. The progressive nature of having
an initial hand, unseen by the opponent, and drawing cards
from an unknown deck and playing them out into a visible
play area also leads to disambiguation factor that grows slowly
throughout the course of the game.
Determinization and MCTS have also been considered
for probabilistic planning problems with only one “player”.
9
Bjarnason et al [20] examined the use of UCT in combination
with hindsight optimisation. They compared using UCT as a
method for building determinised problem sets for a Hindsight
Optimisation planner and showed that it provided state of the
art performance in probabilistic planning domains.
Generating multiple MCTS trees simultaneously in parallel
for the same position has also been examined, usually for performance and speed reasons [49], [50]. The idea of searching
several independent trees for the same position and combining
the results is known as ensemble UCT [51], or root parallelization in an implementation with concurrency [49], [50], and has
been shown in some situations to outperform single-tree UCT
given the same total number of simulations [50].
VI. MCTS ALGORITHM DESIGN FOR M:TG
In this paper we combine the methods of ensemble UCT and
determinization. We build multiple MCTS trees from the same
root node and for each tree we determinize chance actions
(card draws). Each tree then investigates a possible future
from the state space of all possible futures (and the tree of
information sets). The determinization of card draws is made
as we build the MCTS tree, as late as possible. The first time
we reach a state s where we would be required to create
chance nodes for a card draw we sample one card draw at
random as a specific action a which takes us to the new state
s0 , thereafter whenever we visit state s in the MCTS tree we
immediately transition to s0 without any further sampling; this
“lazy determinization” approach is also taken by the HOPUCT algorithm of Bjarnason et al [20]. As the MCTS tree
grows we effectively fix in place an ordering for the cards in
each player’s deck.
If our tree considers all possible outcomes for each chance
node in M:TG, we may consider this as a single chance node
at the top of the tree with enormous branching factor, or we
may branch for each potential card drawn at each chance
node. There are 60 cards in a typical M:TG deck, and one
deck for each player, providing an upper bound of (60!)2 on
the number of deals. Since repeat copies of individual cards
are allowed (and expected) there will often only be about 15
different cards, and in many games only around 20 cards will
be drawn from each deck, but this still yields a combinatorial
explosion of possible deals. There are typically 5-6 moves
available at a decision node, so this gives a branching factor
of approximately 75-90 at 1 ply, around 7000-8000 at 2 ply
and approaching a million at 3 ply. The number of simulations
that would be required to generate a MCTS tree capable
of collecting meaningful statistics about state values, for all
possible states, quickly becomes intractable with increasing
depth.
A. Relevance of individual MCTS trees
When creating a determinized ordering of cards, as well as
being consistent with the game play so far, it seems sensible
to try to avoid bias which would make the game an easy win
for one of the players. M:TG is particularly prone to this, and
indeed this is one of the reasons we believe M:TG provides
an interesting case study for MCTS research.
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
We formulate the idea of an ‘interesting’ card ordering: one
in which the decisions of the player have an impact on the way
the game progressed. We define an ordering as ‘interesting’
if the play ‘no move’ (effectively passing the turn) gives a
different result to playing the move suggested by the expert
rule-based player, over a number of game rollouts.
It is not necessarily straight forward to find an ‘interesting’
ordering for a given game state and, indeed, there may not be
any ordering of cards that would qualify for our definition of
‘interesting’ if the game state is already heavily biased towards
one of the players.
We test whether a card ordering is interesting by generating
a random order of cards and carrying out two rollouts from
the current game state using that ordering: one with the player
making no move and one with the player making the move
the expert rules player would have chosen. If the outcome of
the game is different between these two rollouts then the card
ordering is classified as ‘interesting’. We test a small number
of random rollouts for each candidate card ordering, and if any
one of them yields an ‘interesting’ result then we accept that
card order as interesting. These tests do, of course, consume
CPU time and there is a limit to how much time can be sensibly spent searching for an interesting ordering. Ultimately,
if we consistently fail to find an interesting ordering then we
must accept that there might not be one to find, at least not
within a reasonable time scale. If an interesting ordering is not
found then we use an arbitrarily chosen randomly generated
ordering.
An interesting card ordering could be applied to the game
at several levels. Preliminary experiments considered using
a fraction of the overall simulation budget to (i) find an
interesting ordering for the simulations from each leaf node
during MCTS; and (ii) find an interesting ordering for the
whole deck at the root node only. These were found to give
similar, modest improvements in playing strength, but we take
option (ii) forward since option (i) significantly slows down
the search time, by a factor of up to 2, whereas no slowdown
is evident for (ii).
Further preliminary experiments were conducted to investigate the budget of overall simulations used to find interesting
deck orderings. For the whole tree at the root node the
maximum number of simulations used to find an interesting
ordering was varied from 0% to 5%, with good results
generally found around the 5% level. This is a maximum and
an interesting ordering was usually found in a small fraction
of this number of simulations.
A further preliminary investigation looked at whether it was
better to use the fixed interesting ordering during simulation
rollouts or to revert to the standard random rollouts. These two
options were comparable, and random rollouts were chosen in
later experiments.
B. Structure of the MCTS tree
We investigate two families of methods for increasing the
effectiveness of search in each determinized MCTS tree.
1) Dominated move pruning: In building any search tree,
limiting the nodes that are added to the tree in order to reduce
10
Fig. 3. Potential moves from a position where the player holds cards A, B
and C, with mana costs 4, 3 and 2 respectively, and has 5 mana available.
the scope of the search has often been seen to provide increases
in playing strength [52], [36], [35]. In this respect, MCTS is
no different from any other tree searching method. How moves
are pruned is generally domain dependent. We examined two
levels of pruning for our restricted version of M:TG, based on
incorporating limited heuristic knowledge. The first level of
pruning was based around the fact that it is necessary to play
land cards before any other cards can be played and that there
is little strategic benefit to not playing land when you are able
to do so. Non-land pruning prunes any move that does not
contain a land card when the player has land in their hand,
ensuring that only moves that add more land into the game
are considered.
The second, higher, level of pruning makes use of the fact
that moves in M:TG are frequently comprised of multiple
cards and that the player chooses a subset of the cards in their
hand when they decide on a move. This level of pruning, which
we called dominated move pruning, removes any move that is
a proper subset of another legal move, so that a maximal set
of cards is played.
In summary, the following move pruning strategies were
investigated:
1) No move pruning. At this level we consider all possible
moves available to each player.
2) Non-land pruning. At this level we prune any move that
does not contain a land card if the same move with a land
card is available.
3) Dominated move pruning. At this level we prune any
move that plays a subset of the cards of another available
move.
2) Binary decisions: M:TG is unusual among card games
in that the moves available on a given turn in the game
are a subset of all possible combinations of cards in the
player’s hand rather than being a single action or a single
card. Moreover, the played card group remains active in play
rather than being a passive group such as in a melding game
such as continental rummy [53].
Consider that a player has 3 non-land cards in hand and 5
land in play. We always suppose here that if land is held, it will
be played. Suppose that the cards are A, B and C, with mana
costs of 4, 3 and 2 respectively. The player has 5 available
moves, as shown in Figure 3.
Here we investigate the case where each node has at most 2
children, representing the decision to play a card or not. This
is illustrated in Figure 4. With a fixed number of simulations
per tree this will substantially increase the depth of the tree,
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
11
a highly structured and completely deterministic rollout and
the reduced player provides a stochastic approach with some
heuristic guidance. We also (briefly) investigated an approach
which chose uniformly at random among possible moves
during rollouts.
D. Discounted reward
Fig. 4.
Binary decision tree of moves corresponding to Figure 3.
compared to a non-binary tree which looks the same distance
into the future. However, it should allow statistics for good
partial decisions (i.e. on whether or not to play a card) to
accumulate independently of other cards played. Hence we
are able to investigate MCTS decision making on a tree which
allows compound moves to be decomposed so that parts of a
move can be reinforced separately. This idea, of decomposing
a single decision into a sequence of smaller ones as successive
levels in the MCTS tree, is similar to the move grouping
approach of Childs et al [54].
We imagine this will also be useful in other applications
where MCTS is used to choose a subset, for example we might
use this in M:TG to select attackers and/or blockers. In this
paper we investigate only the impact upon the decision of
which cards to play.
When using this approach it is desirable that “important”
decisions are higher in the binary tree, although it is often
difficult to determine a priori a sensible importance ordering.
Extensive preliminary experiments showed promise for this
approach, but did not show any significant difference between
using ascending/descending/random orderings based on mana
cost. We use descending mana cost in the experiments in
section VII-D, based on the intuition that it will often be
stronger to play large creatures first.
C. Simulation strategies
While MCTS can use approaches to simulation which
select randomly among all possible moves, work on MCTS
approaches to computer Go suggested that using heuristics to
guide the simulations provided stronger play [31], but also
that a stronger playing strength used for rollouts does not
necessarily yield higher playing strength when used in an
MCTS framework [34], probably due in large part to the bias
that this may introduce.
In our simulation rollouts, we investigate rollouts based on
both of our rule-based players. The expert player provides
A player based on MCTS or another forward-looking tree
search approach will often make weak moves when in a strong
winning (or losing) position. The requirement for the search
to be kept under pressure has been observed repeatedly [55].
In order to create a sense of urgency within the player we use
an idea from many game tree search implementations (e.g.
Kocsis and Szepesv´ari [30]) and discount the reward value
that is propagated back up the tree from the terminal state
of a simulation. If the base reward is γ and it takes t turns
(counting turns for both players) to reach a terminal state from
the current root state then the actual reward propagated back
through the tree is γλt for some discount parameter λ with
0 < λ ≤ 1. Here we choose λ = 0.99 which yields discount
factors between 0.7 and 0.5 for a typical Magic game of 40
to 60 turns.
We also compare the effects of assigning a loss a reward
of 0 or −1 (a win having a reward of +1 in both cases). The
value of −1, in combination with discounted rewards, aims to
incentivise the player to put off losses for as long as possible.
This can be beneficial, as extending the length of the game
increases the chance of obtaining a lucky card draw.
VII. E XPERIMENTS
Our empirical investigation compares MCTS players for
M:TG using the approaches explained in Section VI (using
parameters from Table I). In Section VII-A we present a simple
experiment to show that a na¨ıve implementation of UCT does
not yield strong play. In Section VII-B we explore the effect of
varying the number of determinizations for a fixed simulation
budget, and show that with 10,000 simulations, around 40
determinizations, each with 250 simulations, provides good
play (a similar result was found for the card game Dou
Di Zhu in [56]). In Section VII-C we compare the relative
performance of the approaches in Table I. In Section VII-D
we evaluate the effectiveness of combinations of approaches.
The baseline conditions reported in Table I are as a result of
extensive preliminary experiments (some of which are reported
in Section VII-B).
The cards that comprise the deck used by the players
are fixed in advance and both players utilise the same deck
composition. We created a selection of M:TG style creature
and land cards for the decks. The decks contain 40 cards with
17 land cards and 23 creature cards. These proportions are the
same as ones generally used by competitive M:TG players
in tournaments as they represent the perceived wisdom of
providing the best probability to draw a useful mix of land and
spells throughout the game. The 23 creatures in the deck were
spread among a range of combinations of power, toughness
and cost from 1/1(1) to 6/6(7) .
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Short
name
Description
12
Trees
Simulations
per tree
UCT
constant
Win/loss
reward
Reward
discount
Move
pruning
Simulation
strategy
Tree
structure
AP
All Possible Deals /
Uniform Random Rollouts
40
250
1.5
1/0
1
None
Uniform Random
All Possible Deals
BA
Baseline
40
250
1.5
1/0
0.99
Land
Reduced Rules
Unlimited Degree
IL
Interesting Simulations
(Leaf. 1% of sim budget)
40
250
1.5
1/0
0.99
Land
Reduced Rules /
Interesting (Leaf)
Unlimited Degree
IR
Interesting Simulations
(Root. 5% of sim budget)
40
250
1.5
1/0
0.99
Land
Reduced Rules /
Interesting (Root)
Unlimited Degree
NL
Negative Reward for Loss
40
250
1.5
1 / -1
0.99
Land
Reduced Rules
Unlimited Degree
MP
Dominated Move Pruning
40
250
1.5
1/0
0.99
Dominated
Reduced Rules
Unlimited Degree
BT
Binary Tree
(Descending Mana Cost)
40
250
1.5
1/0
0.99
Land
Reduced Rules
Binary
TABLE I
S UMMARY OF EXPERIMENTAL PARAMETERS FOR S ECTION VII
To provide consistency between experiments, and reduce the
variance of our results, in the experiments in Sections VII-A
and VII-B, we randomly generated and tested fixed deck
orderings until we had 50 orderings that were not particularly
biased toward either of the players. In Section VII-C we use
100 unbiased fixed orderings for each pair of players. This
type of approach is used in a variety of games to reduce
the variance between trials, and notably used in Bridge and
Whist tournaments [57] between high-level human players.
The experiments were carried out twice with the players
alternating between player 1 and player 2 positions, to further
reduce bias due to any advantage in going first/second.
Our experiments were carried out on a range of server
machines. Broadly speaking we wanted to maintain decision
times of around 1 CPU-second or less, since that would be
acceptable in play versus a human player. We use number of
simulations as the stopping criterion in all cases. CPU times
are reported for a server with an Intel Xeon X5460 processor,
and 4GB RAM, running Windows Server 2003. Code was
written in C# for the Microsoft .NET framework.
A. MCTS for all possible deals
As remarked earlier, the branching factor at a chance node
involving a single card draw may be 15 or higher, and since
there is a chance node for each decision node in M:TG, this
doubles the depth of the tree compared to determinization
approaches which fix these chance nodes in advance. While
we would not expect MCTS to perform well for a tree which
grows so rapidly with depth, it provides an important baseline
for our experiments. The approach is illustrated in Figure 5.
Note that in this case as well as other experiments (unless
stated otherwise), card draws were only specified at the last
possible moment (i.e. at the point of drawing a card).
There are multiple methods that can be used in order to
select a chance node when descending the tree. Here we select
chance outcomes (card draws) uniformly at random. However,
Fig. 5.
An MCTS tree with chance nodes.
since in practice there are repeated cards in the deck, actually
we only have one chance outcome per card type, and weight
this according to the number of cards or that type in the deck.
Another possibility, not considered here, is that one of the
players in the game chooses the card to be drawn, with the
active player selecting the ‘best’ chance action and the nonactive player selecting the ‘worst’ chance action. In all of these
cases the number of nodes in the tree increases very rapidly
with each chance node, which is likely to lead to poor playing
strength for MCTS.
The All Possible Deals player was played against the expert
rules and the reduced rules player, using simulation rollouts
that select uniformly at random from among the available legal
moves. Over 10 replications of 100 games we see that the All
Possible Deals player is significantly weaker than the expert
or reduced rules players, winning only 23% of games against
the expert player and 38% of games against the reduced
rules player. This result provides a baseline to which we can
compare our other experimental results in order to determine if
our adjustments to the MCTS algorithm are having a beneficial
effect.
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
No. of
trees
1
2
4
5
10
20
40
50
100
250
500
1000
Expert Rules
Simulations
vs
vs
Reduced
Expert
Rules
Rules
27
26
31
29
45
34
46
35
45
33
41
36
48
31
42
34
55
33
50
29
38
21
15
12
Reduced Rules
Simulations
vs
vs
Reduced
Expert
Rules
Rules
31
32
44
38
48
36
38
40
44
40
46
44
56
47
52
46
56
43
45
47
48
46
41
26
TABLE II
W IN RATE (%) OF MCTS PLAYER WITH MULTIPLE DETERMINISED TREES
AND 10000 SIMULATIONS IN TOTAL
13
using reduced rules simulations gives better results that using
expert rules simulations, even though the reduced rules player
is much weaker than the expert rules player. It seems the
reduced rules player provides enough focus to make simulation
results meaningful for trees of this size (compared with the
results of Section VII-A) while not rigidly defining game
outcomes (as for the expert player). Similar results are reported
for Go in [34]. In Sections VII-C and VII-D we will consider
only these more effective reduced rules simulations.
In each case we see that the best number of determinizations
occurs between 20 and 100, and the best number of simulations per determinization between 500 and 100, with a total
budget of 10,000 simulations. This, and results from [56] motivate us to choose 40 determinizations with 250 simulations
per determinization tree in Sections VII-C and VII-D.
The CPU time used for a single move decision increases
slightly as to number of trees increases, from 0.62s for a
single tree to 1.12s for 50 trees. Inefficiencies in our code (and
particularly the way in which trees are combined) increase
the CPU time per move up to 14.01s per move for 1000 trees,
although this could be significantly reduced below 1s per move
through more careful design.
Similar experiments were conducted with a budget of
100,000 simulations and the number of determinizations n
taking values from the set {1, 2, 4, 5, 10, 20, 50, 100, 500,
1000, 2000, 5000, 10000}, with about 100000/n simulations
per determinization. The best number of simulations per
determinization again lay in the range from 100 to 1000,
suggesting that an increased simulation budget is best used in
running additional determinizations rather than searching each
determinization more deeply. The effects on playing strength
of more simulations are analysed in table VI.
C. Comparison of MCTS enhancements
Fig. 6.
Comparison of the effect of using multiple determinised trees.
B. Varying the number of determinizations
When using determinization, for a fixed budget on the
total number of simulations, we trade off the number of
determinization trees versus the number of simulations per
tree. If the number of determinizations is too low, we may
get a poor result since the small sample of determinizations
is not representative of the combinatorially large set of deck
orderings. If the number of simulations per tree is too small,
then MCTS has not had enough time to exploit promising play
lines in the tree for each determinization. We run the tests for a
fixed number of total simulations on each tree and then simply
add the results from all the trees together and select the move
that has the most number of visits over all trees.
In Table II and Figure 6 we vary the number n of determinizations, with each determinization tree having around
10000/n simulations. Other experimental conditions are as for
the baseline player in Table I.
The first thing we note in Table II is that using an ensemble
of determinizations yields much stronger play than the na¨ıve
MCTS implementation in Section VII-A. We see also that
We have outlined a number of different enhancements to
MCTS, all with the potential for improving the performance
of the search when utilised in a game such as Magic: The
Gathering. A round robin tournament was conducted with representative players from each approach (as shown in Table I),
to provide a measure of comparative strength of the various
enhancements.
In the tournament each player played each other player over
100 games with 50 games being played as each of player 1 and
player 2. The same, fixed 50 deck orderings is used for each
match, to minimise variance and provide a fair comparison.
The results are shown in Table III, with average win rates for
each player in Figure 7. Each player used a fixed budget of
10000 simulations; Table IV shows average CPU times per
decision, from which we can generally see that BA, IR, NL
and MP approaches take approximately the same amount of
CPU time. The AP approach is slower, due to the overhead
of generating a much wider tree than other approaches. The
IL approach, which consumes extra time at every leaf node
in the tree searching for an “interesting” determinization, is
understandably by far the slowest method. The low branching
factor of the BT approach leads to a much lower average time
per move.
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
14
TABLE III
W IN R ATE (%) OF MCTS PLAYERS IN ROUND ROBIN TOURNAMENT. TABLE SHOWS WIN RATE FOR ROW PLAYER
Fig. 7. Average Win Rate (%) of Players in Round Robin Tournament. Error
bars show 95% confidence intervals.
Player
AP
BA
IL
IR
NL
MP
BT
Average time per move
(seconds)
5.65
0.75
9.81
1.00
1.07
1.00
0.23
TABLE IV
AVERAGE CPU TIME PER MOVE FOR THE MCTS PLAYERS IN
S ECTION VII-C.
The benefits of ensemble determinization are clear with all
other players greatly outperforming the All Possible deals (AP)
player which attempts to construct the whole tree without the
focussing effect of determinization. All of our enhancements to
the basic ensemble determinization approach (IL, IR, NL, MP
and BT) improve on the baseline (BA) approach, with the difference significant at the 95% level for all except for Negative
reward for Loss (NL). Methods which maintain “pressure” on
the Monte Carlo Tree Search, either by finding “interesting”
determinizations (IL,IR) or by rewarding delaying tactics when
behind (NL) are seen to enhance performance over the baseline
player. The use of domain knowledge to prune the tree (MP)
is also seen to be effective when compared to the baseline.
The IL, IR, MP and BT approaches have similar playing
strength, with BT and IR slightly in front, although not
significantly so. These four approaches are quite different
in the way that they enhance the baseline algorithm, and
the fact that they enhance different aspects of the ensemble
determinization approach is further evidenced by their nontransitive performance against each other. For example, the
BT approach beats the otherwise unbeaten IR approach, and
IR beats MP, but MP is stronger than BT.
The Interesting simulations (Root) (IR) result is slightly better than the Interesting simulations (Leaf) (IL) result, although
IR consumes significantly less CPU time than IL for a given
number of simulations (1.00s per decision for IR versus 9.81s
for IL; see Table IV). Hence we have evidence in support of
the effectiveness of finding interesting determinizations, but
it does not appear that we need the detail or computational
expense of attempting to find an interesting simulation at every
leaf of the tree. This observation leads us to use the IR variant
in the combination experiments in the next section.
The use of binary trees (BT) is consistently strong against
all players, losing only to the dominated move pruning (MP)
player. This is particularly notable since the approach is more
than three times as fast as any other approach. Figures 8 and 9
illustrate the difference in tree structure for the binary tree
enhancement. We believe that the idea of using binary trees, in
combination with domain knowledge will likely lead to further
enhancements, and begin the exploration of this in the next
section. However, due to the difficulty in finding appropriate
domain knowledge, this is a large piece of work in itself, and
we anticipate future work in this area.
D. Combinations of MCTS enhancements
We have shown in the previous section that our enhancements to the basic MCTS algorithm individually produce a
stronger player than the baseline MCTS approach to using
ensemble determinization. In this section we investigate the
effectiveness of combinations of some of the best performing
enhancements. We took four enhancements that had performed
strongly in individual experiments and tested all possible
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Fig. 9.
15
A non-binary MCTS tree.
Player
(BT,
(BT,
(BT,
(BT,
(BT,
(BT,
(BT,
(BT,
( −,
( −,
( −,
( −,
( −,
( −,
( −,
( −,
M P,
M P,
M P,
M P,
−,
−,
−,
−,
M P,
M P,
M P,
M P,
−,
−,
−,
−,
N L,
N L,
−,
−,
N L,
N L,
−,
−,
N L,
N L,
−,
−,
N L,
N L,
−,
−,
IR
−
IR
−
IR
−
IR
−
IR
−
IR
−
IR
−
IR
−
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
Win % vs
Expert Rules Player
49.5
50.5
50.4
50.5
47.0
47.7
47.6
47.6
47.4
44.5
47.7
46.1
48.3
43.6
47.7
43.9
Average time per move
(seconds)
0.21
0.17
0.27
0.20
0.31
0.23
0.28
0.19
1.01
1.05
1.00
1.05
1.00
0.92
1.01
0.79
TABLE V
C OMBINATION EXPERIMENTS — AVERAGE WIN RATE (%) OVER 100
TRIALS
Fig. 8.
A binary MCTS tree.
combinations of them. The enhancements tested were (in each
case the expected stronger level is listed first):
•
•
•
•
Binary Trees (BT/−): used (ordered by descending mana
cost) / not used
Move Pruning (MP/−): dominated move pruning / nonland pruning
Negative Reward for Loss (NL/−) : −1 reward for loss
/ 0 reward for loss
Interesting Simulations (Root) (IR/−): used (at most 5%
of simulation budget used to find an interesting ordering)
/ not used
In the results of this section we denote each player as
a 4-tuple, to denote the level of each enhancement. For
example the player (BT, M P, −, −) utilises Binary Trees and
Dominated Move Pruning, but not the Negative Reward for
Loss or Interesting Simulations (Root). These experiments are
very CPU intensive, and 100 replications were conducted using
a large CPU cluster.
We present average performance versus the expert player
in Table V. In addition to the results given in the table, we
observed that reduced rules rollouts significantly outperform
expert rules rollouts (by around 10% in most cases), and that
all the players which use at least one enhancement significantly
outperform the reduced rules player.
The results were analysed using Multiway Analysis of
Variance (ANOVA) [58] using the R statistical package [59].
Multiway ANOVA showed that enhancements (BT, MP and
IR) yielded performance improvements which were significant at the 99% level (i.e. that (BT, ∗, ∗, ∗) significantly
outperforms (−, ∗, ∗, ∗) etc.). NL represented a significant
improvement only at the 90% level. The following pairs of
enhancements were also significant at the 99% level: BT:MP,
BT:IR, and MP:IR. Only one triple of enhancements yielded
significantly better performance at the 99% level: BT:MP:IR.
ANOVA analysis and the results in Table V show that
our proposed enhancements do indeed improve performance
of ensemble determined MCTS, in combination as well as
individually. The (BT, M P, ∗, ∗) players provide the strongest
performance, yielding playing strength slightly better than the
expert player. Achievement of a higher than 50% win rate is a
substantive achievement when we consider the strength of the
expert rules player against expert human opponents, and the
fact that the (BT, M P, ∗, ∗) players achieve this performance
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
Player
(BT,
(BT,
(BT,
(BT,
( −,
( −,
( −,
( −,
M P,
M P,
−,
−,
M P,
M P,
−,
−,
IR
−
IR
−
IR
−
IR
−
)
)
)
)
)
)
)
)
Win % vs
Expert Rules Player
51.2
51.5
51.6
52.0
44.3
44.7
47.2
37.3
Average time per move
(seconds)
3.21
3.21
3.63
3.36
8.38
7.91
6.83
6.45
TABLE VI
100 K ROLLOUTS COMBINATION EXPERIMENTS — AVERAGE WIN RATE
(%) OVER 40 TRIALS
without using the knowledge encoded in these expert rules.
The BT enhancement significantly decreases the CPU time
per decision, probably as a result of the MCTS selection phase
having far fewer branches to choose between at each level in
the tree. MP yields a slight improvement in CPU time when
coupled with BT. The other enhancements slightly increase
the CPU time per decision, but not significantly so.
The results of our analysis underline the utility of all the
proposed methods, the dominance of the BT:MP combination,
and the complexity of the interaction between methods in
yielding increased playing strength.
We carried out additional experiments in order to investigate
whether increasing the number of rollouts to 100,000 would
provide any significant increase in the performance of the most
promising combinations. In this case we did not consider the
Negative reward for Loss (NL) enhancement (using a reward
for loss of zero) due to the CPU-intensive nature of these
experiments and the fact that the previous results suggest that
it was the least effective of the four enhancements. The results
of this are shown in Table VI. Note that these experiments are
very time-consuming, requiring roughly five to ten times as
much CPU time per trial as those in table V.
We see here modest improvements in overall performance,
when using the BT enhancement with or without other
enhancements. Counterintuitively, without this enhancement
performance is no better and indeed slightly worse than when
using a smaller simulation budget. We have observed this
phenomenon for other games of partial information [56], [60]
which probably arises due to the large branching factor as we
descend the tree even when determinization is used, so that
the additional simulation budget is used in chasing somewhat
arbitrary decision possibilities. That BT mitigates this problem
suggests that this is a particularly interesting area for further
study, capable of focussing search into interesting areas of the
tree. BT likely improves matters here since the reduction of
the degree of the tree results in a more focussed search in each
determinization.
VIII. C ONCLUSION
In this paper we have introduced the popular card game
Magic: The Gathering. We believe M:TG is an interesting domain for Computational Intelligence and AI, and particularly
Monte Carlo Tree Search, for a variety of reasons. The game is
highly popular and commercially successful, and has (human)
16
players at professional levels. It is an imperfect information
game, with unique cards that provide a rich level of tactical
play and provide a very high branching factor for any search
based approach. Expert heuristics are difficult to formulate
because of the variety and complexity of the game situations
that arise and the fact that the effectiveness of many actions
are highly dependent on the current game state. All of these
factors suggest that M:TG would be an extremely difficult
challenge for conventional evaluation based search methods.
We also feel that the structure of the game is suited to
analysis by MCTS. The progressive revealing of information
as players draw new cards from their decks and play them
out combined with the relative unlikelihood of similar game
states leading to radically different game outcomes are both
features that suggest that MCTS should be able to generate
strong play.
The central theme of this paper is the use of multiple
determinized trees as a means of dealing with imperfect
information in a MCTS search and we have shown that this
approach provides significant benefits in playing strength,
becoming competitive with a sophisticated expert rules player
with a simulation budget of less than one CPU second on
standard hardware, despite having no access to expert knowledge. In addition to that we have presented a wide variety of
enhancements to the determinized trees and analysed the effect
on playing strength that each enhancement offers. All of these
enhancements show further improvement. We investigated a
modification of the structure of the decision tree to a binary
tree, well suited to M:TG where decisions amount to the
choice of a subset of cards from a small set, rather than an
individual card. As well as providing significant improvements
in playing strength, the binary tree representation substantially
reduced CPU time per move. Dominated move pruning used
limited domain knowledge, of a type applicable to a wide
variety of games involving subset choice, to significantly
reduce the branching factor within the tree. Another promising
approach maintained pressure on the Monte Carlo Tree Search
algorithm by choosing “interesting” determinizations which
were balanced between the two players. An enhancement
which used decaying reward to encourage delaying moves
when behind had some positive effect, but was not as effective
as the preceding three enhancements.
The rollout strategy had a profound effect in our experiments. Applying a fully deterministic rollout strategy, as we
did when using our expert rules player to handle the rollouts,
provided a clearly inferior performance to utilising the reduced
rules player which uses very limited domain knowledge, but
incorporates some randomness within its decisions. This was
true in all of our experiments and despite the fact that the
expert rules player is an intrinsically stronger player than the
reduced rules player. However, using a na¨ıve rollout strategy
which chose uniformly at random from all possible moves
proved to be very weak.
MCTS, suitably enhanced by the range of approaches we
have suggested in this paper, was able to compete with, and
outperform, a strong expert rule-based player (which is in turn
competitive with strong human players). Hence the paper adds
to the volume of work which suggests MCTS as a powerful
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
algorithm for game AI, for a game of a somewhat different
nature to those previously studied.
In future work we will look at increasing the complexity
of the game environment by including a wider variety of
M:TG cards and card types. This will increase the scope
of the tactical decisions available to the player and will
make it significantly harder to encode strong knowledge-based
players. We also intend to look more closely at binary trees in
conjunction with domain knowledge, which we believe may
yield significant further improvements in playing strength.
Card and board games such as Magic: The Gathering
provide excellent test beds for new artificial intelligence and
computational intelligence techniques, having intermediate
complexity between perfect information games such as Chess
and Go, and video games. As such we believe they represent
an important stepping stone towards better AI in commercial
video games.
ACKNOWLEDGMENTS
We thank the anonymous reviewers for their helpful comments.
R EFERENCES
[1] H. J. van den Herik, “The Drosophila Revisited,” Int. Comp. Games
Assoc. J., vol. 33, no. 2, pp. 65–66., 2010.
[2] C.-S. Lee, M.-H. Wang, G. M. J.-B. Chaslot, J.-B. Hoock, A. Rimmel,
O. Teytaud, S.-R. Tsai, S.-C. Hsu, and T.-P. Hong, “The Computational
Intelligence of MoGo Revealed in Taiwan’s Computer Go Tournaments,”
IEEE Trans. Comp. Intell. AI Games, vol. 1, no. 1, pp. 73–89, 2009.
[3] A. Rimmel, O. Teytaud, C.-S. Lee, S.-J. Yen, M.-H. Wang, and S.-R.
Tsai, “Current Frontiers in Computer Go,” IEEE Trans. Comp. Intell.
AI Games, vol. 2, no. 4, pp. 229–238, 2010.
[4] C.-S. Lee, M. M¨uller, and O. Teytaud, “Guest Editorial: Special Issue on
Monte Carlo Techniques and Computer Go,” IEEE Trans. Comp. Intell.
AI Games, vol. 2, no. 4, pp. 225–228, Dec. 2010.
[5] C. Browne, E. J. Powley, D. Whitehouse, S. M. Lucas, P. I. Cowling,
P. Rohlfshagen, S. Tavener, D. Perez, S. Samothrakis, and S. Colton,
“A Survey of Monte Carlo Tree Search Methods,” IEEE Trans. Comp.
Intell. AI Games, vol. 4, no. 1, pp. 1–43, 2012.
[6] B. Arneson, R. B. Hayward, and P. Henderson, “Monte Carlo Tree
Search in Hex,” IEEE Trans. Comp. Intell. AI Games, vol. 2, no. 4,
pp. 251–258, 2010.
[7] F. Teytaud and O. Teytaud, “Creating an Upper-Confidence-Tree program for Havannah,” in Proc. Adv. Comput. Games, LNCS 6048,
Pamplona, Spain, 2010, pp. 65–74.
[8] J. M´ehat and T. Cazenave, “Combining UCT and Nested Monte Carlo
Search for Single-Player General Game Playing,” IEEE Trans. Comp.
Intell. AI Games, vol. 2, no. 4, pp. 271–277, 2010.
[9] Y. Bj¨ornsson and H. Finnsson, “CadiaPlayer: A Simulation-Based General Game Player,” IEEE Trans. Comp. Intell. AI Games, vol. 1, no. 1,
pp. 4–15, 2009.
[10] M. Enzenberger, M. M¨uller, B. Arneson, and R. B. Segal, “Fuego - An
Open-Source Framework for Board Games and Go Engine Based on
Monte Carlo Tree Search,” IEEE Trans. Comp. Intell. AI Games, vol. 2,
no. 4, pp. 259–270, 2010.
[11] J. Schaeffer, “The games computers (and people) play,” Adv. Comput.,
vol. 52, pp. 189–266, 2000.
[12] S. E. Siwek, “Video games in the 21st century: the 2010
report,” 2010. [Online]. Available: http://www.theesa.com/facts/pdfs/
VideoGames21stCentury 2010.pdf
[13] N. Ersotelos and F. Dong, “Building highly realistic facial modeling and
animation: a survey,” Visual Comput., vol. 24, no. 1, pp. 13–30, 2008.
[14] P. Tozour, “The perils of AI scripting,” in AI Game Programming
Wisdom, S. Rabin, Ed. Charles River Media, 2002, pp. 541–547.
[15] I. Szita, G. M. J.-B. Chaslot, and P. Spronck, “Monte-Carlo Tree Search
in Settlers of Catan,” in Proc. Adv. Comput. Games, Pamplona, Spain,
2010, pp. 21–32.
17
[16] N. R. Sturtevant, “An Analysis of UCT in Multi-Player Games,” in Proc.
Comput. and Games, LNCS 5131, Beijing, China, 2008, pp. 37–49.
[17] G. van den Broeck, K. Driessens, and J. Ramon, “Monte-Carlo Tree
Search in Poker using Expected Reward Distributions,” Adv. Mach.
Learn., LNCS 5828, no. 1, pp. 367–381, 2009.
[18] M. Buro, J. R. Long, T. Furtak, and N. R. Sturtevant, “Improving State
Evaluation, Inference, and Search in Trick-Based Card Games,” in Proc.
21st Int. Joint Conf. Artif. Intell., Pasadena, California, 2009, pp. 1407–
1413.
[19] I. Frank and D. Basin, “Search in games with incomplete information:
a case study using Bridge card play,” Artif. Intell., vol. 100, no. 1-2, pp.
87–123, 1998.
[20] R. Bjarnason, A. Fern, and P. Tadepalli, “Lower Bounding Klondike
Solitaire with Monte-Carlo Planning,” in Proc. 19th Int. Conf. Automat.
Plan. Sched., Thessaloniki, Greece, 2009, pp. 26–33.
[21] M. L. Ginsberg, “GIB: Imperfect Information in a Computationally
Challenging Game,” J. Artif. Intell. Res., vol. 14, pp. 303–358, 2001.
[22] Wizards of the Coast, “Magic: The Gathering.” [Online]. Available:
http://www.magicthegathering.com
[23] H. Rifkind, “Magic: game that made Monopoly disappear,” Jul.
2005. [Online]. Available: http://www.timesonline.co.uk/tol/life and
style/article545389.ece?token=null&offset=0&page=1
[24] G. Giles, “House of Cards,” 1995. [Online]. Available: http:
//www.metroactive.com/papers/sonoma/11.09.95/magic.html
[25] P. Buckland, “Duels of the Planeswalkers: All about AI,” 2009.
[Online]. Available: http://www.wizards.com/Magic/Magazine/Article.
aspx?x=mtg/daily/feature/44
[26] Z. Mowshowitz, “Review and analysis: Duels of the Planeswalkers,”
2009. [Online]. Available: http://www.top8magic.com/2009/06/
review-and-analysis-duels-of-the-planeswalkers-by-zvi-mowshowitz/
[27] P. Auer, N. Cesa-Bianchi, and P. Fischer, “Finite-time Analysis of the
Multiarmed Bandit Problem,” Mach. Learn., vol. 47, no. 2, pp. 235–256,
2002.
[28] G. M. J.-B. Chaslot, J.-T. Saito, B. Bouzy, J. W. H. M. Uiterwijk, and
H. J. van den Herik, “Monte-Carlo Strategies for Computer Go,” in Proc.
BeNeLux Conf. Artif. Intell., Namur, Belgium, 2006, pp. 83–91.
[29] R. Coulom, “Efficient Selectivity and Backup Operators in Monte-Carlo
Tree Search,” in Proc. 5th Int. Conf. Comput. and Games, Turin, Italy,
2006, pp. 72–83.
[30] L. Kocsis and C. Szepesv´ari, “Bandit based Monte-Carlo Planning,” in Euro. Conf. Mach. Learn., J. F¨urnkranz, T. Scheffer, and
M. Spiliopoulou, Eds. Berlin, Germany: Springer, 2006, pp. 282–293.
[31] Y. Wang and S. Gelly, “Modifications of UCT and sequence-like
simulations for Monte-Carlo Go,” in Proc. IEEE Symp. Comput. Intell.
Games, Honolulu, Hawaii, 2007, pp. 175–182.
[32] R. E. Korf, “Depth-first iterative-deepening: an optimal admissible tree
search,” Artif. Intell., vol. 27, no. 1, pp. 97–109, 1985.
[33] J. Ferraiolo, “The MODO fiasco: corporate hubris and Magic
Online,” 2004. [Online]. Available: http://www.starcitygames.com/php/
news/article/6985.html
[34] S. Gelly and D. Silver, “Combining Online and Offline Knowledge in
UCT,” in Proc. 24th Annu. Int. Conf. Mach. Learn. Corvalis, Oregon:
ACM, 2007, pp. 273–280.
[35] G. M. J.-B. Chaslot, C. Fiter, J.-B. Hoock, A. Rimmel, and O. Teytaud, “Adding Expert Knowledge and Exploration in Monte-Carlo
Tree Search,” in Proc. Adv. Comput. Games, LNCS 6048, vol. 6048,
Pamplona, Spain, 2010, pp. 1–13.
[36] G. M. J.-B. Chaslot, M. H. M. Winands, H. J. van den Herik, J. W. H. M.
Uiterwijk, and B. Bouzy, “Progressive Strategies for Monte-Carlo Tree
Search,” New Math. Nat. Comput., vol. 4, no. 3, pp. 343–357, 2008.
[37] S. Yoon, A. Fern, and R. L. Givan, “FF-Replan: A Baseline for
Probabilistic Planning,” in Proc. 17th Int. Conf. Automat. Plan. Sched.,
Providence, New York, 2007, pp. 352–359.
[38] S. Yoon, A. Fern, R. L. Givan, and S. Kambhampati, “Probabilistic
Planning via Determinization in Hindsight,” in Proc. Assoc. Adv. Artif.
Intell., Chicago, Illinois, 2008, pp. 1010–1017.
[39] D. Silver and J. Veness, “Monte-Carlo Planning in Large POMDPs,” in
Proc. Neur. Inform. Process. Sys., Vancouver, Canada, 2010, pp. 1–9.
[40] L. P. Kaelbling, M. L. Littman, and A. R. Cassandra, “Planning and
acting in partially observable stochastic domains,” Artif. Intell., vol. 101,
no. 1-2, pp. 99–134, 1998.
[41] J. Pineau, G. Gordon, and S. Thrun, “Anytime point-based approximations for large POMDPs,” J. Artif. Intell. Res., vol. 27, pp. 335–380,
2006.
[42] M. L. Ginsberg, “Partition search,” in Proc. 13th Nat. Conf. Artif. Intell.
& 8th Innov. Applicat. Artif. Intell. Conf., 1996, pp. 228–233.
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. X, NO. X, MONTH 2012
[43] S. J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach,
3rd ed. Upper Saddle River, New Jersey: Prentice Hall, 2009.
[44] J. R. Long, N. R. Sturtevant, M. Buro, and T. Furtak, “Understanding
the Success of Perfect Information Monte Carlo Sampling in Game Tree
Search,” in Proc. Assoc. Adv. Artif. Intell., Atlanta, Georgia, 2010, pp.
134–140.
[45] M. Zinkevich, M. Johanson, M. Bowling, and C. Piccione, “Regret
Minimization in Games with Incomplete Information,” in Proc. Adv.
Neur. Inform. Process. Sys., Vancouver, Canada, 2008, pp. 1729–1736.
[46] M. Lanctot, K. Waugh, M. Zinkevich, and M. Bowling, “Monte Carlo
Sampling for Regret Minimization in Extensive Games,” in Proc. Adv.
Neur. Inform. Process. Sys., Vancouver, Canada, 2009, pp. 1078–1086.
[47] D. Koller and N. Megiddo, “The complexity of two-person zero-sum
games in extensive form,” Games Econ. Behav., vol. 4, pp. 528–552,
1992.
[48] M. Bowling, N. A. Risk, N. Bard, D. Billings, N. Burch, J. Davidson,
J. Hawkin, R. Holte, M. Johanson, M. Kan, B. Paradis, J. Schaeffer,
D. Schnizlein, D. Szafron, K. Waugh, and M. Zinkevich, “A Demonstration of the Polaris Poker System,” in Proc. Int. Conf. Auton. Agents
Multi. Sys., 2009, pp. 1391–1392.
[49] T. Cazenave and N. Jouandeau, “On the Parallelization of UCT,” in
Proc. Comput. Games Workshop, Amsterdam, Netherlands, 2007, pp.
93–101.
[50] G. M. J.-B. Chaslot, M. H. M. Winands, and H. J. van den Herik,
“Parallel Monte-Carlo Tree Search,” in Proc. Comput. and Games, LNCS
5131, Beijing, China, 2008, pp. 60–71.
[51] A. Fern and P. Lewis, “Ensemble Monte-Carlo Planning: An Empirical Study,” in Proc. 21st Int. Conf. Automat. Plan. Sched., Freiburg,
Germany, 2011, pp. 58–65.
[52] D. E. Knuth and R. W. Moore, “An analysis of alpha-beta pruning,”
Artif. Intell., vol. 6, no. 4, pp. 293–326, 1975.
[53] Pagat, “Rummy.” [Online]. Available: http://www.pagat.com/rummy/
rummy.html
[54] B. E. Childs, J. H. Brodeur, and L. Kocsis, “Transpositions and Move
Groups in Monte Carlo Tree Search,” in Proc. IEEE Symp. Comput.
Intell. Games, Perth, Australia, 2008, pp. 389–395.
[55] I. Alth¨ofer, “On the Laziness of Monte-Carlo Game Tree Search in Nontight Situations,” Friedrich-Schiller Univ., Jena, Tech. Rep., 2008.
[56] E. J. Powley, D. Whitehouse, and P. I. Cowling, “Determinization in
Monte-Carlo Tree Search for the card game Dou Di Zhu,” in Proc.
Artif. Intell. Simul. Behav., York, United Kingdom, 2011.
[57] World Bridge Federation, “General conditions of contest,”
2011. [Online]. Available: http://www.worldbridge.org/departments/
rules/GeneralConditionsOfContest2011.pdf
[58] M. H. Kutner, J. Neter, C. J. Nachtsheim, and W. Wasserman, Applied
Linear Statistical Models, 5th ed. McGraw-Hill, 2004.
[59] R Development Core Team, R: A Language and Environment for
Statistical Computing. R Foundation for Statistical Computing, 2008.
[60] P. I. Cowling, E. J. Powley, and D. Whitehouse, “Information Set Monte
Carlo Tree Search,” IEEE Trans. Comp. Intell. AI Games, vol. 4, no. 2,
2012.
18
Peter Cowling is Professor of Computer Science and Associate Dean (Research and Knowledge
Transfer) at the University of Bradford (UK), where
he leads the Artificial Intelligence Research Centre.
From September 2012 he will take up an Anniversary Chair at the University of York (UK) joint between the Department of Computer Science and the
York Management School. He holds MA and DPhil
degrees from Corpus Christi College, University of
Oxford (UK). His work centres on computerised
decision-making in games, scheduling and resourceconstrained optimisation, where real-world situations can be modelled as
constrained search problems in large directed graphs. He has a particular
interest in general-purpose approaches such as hyperheuristics (where he is a
pioneer) and Monte Carlo Tree Search (especially the application to games
with stochastic outcomes and incomplete information). He has worked with a
wide range of industrial partners, developing commercially successful systems
for steel scheduling, mobile workforce planning and staff timetabling. He is a
director of 2 research spin-out companies. He has published over 80 scientific
papers in high-quality journals and conferences, won a range of academic
prizes and “best paper” awards, and given invited talks at a wide range of
Universities and conference meetings. He is a founding Associate Editor of
the IEEE Transactions on Computational Intelligence and AI for Games.
Colin Ward is currently working towards a PhD
at the University of Bradford (UK). He holds a
BSc in Computing and Information Systems from
the University of Bradford. With his background in
computer science and as a competitive game player
(he has been ranked among the top 150 Magic: The
Gathering players in the UK) his research interests
are focussed on artificial intelligence and machine
learning approaches to playing games. His thesis
examines game domains with incomplete information and search methods that can be applied to those
domains.
Edward Powley received an MMath degree in
Mathematics and Computer Science from the University of York, UK, in 2006, and was awarded
the P B Kennedy Prize and the BAE Systems ATC
Prize. He received a PhD in Computer Science from
the University of York in 2010. He is currently
a Research Fellow at the University of Bradford,
where he is a member of the Artificial Intelligence
Research Centre in the School of Computing, Informatics and Media. He will move to the University
of York in September 2012. His current work involves investigating MCTS for games with hidden information and stochastic
outcomes. His other research interests include cellular automata, and game
theory for security.