<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Alpha-Beta vs Scout Algorithms for the Othello Game</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jorge Hernandez</string-name>
          <email>jehernandezrodriguez@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Karen Daza</string-name>
          <email>kgiselledaza@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hector Florez</string-name>
          <email>haflorezf@udistrital.edu.co</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad Distrital Francisco Jose de Caldas Bogota</institution>
          ,
          <country country="CO">Colombia</country>
        </aff>
      </contrib-group>
      <fpage>65</fpage>
      <lpage>79</lpage>
      <abstract>
        <p>In the context of decision systems for board games; usually, nodes in a game tree are explored using a search algorithm. When the algorithm visits a node, it must evaluate that node through a function called heuristic. In order to design the evaluation function, the domain must be taken into account. In this paper, we discuss the factors that inuence the design of a heuristic for a desire board game. Thus, we present an approach to nd the best movement by deploying a game tree, with an implementation for the board game called Othello. The state of the board is used to obtain the desired factors and the best movement is obtained through an in-depth search, according to the designed heuristic. We experimented with two algorithms. The former is Mini-Max and its evolution to Alpha-Beta. The latter is Scout, which presents better performance regarding time. In addition, we present the results, rules, and implementation features.</p>
      </abstract>
      <kwd-group>
        <kwd>Scout algorithm</kwd>
        <kwd>arti cial intelligence</kwd>
        <kwd>game tree</kwd>
        <kwd>Alpha-</kwd>
        <kwd>Beta Pruning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The states of a two-players game can usually be represented in a game tree.
This represents the possible paths that an agent can take when trying to nd
the best solution. In games speci cation of complexity degree, the deployment of
the nodes for each branch can become too extensive. Thus, it is important to nd
the most appropriate solution in less time. When the target endgame gets too
large to t into the main memory, fast memory-e cient algorithms are devised
[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. We could see this problem from the hardware point of view, where the nite
tree is physically deployed in a database through retrospective analysis. Thus,
we could consult the best movement or perform the search deeply as presented
for AlphaGo1. AlphaGo has asynchronous processes for its calculations searching
the tree using the Monte Carlo algorithm. When searching game trees, especially
in a competitive setting, signi cant bene ts can be achieved by pruning branches
which under no circumstances can a ect the decision being made at the root [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Heuristic search has been applied both to two-player games and single-agent
problems [
        <xref ref-type="bibr" rid="ref10 ref5">5,10</xref>
        ]. The search algorithms use an evaluation function F (n) where n
is the node to evaluate. The heuristic in uences the exploration because based
on it, a value is assigned to each space. In games, this value can be assigned
to the board to obtain the best value enabling the algorithm to make the best
decision when performing a movement. In order to nd a sequence of actions
from an initial state to a goal state e ciently, this heuristic function has to
guide the search towards the goal. However, it is important to have in mind
that a static heuristic can present two problems: 1) each node in the exploration
is di erent, since the movement must be evaluated and 2) the strategy in each
game is di erent. Therefore, it is necessary to nd the most relevant factors in
the design of the heuristic for a desired domain.
      </p>
      <p>In this work, we compare two algorithms at runtime. The former is the
AlphaBeta algorithm, which prunes the branches that do not meet the value 1 or 1
depending on the player (max or min). The latter is the Scout algorithm, which
aims to solve the problem of branching the Alpha-Beta algorithm. The nodes
explored in the two algorithms had the same evaluation criteria in the heuristic.</p>
      <p>
        Then, we propose a heuristic that depends on certain factors for the
twoplayer game called Othello. We assign static values to each board position to
calculate some factors. We assign static values to each board position to calculate
some factors. To be able to demonstrate the approach, Othello is good enough
case study since it is two-players strategy game played on an 8 x 8 board. There
are 64 identical pieces which are white on one side and black on the other [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The paper is structured as follows. Section 2 presents the de nition of the
Othello game. Section 3 presents the main concepts of search game tree. Section
4 presents the related work. In section 5, we illustrate the proposed approach.
Section 6 presents the results. Finally, section 7 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Othello Game</title>
      <p>
        Othello is classi ed as a territorial and abstract game. The generalizations are
natural in the sense that the board is extended by planar n n locations. In
Othello, an arbitrary position of each game is given, and no further rules are
modi ed [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Othello is a popular game in the world, which handles two-colored
pieces, usually black and white. The goal is to reverse the opponent's pieces in
order to nish the game with more pieces than the opponent. Fig. 1 shows an
example board with the description of the movements. In this state, the turn
is for the black player and the legal movements are indicated in gray. Thus,
six di erent legal movements are identi ed indicated by numbers 1 to 6. These
movements are: two diagonal, two vertical and two horizontal.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Search in game tree</title>
      <p>
        Search in two-players games has been an important topic in Arti cial
Intelligence (AI). The range of search strategies investigated stretch from
applicationindependent methods to knowledge-intensive methods. The former has the promise
of general applicability, the latter of high performance [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Each movement
generates a state (node) in the set of spaces. Multiple algorithms have been created
to search the best node. Minimax algorithm was the pioneer and one of the most
used in games with AI; nevertheless, this algorithm examines more board states
than necessary [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Thus, it is more convenient to use Alpha-Beta algorithm.
Another algorithm is Scout, which is able to nd the best result with a better
performance.
3.1
      </p>
      <p>
        Two-players games
We consider a class of two-players perfect information games in which two
players, called max and min, take alternate turns in selecting one out of legal moves
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. They are games that use strategy models de ned by movements. The
twoplayers games we are dealing with can be characterized by a set of positions,
and by a set of rules for moving from one position to another, where the players
make their movements alternately [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. An important feature is the fact that the
board can be represented as a set of values, where each piece represents a value.
Many AI systems use evaluation functions for guiding search tasks. In the
con
      </p>
      <p>Players</p>
      <p>Turn
Status Board - Game</p>
      <p>tokens</p>
      <p>New Node
Legal movements</p>
      <p>
        Outcome
text of strategy games, they usually map game positions into the real numbers
for estimating the winning chance for the player to move [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Fig. 2 shows the
main components of this type of game. The two players alternately have a turn
to select a piece of the board, the con guration or state of this board has a value
for each player, and each movement generates a new set of legal movements until
reaching the end of the game or a terminal state.
3.2
      </p>
      <p>
        Alpha-Beta algorithm
The pruning Alpha-Beta algorithm is an improved technique of the Minimax
algorithm in which it is possible to calculate an objective state without the need
to traverse all the nodes of the game tree. This type of algorithm is usually used
for any type of deep search tree and whole subtrees. The e ectiveness of
AlphaBeta is maximized if the best move is considered rst at all interior nodes of the
search tree [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. The problem that exists using the Minimax algorithm is that the
number of nodes to explore is exponential to the number of movements. Pruning
does not in uence the decision of the movement; however, it signi cantly reduces
exploration, improving performance.
3.3
      </p>
      <p>
        Scout algorithm
Scout was proposed by Judea Pearl in the 80s. The idea is to reduce the
computational e ort by rst checking the inequality V (S) &gt; v, where S is the current
node, v is some reference value and V (S) is the heuristic function. The power of
the algorithm is due to its pruning capacity, where branches that do not lead to
a better solution should not be explored. Scout needs a method to check
inequalities called Test. Test is a predicate that is part of the Scout process. It returns
true if a value is a bound on the Minimax value of a game tree [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and it will be
responsible for resolving inequalities. The Test input parameters are: the node to
apply the test, the xed value of the comparison, and the inequality to be applied
(greater). Its output is a boolean value to indicate whether or not the inequality
is met. Algorithm 1 shows an experimental approach of this function. The main
      </p>
      <sec id="sec-3-1">
        <title>Input : board, score, player (condition) Output: True or false</title>
        <p>moves getLegalMoves(board);
if moves == 0 or endGame(board) then
if evaluateNode(board) &gt; Score then return true ;
else return false ;
end
else
if player is max then
foreach move in moves do
newBoard fixedPosition(move);
if test(newBoard,score,player) then</p>
        <p>return true
foreach move in moves do
newBoard fixedPosition(move);
if ! test(newBoard,score,player) then</p>
        <p>return false
end
end
else</p>
        <p>end
end
end
end
end
// no node meets the condition
if player is max then return true;
else return false;</p>
        <p>Algorithm 1: Test Function in Scout
input is the node. If it is not a terminal state, the sub-nodes are explored to
obtain the best score. The score is evaluated with the function evaluateNode,
which is the heuristic of the approach. evaluateNode receives the status of the
board and returns the value of the node. Depending on the condition (player),
Test validates whether the current branch should be explored.</p>
        <p>In addition, Scout algorithm uses the Eval function to calculate the Minimax
value of a node, using Test to check whether or not it is necessary to explore a
particular branch. Its main input is the node to evaluate. Algorithm 2 generates
the legal movements according to the node or board it receives. The rst node is
evaluated and from there, according to Test, the branches with the best values are
explored. Finally, the best move to make according to the heuristic con guration
in the function evaluateNode is returned.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Input : board or node , depth, player</title>
        <p>Output: optimal move and best score
moves getLegalMoves(board);
score 0;
if moves == 0 or endGame(board) or Depth == 0 then
score evaluateNode(board);
end
end
end
else</p>
        <p>end
end
end
foreach move in moves do
newBoard fixedPosition(move);
if test(newBoard,score,playerM in) then
score eval(depth 1; playerM in; newBoard) !
bestScore;
bestMove move;
end
return score, bestMove;</p>
        <p>Algorithm 2: Eval Function in Scout
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related work</title>
      <p>De ning the heuristic with general factors for games represents the possibility
of extending the design and implementation for various games. The following
works try to solve the problem of de ning a heuristic in a general context.</p>
      <p>
        Buro [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] proposes two phases to build an evaluation function. Selecting
features and combining them. In addition, he creates a generalized linear
evaluation model (GLEM), where it is described as combining conjunctions of Boolean
characteristics linearly. Combined with an e cient minimum square weight
adjustment, GLEM greatly facilitates the programmer task of nding signi cant
characteristics and assigning the most suitable weights.
      </p>
      <p>
        Sephton et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] perform a heuristic to determine the best move for the
game Lords of War creating a set of functions when examining a state. They
experimented in two ways: using heuristics that extracted statistics from the
cards in the game and using heuristics that used heat maps to prioritize speci c
positions. As they concluded, the rst category proved to be the most e ective,
which was the simplest heuristic since it simply counted the number of cards.
Heat map heuristics were generally ine ective; however, they showed the greatest
relative improvement in state extrapolation.
      </p>
      <p>
        Sanchez et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] present a proposal to create an agent in the game Quoridor
based on some improvements to the graphics of the board. The strategy is done
by displaying the tree of the game. The nodes are stored in a NOSQL graphs
database. The work focuses on the representation of the nodes. In this way, they
present the tools and techniques to reduce the great impact of processing in the
exploration of the nodes.
      </p>
      <p>
        Kuhlmann et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] describe how to create an agent for multiple
prologstyle games. They built a heuristic from the characteristics identi ed in the
description of the game. The heuristics of the candidate node are evaluated in
parallel during the selection of actions to nd the best movement. The agent
identi es ve elements of the game: relations of successors, counters, boards,
markers, pieces, and quantities.
      </p>
      <p>
        Schi el et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] present an approach to a general game combining
reasoning about actions with heuristic search. The approach was based on automated
analysis to build a heuristic search. They describe the following generalities:
1) Determining legal moves and their e ects from a formal game description
requires reasoning about actions. 2) Using non-uniform depth rst. 3) Using Fuzzy
Logic to determine the degree to which a position satis es the logical
description of a winning position. Strategic, goal-oriented play requires to automatically
derive game-speci c knowledge from the game rules. Then, terminal states are
avoided as long as the objective is not met i.e., the terminal value has a negative
impact on the status assessment if the objective has a low value and positive
impact.
      </p>
      <p>
        The works of Noe [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and Pearl [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] present a comparison between
AlphaBeta and Scout for the kalah game. Both conclude that Scout has better
performance.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Proposed Approach</title>
      <p>
        Learning without any prior knowledge in environments that contain large or
continuous state spaces is a tough task [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. When implementing a game tree, we
seek to explore all possible states; however, these implementations have become a
bit obsolete because search algorithms usually take too much memory at runtime.
In this section, we present the approach we proposed to design the heuristic and
the search process to obtain the best movement for the Othello game.
5.1
      </p>
      <p>
        Heuristic for two-players games
The proposed heuristic is intended to state global factors and discuss their use in
di erent contexts. Each factor is set using a weight W . If the factor should not be
implemented due to the domain, its weight will be 0 removing the heuristic
factor. Developing heuristics for games or other search problems typically involves
a great deal of testing by playing the game repeatedly under realistic time
constraints against several di erent opponents [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The implemented heuristic has
a set of factors that are taken into account when calculating the value of a node
V . Factors details are as follows:
{ Parity of pieces. This factor calculates the piece di erence between the
player and the machine. The important thing is to correctly calculate the
di erence of pieces between one player and the other. Some games need, as a
strategy to keep fewer pieces during the start of the game. It is more e cient
than having a large amount that could be in favor of the other player in a
move.
{ Legal movements. Mobility is one of the fundamental factors. Based on
its calculation, it is possible to determine the outcome of the game. For
the calculation of mobility, two types of movements are taken into account:
the actual movement and the potential movement. On the one hand, the
actual movement is the number of movements that the player can perform
in his turn. On the other hand, the potential movement is the one that is
developed when the game progresses depending on the movements made
by the player and his opponent. Note that movements that are currently
not legal, but might become legal in the near future are accounted for in
the calculation of potential mobility. Hence, potential mobility captures the
mobility of the player in the long term, while actual mobility captures the
immediate mobility of the player[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
{ Positions in the game. Capturing some positions is an important factor.
      </p>
      <p>We see it in Othello, where it is of great importance to capture the corners
since it is very likely that the player who puts a piece in these positions
[(0; 0); (0; 7); (7; 0); (7; 7)] can control the game. The corners are the most
stable points of the board which means that the piece that occupies that
position cannot be anked. By occupying the corner positions, the player
can build a stable game, which increases the chance of winning the game.
The following source code represents the value we gave to each position in the
board for the Othello game. The heuristic value for this factor for the player
is calculated by adding the weights of the squares in which his pieces are
present. The static board implicitly captures the importance of each frame
on the board and encourages the game to tend to capture some positions.
Dynamically changing these weights would mean that we would have to use
heuristics to calculate the weight of a position based on its stability.
integer positions [][] =
{{99, -18, 8, 6,6, 8, -18, 99},
{-18, -24, -14, -12, -12, -14, -24, -18},
It is based on the possibility that a piece might be anked. The stability has
three states:</p>
      <p>Stable. A piece is stable when it is not possible to be anked during the
development of the game until its end. In Othello, the corners are the
most stable positions of the game. In addition, as the game is established
in the corners, the pieces become more stable.</p>
      <p>Semi-stable. A piece is semi-stable when it can be anked at some point
in the game, but not precisely on the next movement.</p>
      <p>Unstable. A piece is unstable when it is potentially anked on the next
movement. For Othello stability is an important factor.
{ Node is a terminal. If the node is a terminal state, it is validated if the
player in function of the heuristic is the winner of the game to assign positive
points. Otherwise, this factor will be negative. This factor, depending on the
domain is one of the most important factors since it can indicate the most
promising path to the search algorithm.
{ Most representative movements. This factor consists in reviewing the
legal movements of the board for the two players as a method of strategy for
the next movement. The di erence between the amount of legal movements
for each player is calculated. In addition, the position of the movement is
calculated by looking for its position. An additional list of positions is
created, which are the most representative in the next movement. For Othello,
the list consisted of the corners, along with the edges. If the legal movements
have these positions, positive points are given for the player or if the
opponent is the one who has a corner position, in that case, the factor will have
negative points.
{ Intermediate tabs. The amount of pieces between the enemy and the
heuristic player is calculated against each enemy piece.
{ Parity. The parity value for a factor is calculated by adding the weights of
the other factors in which the player's pieces are present. In this way, the
quadratic average of the other weights is calculated. This calculation is made
by the equation 1, where w is the weight of each factor and N the amount
of weights.</p>
      <p>n
parity = tuu N1 X1=0 (wi2)
(1)</p>
      <p>Finally, the node score is calculated adding all factors already mentioned
using the equation 2, where K represents the amount of factors, weightfi is the
weight of factor, and fi is the value of factor.</p>
      <p>Pc Player</p>
      <p>Handle board
Search optimal movement</p>
      <p>Trasplante Board
Game
tree</p>
      <p>Algorithm</p>
      <p>Heuristic
Handle board</p>
      <p>(node)
Positions handle</p>
      <p>Board
Push Notification
Generating legal
movements
Fixed pos
Compress
Descompress
Factors engine</p>
      <p>Factor data
Calculator</p>
      <p>Human Player
Handle board</p>
      <p>Get move</p>
      <p>Handle next
movement For PC
In the proposed approach, for a one-board node S 2 fn1; :::nkg, where k is the
number of nodes in the set of states, we de ne that the best position P in the
legal movements of S should be evaluated by the proposed heuristic. This means
that the best movement is generated within the legal movements for a reference
board. We use the Scout algorithm to search S within P . Fig 3 presents the main
components of the approach. The logic component is responsible for managing
the interaction of the players with the board and the search. The details of the
proposed architecture is as follows:
{ Logic component. It is responsible for managing the board according to
the type of player. The management of the board is done with a n n
matrix, where n = 8 for Othello. When saving the board, it is compressed
into a character set with the following notation: player-0-0, player-0-1, ...,
player-i-j where i represents the columns, j the rows, and player the value
of the cell that can go from 0 to 1, where 0 is for white pieces and 1 for black
ones. Board allows decompressing the format to an array and is listening
for a human player movement using push noti cations. Players Pc player
and Human player have assigned white or black pieces. The management of
the board ( xed pos, generate legal movements and compress-decompress)
is done by Handle Board. Pc player is the implementation of the search
algorithm. In the case that Pc Player is playing with white, the best move
will be searched with black, the board will always be managed with black
pieces, so the Transplate Board component is responsible for transposing the
values. To obtain the movement, the tree of the game is deployed with the
Scout algorithm; after that, the best movement is xed. In Human player
we analyze the legal movements the player can make with the Get move
component. Handle next movement for Pc chooses a movement randomly
within the legal movements of Human player as a candidate. Thus, we can
anticipate and make the management of the Pc player (look for movement in
the tree) to save time while the Human player chooses his movement. If we
do not succeed in the movement of the Human player, Pc player calculates
the best movement.
{ Heuristic and search optimal movement. These two components
interact to get the best movement. In search optimal movement, the algorithm
is displayed, the legal movements for the search are obtained using Handle
Board. The algorithm sets each legal movement and from there generates
the branches of the tree. When evaluating a node, the Heuristic element is
used. Heuristic gets all the data of each factor with Factor data according
to those values such as weight, tab value, or board value. The calculation is
made and the heuristic value is generated.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Experimental results</title>
      <p>The great popularity of mobile devices makes an important in uence on people.
Thus, creating mobile apps might produce advantages because based on their use,
people can develop skills that can boost active learning. With this in mind, we
developed a mobile app in order to apply the proposed approach to the Othello
game. This app can be used without an internet connection. When the mobile
phone is connected to internet, the app has a connection to a non-relational
database Firebase 2, which will be used to analyze the data of each game that is
done with the algorithm. Based on this, it is possible to analyze the movements
made in every game for both the machine and the player. The app has the game
modes vs computer, which allows the user to play against the machine. The
Scout algorithm has been implemented, as well as the Alpha-Beta algorithm to
compare the two algorithms and obtain their performance.
2 https://firebase.google.com</p>
      <p>Fig. 4 shows two parts of the app. In the left side, the user can select the
mode and the algorithm. In the right side, the Othello game is deployed. The
board has the white pieces, the black pieces, and some gray guides that are the
valid movements that the player could make in his turn.
6.1</p>
      <p>Comparison Alpha-Beta and Scout
To start comparing the Scout and Alpha-Beta algorithms, we run exploration
experiments with the same test eld for both algorithms. In this way, we performed
an in-depth comparison for both algorithms to see the number of nodes explored.
The tests were carried out in mobile programming. In our context, Alpha-Beta
allowed us to reach a maximum depth of 8 without ceasing to respond the mobile
device due to a lack of memory. The tests were based on measuring the number
of nodes exploring the time and depth given. Besides the memory capacity, the
Alpha-Beta algorithm requires, its implementation takes a long time to make a
decision to place the movement because it explores too much nodes based on the
deployment of the decision tree branches. On the contrary, the Scout algorithm
just takes a couple of seconds to obtain the right movement exploring much less
nodes and making a better decision. Fig. 5 and Fig. 6 represent the experimental
results of the tests. The Scout algorithm is detailed in red and Alpha-Beta blue
( - ).</p>
      <p>Fig. 5 presents the number of nodes explored by the Scout algorithm and
the time it took to explore them. The shortest time was 73 milliseconds and the</p>
      <p>1;000</p>
      <sec id="sec-6-1">
        <title>Time (milliseconds) Fig. 5. Exploration for Depth 8 using Scout Scout</title>
        <p>longest time 1014 milliseconds for 15 movements. The number of nodes ranges
from 76 nodes explored to 1041. The performance is compared with Fig. 6, which
presents the number of nodes scanned by the Alpha-Beta algorithm that is much
greater than the Scout. Thus, Alpha-Beta starts deploying 26264 nodes, while
Scout just 76, which represents a huge di erence in their performance. for both
algorithms, the test was performed with a depth of 8.
We carried out tests with 3 players. We classi ed players into three categories:
expert, medium, and amateur. On the one hand, each player played 10 games
against the Scout algorithm, where the expert player won 3, drew 5 and lost 2
games. In the same way, the medium player did not win any game, drew 2 and
lost 8. Finally, the amateur player did not win or draw any game. As a result, the
algorithm won 20 games, drew 7 games, and lost 3 games. On the other hand,
the Alpha-Beta algorithm just won 6 games, drew 10 games and lost 14 games.</p>
        <p>Consequently, we can asses that the Scout algorithm can beat players even with
an expert level.
7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future work</title>
      <p>Based on the results obtained in the implementation of the two algorithms,
Scout and Alpha-Beta, the Scout algorithm may have a better performance than
Alpha-Beta for board games. Scout algorithm obtained better results in less time
exploring fewer nodes, which improved the response time against the human
player. The factors were fundamental to obtain these results. It is pertinent to
note that the implementation of each algorithm was carried out under the same
parameters. With this in mind, we can conclude that under the same conditions
the Scout algorithm is more e cient than Alpha-Beta. The performance of each
algorithm was tested with 30 games played against human players.</p>
      <p>As future work, it is intended to implement a neural network, which will be
responsible for assigning the weights to the factors of the heuristic. In this way,
the heuristic will be trained through unsupervised learning. The items stored in
the database will serve as analysis to reinforce the weights. In the factors, the
weights are the basis of the approach and must be readjusted for each game.
Then, the algorithm would obtain the necessary information to make the best
movements against human players. Thus, it will be easier to build the heuristic
regardless of the domain. The main input will be the state of the game, from
there, we can obtain the factors that we propose in the paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bentivegna</surname>
            ,
            <given-names>D.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atkeson</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          :
          <article-title>A framework for learning from observation using primitives</article-title>
          .
          <source>In: Robot Soccer World Cup</source>
          . pp.
          <volume>263</volume>
          {
          <fpage>270</fpage>
          . Springer (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Buro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>From simple features to sophisticated evaluation functions</article-title>
          .
          <source>In: International Conference on Computers and Games</source>
          . pp.
          <volume>126</volume>
          {
          <fpage>145</fpage>
          . Springer (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Buro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Improving heuristic mini-max search by supervised learning</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>134</volume>
          (
          <issue>1-2</issue>
          ),
          <volume>85</volume>
          {
          <fpage>99</fpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Duarte</surname>
            ,
            <given-names>V.A.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Julia</surname>
            ,
            <given-names>R.M.S.</given-names>
          </string-name>
          :
          <article-title>Mp-draughts: Ordering the search tree and re ning the game board representation to improve a multi-agent system for draughts</article-title>
          .
          <source>In: 2012 IEEE 24th International Conference on Tools with Arti cial Intelligence</source>
          . vol.
          <volume>1</volume>
          , pp.
          <volume>1120</volume>
          {
          <fpage>1125</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Geissmann</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Learning heuristic functions in classical planning (</article-title>
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Iwata</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kasai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>The othello game on an n n board is pspace-complete</article-title>
          .
          <source>Theoretical Computer Science</source>
          <volume>123</volume>
          (
          <issue>2</issue>
          ),
          <volume>329</volume>
          {
          <fpage>340</fpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Knuth</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moore</surname>
            ,
            <given-names>R.W.:</given-names>
          </string-name>
          <article-title>An analysis of alpha-beta pruning</article-title>
          .
          <source>Arti cial intelligence</source>
          <volume>6</volume>
          (
          <issue>4</issue>
          ),
          <volume>293</volume>
          {
          <fpage>326</fpage>
          (
          <year>1975</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kuhlmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stone</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Automatic heuristic construction in a complete general game player</article-title>
          .
          <source>In: AAAI</source>
          . vol.
          <volume>6</volume>
          , pp.
          <volume>1457</volume>
          {
          <issue>1462</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Liskowski</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaskowski</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krawiec</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Learning to play othello with deep neural networks</article-title>
          .
          <source>IEEE Transactions on Games</source>
          <volume>10</volume>
          (
          <issue>4</issue>
          ),
          <volume>354</volume>
          {
          <fpage>364</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mejia-Moncayo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rojas</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorado</surname>
          </string-name>
          , R.:
          <article-title>Manufacturing cell formation with a novel discrete bacterial chemotaxis optimization algorithm</article-title>
          . In:
          <string-name>
            <surname>Figueroa-Garc</surname>
            <given-names>a</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J.C.</given-names>
            ,
            <surname>Lopez-Santana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.R.</given-names>
            ,
            <surname>Villa-Ram rez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Ferro-Escobar</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.) Applied Computer Sciences in Engineering. pp.
          <volume>579</volume>
          {
          <fpage>588</fpage>
          . Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Nesic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schi el</surname>
          </string-name>
          , S.:
          <article-title>Heuristic function evaluation framework</article-title>
          .
          <source>In: International Conference on Computers and Games</source>
          . pp.
          <volume>71</volume>
          {
          <fpage>80</fpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Noe</surname>
          </string-name>
          , T.D.:
          <article-title>A comparison of the Alpha-Beta and SCOUT algorithms using the game of Kalah</article-title>
          . University of California, School of Engineering and Applied Science . . . (
          <year>1980</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Pearl</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Scout: A simple game-searching algorithm with proven optimal properties</article-title>
          . In: AAAI. pp.
          <volume>143</volume>
          {
          <issue>145</issue>
          (
          <year>1980</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Plaat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schae</surname>
            <given-names>er</given-names>
          </string-name>
          , J.,
          <string-name>
            <surname>Pijls</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Bruin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Exploiting graph properties of game trees</article-title>
          .
          <source>In: AAAI/IAAI</source>
          , Vol.
          <volume>1</volume>
          . pp.
          <volume>234</volume>
          {
          <issue>239</issue>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sa</surname>
          </string-name>
          dine, A.,
          <string-name>
            <surname>Finnsson</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Alpha-beta pruning for games with simultaneous moves</article-title>
          .
          <source>In: Twenty-Sixth AAAI Conference on Arti cial Intelligence</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sanchez</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Florez</surname>
          </string-name>
          , H.:
          <article-title>Improving game modeling for the quoridor game state using graph databases</article-title>
          .
          <source>In: International Conference on Information Theoretic Security</source>
          . pp.
          <volume>333</volume>
          {
          <fpage>342</fpage>
          . Springer (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sannidhanam</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Annamalai</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An analysis of heuristics in othello</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Schae</surname>
            <given-names>er</given-names>
          </string-name>
          , J.,
          <string-name>
            <surname>Plaat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>New advances in alpha-beta searching</article-title>
          .
          <source>In: ACM conference on Computer science</source>
          . pp.
          <volume>124</volume>
          {
          <fpage>130</fpage>
          .
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. Schi el, S.,
          <string-name>
            <surname>Thielscher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Automatic construction of a heuristic search function for general game playing</article-title>
          . Department of Computer Science pp.
          <volume>16</volume>
          {
          <issue>17</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Sephton</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cowling</surname>
            ,
            <given-names>P.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Powley</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slaven</surname>
            ,
            <given-names>N.H.</given-names>
          </string-name>
          :
          <article-title>Heuristic move pruning in monte carlo tree search for the strategic card game lords of war</article-title>
          .
          <source>In: 2014 IEEE Conference on Computational Intelligence and Games</source>
          . pp.
          <volume>1</volume>
          {
          <issue>7</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          h., Liu,
          <string-name>
            <given-names>P.Y.</given-names>
            ,
            <surname>Hsu</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.s.:</surname>
          </string-name>
          <article-title>An external-memory retrograde analysis algorithm</article-title>
          .
          <source>In: International Conference on Computers and Games</source>
          . pp.
          <volume>145</volume>
          {
          <fpage>160</fpage>
          . Springer (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>