{'fraction_non_alphanumeric': 0.024067990287101843, 'fraction_numerical': 0.00757034709327239, 'mean_word_length': 4.596722621902478, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
MCTS Based Agents for Multistage Single-Player Card Game

The article presents the use of Monte Carlo Tree Search algorithms for the card game Lord of the Rings. The main challenge was the complexity of the game mechanics, in which each round consists of 5 decision stages and 2 random stages. To test various decision-making algorithms, a game simulator has been implemented. The research covered an agent based on expert rules, using flat Monte-Carlo search, as well as complete MCTS-UCB. Moreover different playout strategies has been compared. As a result of experiments, an optimal (assuming a limited time) combination of algorithms were formulated. The developed MCTS based method have demonstrated a advantage over agent with expert knowledge.


I. INTRODUCTION
The Lord of the Rings: The card game is one of the most popular card games. Since its launch in 2011 by Fantasy Flight Games, it has gained great popularity, as evidenced by more than 100 official extensions, dozens of blogs and millions of fans around the world. The uniqueness and enormous success of this game is due to its cooperative character and the fact that it can only be played by one person, but the core set supports up to 2 players. The players have to fight against the random pile of cards that represents the forces of Sauron, which are obstacles to be overcome.
The Monte-Carlo tree search (MCTS) is a stochastic algorithm. It proved its unique power in 2016 by beating human master in Go game, which has been described as a last moment when human players had a chance to compete with AI players. Since that time there is growing number of applications of MCTS in various games [2], [5], [7]. Even popular card game games such as Magic: The Gathering, has been studied in terms of MCTS [10].
However applications in cooperative and single-player games [9] are still quite limited. In this paper MCTS algorithm is successfully used in non-competitive game, which is challenging player with high levels of complexity and randomness.
The MCTS algorithm has been created as a tool for perfect information games (such as Go or Chess). However it could be treated as a general purpose computational intelligence algorithm. There are several successful efforts in applications in different scientific domains such as logistic optimization [11] and chemistry synthesis planning [12].
II. THE LORD OF THE RINGS: THE CARD GAME "The Lord of the Rings: The Card Game", often abbreviated as LoTR, is a complicated cooperative game with several decision-making stages. Understanding its mechanics is necessary when searching the optimal strategy for the player. Especially that the element of the project was to implement a game simulator.
Before starting the game, two decks of cards player deck and encounter deck are shuffled. The player sets his initial threat level, which is the sum of the appropriate parameters of all three heroes, then draws six cards into his hand from the player's deck.
A diagram of one round of the game is shown in Fig. 1. There are 13 stages divided into seven round phases. Six of these stages are a simple implementation of the described game rules (marked in black), two of them contain unpredictable random actions (violet), while the other five are stages (red) in which the player must make a decision.
In LoTR, the player's task is to complete the scenario, consisting of three quest cards. Each quest card has a specific number of progress points that must be obtained to complete a given stage of the scenario. The player receives progress points by playing cards from his hand and then assigning them to the expedition. Opponents drawn randomly from encounter deck hinder the progress of the expedition, additionally in the defensive phase they attack the player, dealing damage to hero and ally cards. In addition to opponents, heroes and allies, there are other types of cards in the game: places, events, and items. Places are destination cards, where player can travel to; events can be drawn from encounter deck, they affect the player in a negative way; items are kind of attachments to heroes, giving them buffs.

III. AGENT PLAYERS
As represented on Fig. 1, there are 5 decision stages within the game: Planning, Commitment, Travel and finally Declaring Defenders and Attackers. The stages of Travel and Declaring Attackers are simple for expert players, so they are not considered in subsequent analyzes. The other stages can be resolved in different ways, one of them may be random. Decisions can also be carried out by a reduced rule-based player with a simple logic implemented [4]. So finally, the analysis features 4 types of player agent: random, rule-based (hereafter called expert) and two MCTS versions: flat and full-UCB.
Stages from Fig. 1 come sequentially one after another and action possibilities in a game node strictly depend on what decision has been taken in the antecedent. In Commitment stage player submits characters to the quest, he can select one or more heroes or characters already purchased during the Planning. Typically player purchase 1-2 cards from his hand, so for commitment he forms subset from a group of 5 cards. Size of the subset depends on current summary threat of cards in staging area -once can be zero, other round 3 for example. The number of enemies in encounter area determine the quantity of declared defenders -for instance if there are 3 enemies, player have to assign 3 of 5 characters, so it yields 10 subsets. To sum up -the action space size varies unpredictably depending on what happened in the past.

A. Agent 1. Random choice
Planning stage consists of random selection of cards in hand and then checking out if they are possible to play in according to the game rules.
Commit Characters, by this stage agent draws a subset of characters in play, if their total willpower is higher than the total threat of the cards in staging area: commits it the quest, otherwise reject the subset and draw again.
In Declare Defenders stage agent samples one character for every enemy in engagement area.

B. Agent 2. Expert decision
In Planning cards from the Spirit sphere are welcomed, because of their willpower stats, which plays crucial role in the next decision stage. Likewise it is worth to play in Gandalf, but his cost of 4, makes him affordable for the agent after a couple of rounds. In early game agent deals with few tokens in his resource pool, therefore cheap cards like Wandering Took, Gondorian Spearman or Veteran Axehand seem to be an adequate choice.
During Questing Gandalf and the Spirit sphere characters come to play in a following manner -they get committed as long as total willpower exceeds total threat of the cards in staging area. This condition increase the probability of success in quest resolution, which approach the agent to win the whole game.
In Defense agent attempts at first declare allies as defenders, due to their lower opportunity cost in case of death unlike the hero cards. It is crucial to the gameplay keeping agent's heroes safe and sound, because they provide resource tokens, every removal of a hero gravely affects future rounds -the number of resource pools gets reduced immediately.

C. Agent 3. Flat Monte Carlo
The idea behind flat Monte-Carlo tree search, is to create only first layer of tree expansion. 1) Expansion 2) Simulation 3) Selection Expansion is identical to full UCB method, the specified number of playouts (playoutBudget) is divided into all children and Simulation is performed. In Selection the child with the highest number of wins is selected.

D. Agent 4. MCTS-UCB
Monte Carlo Tree Search is an algorithm for taking optimal decisions through sequentially built trees based on random sampling. The main advantage of this method is a utility function of a leaf in a simple form, which allows evaluation of a single step in decision process. The function called Upper Confidence Bound: where x j -average number of playouts won starting from given game state j, n -the number of visits in parent of node j, n j -the number of node j visits, C -arbitrary chosen constant between 0 and 1. MCTS consists of 4 steps repeated until a certain playout budget is reached: 1) Selection 2) Expansion

3) Simulation 4) Backpropagation
In the selection phase, UCB is calculated for all leaves from the given parent, the node with the highest value is selected as the new parent and the selection process is repeated until final node is reached. In Expansion, new leaves are added to leaf node, of course within the rules of the game -legal moves. In the third phase, playouts to the terminal state of the game are performed with leaf node. During Backpropagation statistics of the number of won playlists and the number of visits for all nodes up to root are updated.
The task of this agent is in accordance with the philosophy of Monte Carlo Tree Search is to choose the most favorable move in a given phase of the game, i.e. the node with the highest utility function. Due to the fact that the tree is only developed to the first level, a simplified version of the utility function was used in the form of score. The nodes from which the playouts are played must be created according to the circumstances of the given phase of the game, findLegals functions have been implemented for each required decision. In Planning, legal moves are determined by checking that the player's resources allow you to buy the card if you create the node. For Questing all combinations of available characters are considered, if the total willpower of a given subset is greater than the total threat cards in staging area, then a node is created. In addition, a restriction was imposed on the rejection of subsets containing cards with willpower equal to zero.
Combination subsets of cards are also created in Defense, but with a strictly defined number of elements, corresponding to the number of opponents in engagement area. These subsets can contain heroes already embedded in previous stages of the game, then at resolving an unprotected attack occurs. To do this, legalNodes drop subsets with their already dated alliesthey can no longer be used for defense.
LegalNodes for Strike back, similar to the previous phase, are subsets with a limited number of elements resulting from the number of untapped cards and enemies in engagement area. After specifying legalNodes, deep copy of the game are created from each node, from which playouts are performed. The resulting score is then saved to the node.

IV. EXPERIMENTS
Series of 1000 simulations had been preformed to analyze statistical properties of the agents. The simulations were run in parallel on CPU -host machine with 12-cores Intel i9-9920X processor and 128GB RAM. Spawning processes across the CPU were performed with python multiprocessing package. After pooling the results of the simulations, post-processing was applied -for every experiment winrate with confidence interval was calculated. Binomial proportion confidence interval for 95% confidence level is described by the equation: where z -1.96 for 95% confidence level, p -winrate probability n s /n, n -total number of trials, n s -number of wins. First of all, the impact of the playout budget was under investigation. As depicted in Fig. 2, Agent 4 perform a way better than his simplified brother Agent 3. Moreover this method turns out to be more vulnerable to the difficulty level -over 80% for medium versus less than 20% for hard level. It is also worth to note, that Agent 3 were not able to win at the top difficulty level regardless playout budget. The shape of the curve with saturation clearly suggests, that increasing the playout budget over 40 is redundant, therefore this value will be used in further considerations. The second point of research was to determine volatility due to the type of playout, as seen in Fig. 3. Results for Agent 4 comes out quite equally -winrate about 36%, what means that type of playout is not so important. However for Agent 3 it was observed that winrate in case of expert playouts are nearly three time higher. This could be treated as a confirmation that incorporation of the domain knowledge is significantly increasing performance of the agent. Type of the playout does not have important impact on the computation cost. Fig. 4 shows that total simulation time in both configurations are nearly the same. So choosing playout strategy with expert knowledge with higher winrate Fig. 3, does not deteriorate performance of the solver.
These two points lead to conclusion, that the optimal setup for playout strategy is: 40 repetitions in budget at expert mode. Within these circumstances the methods reach sufficient winrate at acceptable simulation time. The next investigated problem is whether there is a type of the agent that has advantage over others is each of three decision stages.
Combinations of all agents were also broadly examined as seen in Fig. 5. Binomial proportion confidence interval theory has been used to estimate uncertainty of the probability of winning rate. These heatmaps suggest a vast influence of Agent 2 at Defense phase in contrast to Agent 3, nothing similar happens to agent 4. More in detail, combinations including agent 2 at Questing outperforms other arrangements. Final optimal choice is combination agents: 4 -2 -4 for which probability of win is over 97%.

V. CONCLUSIONS
The Lord of the Rings is a popular cooperative card game. It should be classified as a multistage game with a high level of randomness, what creates serious challenge for computational intelligence methods. The MCTS algorithms are universal and powerful tool, however with high computational demands. Numerical experiments described in the paper have shown that incorporating expert knowledge significantly improves the performance of methods. The second important conclusion is that the use of different methods at different stages of a multistage game allows to increase total winning rate.