An Intelligent Othello Player Combining Machine Learning and Game Specific Heuristics

Size: px
Start display at page:

Download "An Intelligent Othello Player Combining Machine Learning and Game Specific Heuristics"

Transcription

1 An Intelligent Othello Player Combining Machine Learning and Game Specific Heuristics Kevin Cherry and Jianhua Chen Department of Computer Science, Louisiana State University, Baton Rouge, Louisiana, U.S.A. Abstract - In this paper we present an intelligent Othello game player that combines game-specific heuristics with machine learning techniques for move selection. Five game specific heuristics have been proposed; some of which can be generalized to fit other games. For machine learning techniques, the normal Minimax algorithm along with a custom variation is used as a base. Genetic algorithms and neural networks are applied to learn the static evaluation function. The game specific techniques (or a subset of) are to be executed first and if no move is found, Minimax is performed. All techniques, and several subsets of them, have been tested against three deterministic agents, one nondeterministic agent, and three human players of varying skill levels. The results show that the combined Othello player performs better in general. We present the study results on the basis of performance (percentage of games won), speed, predictability of opponent, and usage situation. Keywords: Othello, genetic algorithm, neural network, minimax, influence map, expected min 1 Introduction In Othello, two players, white and black, alternate turns in an attempt to capture as much of the 8x8 board as they can. Each valid move flips over one or more opponent pieces to display the player s color. At the end of the game, the player with the most cells showing his color wins. The game starts out with two white and two black pieces as shown in figure 1 below. The black player always goes first and must choose from the valid moves highlighted in figure 2 to place one of his black pieces. Each one of black s valid locations result in a white piece being surrounded by two black pieces (one already on the board and the new one just placed). This means the surrounded white piece will be flipped over to its blackcolored side and will become a black piece. For example, if the black player places a piece at row 5, column 3, the resulting board state would become: figure 3 Only moves which result in one or more opponent pieces being flipped are valid. At this point the white player would take a turn, with his valid moves being those that surround one or more black pieces either horizontally, vertically, or diagonally. Turns continue to alternate until either all board locations are occupied or one player has no more pieces left on the board. If a player does not have any valid moves, then that player s turn is forfeited. 2 Common methods Along with game specific heuristics, which will be discussed later, an algorithm called Minimax was used. Minimax is an exhaustive search approach to finding an ideal move among the valid choices [1]. The player is known as max and the opponent is min. To build the initial tree, the current board state starts as the root, then each of the player s valid moves become a child node, then each of the opponent s moves in response to the player s moves become children of that node, and so on. The tree construction stops when the specified depth has been reached. This basic structure is shown in figure 4 below. figure 1 figure 2

2 figure 4 These leaf nodes get their value from a static evaluation function. This function takes in features of a board state and assigns a real value indicating how good that state is for each player. Typically more negative values indicate good board states for min, while more positive values are good for max. For this paper a neural network was used for the function and certain input values as well as weights were trained using genetic algorithms. Figure 5 below shows an example of what the tree structure may look like after running the evaluation function. These leaf values must then be propagated upwards. The level right above the leaf nodes is a max level, meaning each of these nodes chose the maximum value from its children as that is better for the max player. The next level represents min s move and so the minimal value of each child node is chosen. The final level is always max since we are evaluating a move for the max player. After this root node gets a value, the path becomes clear and is highlighted below: figure 5 This path represents a board configuration after a certain number of moves that is the result of the max and min player both playing optimally. Normally the deeper the tree is allowed to build toward, the more accurate the node values. The number of nodes grows exponentially, however, resulting in an estimated total number of b d, where d is the maximum depth and b is the branching factor or average number of children for each node [2]. This is why several optimizations were created for this algorithm. The one used for this paper is called alphabeta and will be discussed later. 3 Game-specific heuristics The game s rules are easy enough to learn, however there are several aspects that must be considered to become an expert player. First, the number of pieces one has during the beginning or middle game is not a good indication of how well one is doing [3]. Since single moves can often flip several pieces and change the game s score dramatically, it becomes more important to focus on getting one s pieces in certain key locations. These locations will set the player up for higher scoring moves later on. It is this reason that always choosing the move that results in the highest score gain is not an ideal strategy. Second, is about learning where these prime locations are and setting up moves that will help secure them. This also means ensuring one s opponent does not take these locations first. Lastly, one should try to look a few moves ahead to ensure that each move made will result in a more dominant board state later on. Any good Othello agent must make use of these aspects in specific and general heuristic ways. There are several specific exploits designed into our agent that are tried first before relying on a more general approach. The order in which they are presented below is the order of precedence. Techniques are applied according to this precedence and if a move is found, that move is used and no further processing is done, else the next technique is used. The only exception to this comes with blacklisting, where moves are not chosen, but forbidden from being chosen by the sequential decision methods applied. 3.1 Killer move detection The first exploit is killer move detection. If a player loses all his pieces on the board, that player has lost and the game is over. Therefore all valid moves are checked to see if any one move leads to the opponent having this outcome. 3.2 Corner detection Second is corner detection. One set of prime locations are the corners of the board. This is due to the fact that a corner can never be overtaken once a piece is placed there and they allow for high scoring moves later on in the game. By always picking a corner location if it is in the list of valid moves, the agent can take advantage of these facts. 3.3 Blocking Blocking is the third exploit and it attempts to keep the opponent from making a move. If any move in the valid move list forces the opponent to forfeit its next turn, that move is chosen. Even if this move is not an ideal choice, gaining an extra turn should make up for this. 3.4 Pattern detection It is important to recognize board situations in which an ideal move is known. This sort of pattern detection with board states makes up the fourth exploit. The idea is to express several specific board states along with a collection, ordered by precedence, of predetermined ideal moves, or

3 locations to attempt to overtake with a single pattern. Several of these patterns can be created to cover a large number of board states. The patterns created for the agent allow it to take a corner on its next move. This is accomplished by detecting a diagonal series of opponent pieces leading up to a corner and finding a way to overtake one of those pieces. This gives the agent a diagonal capture line to the corner on its next turn. Figure 6 below shows a possible board state that the mentioned pattern would recognize. The agent is in white and its valid moves are shown as dotted circles. The opponent pieces with white crosshairs are possible targets to overtake. The pattern does not recognize the opponent piece at (1, 1) since overtaking that spot would give the opponent the corner. Piece (4, 4) is also not a target since the opponent could flip that piece right back over on its next turn due to it having a piece at (3, 3). Since one of the agent s valid moves takes the target opponent at (2, 2), that move is chosen. The result of this move leaves the agent with a valid move at the corner, as shown in figure 7 below: figure 6 figure 7 Notice that the spot at (2, 2) cannot be taken back by the opponent s next move, as it is protected by the opponent s own pieces. The implementation behind the other exploits are trivial enough to warrant not going into more detail, however construction of patterns can be quite complex. One must take a collection of several (possibly hundreds) of specific board states and represent those with a single structure along with actions to take if said pattern is matched. Therefore the implementation used will be discussed as one possible approach to creating this exploit. A pattern was represented as an xml file that used bit masking to represent a location s status. One was untaken or empty, two was taken by the agent, four was taken by the opponent, and zero was inherited from another xml file called a template. Templates were used to store bit masked values for board locations common to multiple patterns (to keep from repeating the same value multiple times and make it easier to change if need be). For convenience if a location was not specified, it was assumed to have a don t care value and was ignored when checking the pattern. The xml file would then contain a list of rows and columns with bit masked states for each. For a pattern to match, each location, described by its row and column, would have to have a matching state to that of the actual board. The pattern then specified which location it wanted to overtake. If this location was empty, the agent would simply place a piece there. If the location was taken by its opponent, it would look through its list of valid moves and choose one that would flip over that piece, thereby taking the location over. If no valid move could accomplish this, the pattern would move on to its next target location if one existed. If no target locations could be overtaken, the pattern would be considered unmatched and the next pattern was evaluated. 3.5 Blacklisting The final exploit was created to prevent the opponent from having an ideal valid move. Blacklisting is the act of banning valid player moves that lead to this. These banned moves are then forbidden from being chosen by the next phase. If all moves are banned, then the banned list is cleared. It is important to not be too aggressive when banning moves as moves that seem to give the opponent the upper hand, might actually prove to be a better move for the player later in the game. Therefore banning moves too often can actually reduce performance. 4 Machine learning techniques In this paper genetic algorithms were used to learn the influence map for the board, and both genetic algorithms and neural networks for the weights of the static evaluation function for Minimax. We also propose a variation on standard Minimax called expected min Minimax. 4.1 Expected min If all previous game-specific exploits fail to find a move, then Minimax is run on all valid moves that are not blacklisted. In addition to the normal Minimax algorithm, a variation called expected min Minimax was added. This addition addresses a crucial issue with normal Minimax in its assumption over the actions of the min player. Instead of assuming the min player will follow the strategy of a subjective evaluation function, a more general approach is used to find an accurate representative value for each min node. The steps are as follows: 1) Take all child node values. 2) Subtract each value by the maximum of those values plus 1 (e.g. if we have 1, 2, and 3 then produce (1 4), (2 4), and (3 4) to get -3, -2, and -1). The reason for this is due to both the desire to end up with higher weights on lower numbers, and also to allow

4 values of zero to have some contribution to the weight distribution. 3) Sum these new values up and divide each value by that sum (e.g. for the -3, -2, and -1 values from above, we have (-3 / -6), (-2 / -6), (-1 / -6) to get 0.5, 0.333, ). 4) Multiply the original values by these weights (e.g. our original values of 1, 2, and 3 become (1 * 0.5), (2 * 0.333), and (3 * ) to get 0.5, 0.667, 0.5). 5) Sum these values up to get the min parent s value (e.g = 1.667). This value is therefore taken from all child nodes with more weight added to lower values. The influence map values were learned using genetic algorithms [7] with the fitness function: (1) 4.2 Static evaluation function Minimax s static evaluation function takes the form of a neural network [4] with eight input nodes, one layer of five hidden nodes, and a single output node giving the final value. Sigmoid was used as the activation function [5] and each input value is evaluated for both the agent and its opponent. The input values are: the number of corner and side locations held, number of unique pieces that could be overtaken if the other player would have the next move, and the influence map sum of all player pieces on the board. 4.3 Influence map An influence map is used to display the relative important of overtaking each location on the board [6]. These values should be learned to be effective, however with a range of zero to ten and 64 board locations, a search space of is too massive. Certain exploits and commonalities were therefore used to reduce this space. Assigning a value of ten to the corners and zero to the four starting locations, this space can be reduced to Since one side of the board is no more important than the other, the influence map can be divided diagonally in both directions to form four quadrants with equal values. Each quadrant need only hold eight possibly unique values. After this the search space is reduced to 11 8 = 214,358,881. In the chart below, only values A to H need to be learned: The variables W sw, W sl and W nc are the weights for S w, S l and N c, respectively and were set at 5, 5, and 2, respectively. These values represent heuristic estimates. Each generation contained 21 chromosomes and selection, crossover and mutation operations were defined and used at a rate of 0.25, 0.75 and 0.05, respectively. Note that the mutation rate was chosen such that a single chromosome would be affected each generation. Chromosomes were chosen proportional to their fitness (i.e. chromosome fitness divided by total population fitness, or fitness proportionate selection [8]) and were moved onto the next generation or faced single-point crossover. Mutation was then applied by selecting random chromosomes at the before mentioned rate, and randomly changing one of its weights to a random value in the valid range of zero to ten. Figure 9 shows how the fitness changed with each generation during the learning phase: figure 8 figure 9

5 In figure 9 Gen is the current generation and the white, light gray, and dark gray lines indicates max, average, and min fitness respectively. There is a white line for each of these that shows the progress from the initial generation. To get the fitness value of a chromosome, that chromosome s knowledge was put into an influence map agent (an agent who only uses its influence map to make its decision) and that agent played against the target agent as the white and black player. The fitness of both games was averaged to get that chromosome s actual fitness. This was run initially with a greedy agent (one whose move choice is based solely on the number of opponent s pieces it can overtake) as the target, however after a fitness of eighteen was reached, the most fit chromosome s knowledge was put into an influence map agent to be the new target agent. The genetic algorithm was then started over with all chromosomes testing their knowledge against the target agent. This repetition continued for approximately six times before the final fittest chromosome s knowledge was used. Its influence map was then used in the input to the static evaluation function. 4.4 Training the network With all inputs defined and learned, the neural network must be trained. Genetic algorithms were again used for training. With eight input, five hidden, and one output node, the number of weights, along with the bias nodes, is 51. Population size was increased to 100 to deal with this larger space and mutation rate decreased. The new mutation rate of 0.01 was chosen such that only one chromosome would be affected; same as last time. Selection and crossover rates as well as fitness function remain the same. Each chromosome s knowledge was put into a Minimax agent and used for its evaluation function. This agent played as white and black player against the greedy, influence map (using the same map), and greedy influence (combination of two approaches) agents. A total of six games were therefore played for each chromosome and the fitness was averaged. The results of running the genetic algorithm on four different machines in parallel, each with their own initial population, for around 80 hours is shown in table 1. Notice the best chromosome had a maximum fitness of 14.22, which is quite good. table 1 Number of generations 14,608 11,769 11,808 12,597 Maximum fitness obtained To speed up the process during training, Minimax used a max depth of one. Since it is only necessary to find neural network weights that can accurately describe the board state given, a depth of one was enough to accomplish that and any higher depth would have added unnecessary training time [9]. Also to aid in training, the mutation rate was sometimes adjusted when the genetic algorithm appeared to hit a plateau. This occurs when generations seem to all have similar fitness values as nothing new is being added between populations. This could indicate a local minimum and increasing the mutation rate is a way of introducing added variation to help overcome this. To get a better idea of how the Minimax depth affects performance, maximum depths of one to six were used for testing. The max of six was used based on the amount of time taken to play a single game and personal thoughts on how many depths are sufficient enough for testing. Alpha-beta is among the most common Minimax optimizations [10]. It works by figuring out which nodes do not contribute to the final root value. For example, say we have two min level nodes, A and B, with A having a value of four and B unevaluated. B s children would all have to have values greater than four for B to be selected, since B chooses the minimum value of its children. Therefore after evaluating each child node, if the value is ever less than four we can stop. At this point we know that B s value will be less than four and A will be chosen. Therefore the final tree might look something like this: figure 10 The nodes with X s were not evaluated and their subtrees were pruned. This procedure can be performed at any level to eliminate unnecessary node evaluation and cause the entire Minimax algorithm to be a lot less expensive. Although alpha-beta was used to help speed up testing, it could only be used on normal Minimax. The expected min algorithm discussed earlier requires all child nodes to form an accurate value for the min parent, and therefore cannot or should not be combined with any pruning optimizations. 5 Experiments Testing was performed against the three deterministic agents mentioned previously, a random agent and three human players. The greedy agent always takes the move that results in the most opponent pieces being flipped. The influence map agent chooses the move with the highest corresponding value from our influence map. Greedy influence multiplies the number of opponent pieces flipped with the influence map value for each move and picks the one with the highest result. Finally the random agent selects a valid move at random. The human players had self-rated skill

6 levels of one, five, and seven with one being a beginner and ten a very experienced player. 5.1 Artificial agents Here are the results of the agent playing against the three deterministic agents: tables 2 (top) and 3 (bottom) Without EM M MCK MCKBoBa MCKBoP ALL Total Avg Per % % % % % % Total Avg Per 72% 76% 79% 81% 79% With EM M MCK MCKBoBa MCKBoP ALL Total Avg Per % % % % % % Total Avg Per 65% 72% 85% 67% 82% EM refers to the expected min approach. Each cell represents how many games out of six were won (1 game against each of the three agents as both players. Ties count as half a point). For the abbreviations under the table heading: M is Minimax, C is corner detection, K is killer move detection, Bo is blocking, Ba is blacklisting, P is pattern detection, and ALL is for all techniques. Combinations indicate techniques that were used for those tests. The number in the first column represents the maximum Minimax depth searched to. Total was the total number of games won (the sum of the appropriate cells), Avg is the average, and Per is the percent won. Finally, the cells shaded in light gray represent situations were all six games were won, cells in dark gray mean half or less of the games were won, and cells in mid gray represent the best Minimax depth or best combination of techniques for that chart. Even though the expected min approach performed worse overall, it had higher maximum scores with 97% over 90% for depth and 85% over 81% for technique combinations. This indicates some promise for the approach. Note that for expected min, depths one to five were used without alpha-beta pruning, however, due to memory constraints, it was applied for depth six. This caused the performance of depth six to be less than that of the true value. For normal Minimax this anomaly is also present and can be explained by examining the different exploit combinations. Notice that for those technique sets that do not include blacklisting, the performance actually improved from depth five. This would indicate that blacklisting does not perform well at this depth and is evidence of the precaution mentioned when blacklisting was introduced earlier. Basically blacklisting is being used in situations where Minimax produces better results. Therefore blacklisting is preventing what it feels is a bad move, when Minimax, having examined the possible board states 6 plies ahead, knows better. This leads to the point that, although each of these exploits can be used to improve performance, they all have the ability to decrease performance under certain circumstances. Therefore caution should be taken when choosing the correct combination (more on this later). Also, note that depth one did considerably better than most other depths in both situations. This is most likely the side effect of training at that depth. Another side effect was caused by the fact that these testing agents were the same as the training agents. Although the depths and techniques used differ, this fact could have caused distortion of the test results. It is therefore imperative that tests are run against unseen agents. Therefore the same tests were repeated against the random agent with the difference that each game was played ten times and scores were averaged. The agent s scores in every category were superior to that of the random agent. 5.2 Human agents Next, human players tested the aptitude of the agent. Here are the results: tables 4 (top) and 5 (bottom) Without EM M ALL Total Avg Per % % Total Avg Per 75% 92% With EM M ALL Total Avg Per % % Total Avg Per 50% 92% Note that with human players, the amount of combinations, and therefore amount of games required, must be lowered in order to seem reasonable. The charts are in the same format as before and again alpha-beta was used with expected min at a depth of six. The results improved when the game-specific exploits were added as indicated by the all column and every exploit and depth category saw 50%

7 or higher cumulative scores (meaning the agent matched or exceeded the expertise of the human player). 5.3 Choosing the right parameters When choosing the right exploits, Minimax depth, and whether or not to use expected min, one must consider the application of the Othello agent. Aspects to consider are that of move accuracy, time taken, and Minimax nodes examined (for memory constraints) and are summarized in the following figures and tables. Figure 12 shows the information expressed in table 6 below it. In both, NM stands for normal Minimax and EM stands for expected min Minimax. Each depth can significantly increase the average amount of time (in seconds) taken for a move decision to be made. Since using expected min at depth six was not actually possible (due to memory constraints), the data for it was estimated using a third order polynomial with the data from depths one to five. The data for average number of nodes searched is highly correlated with average move time as it is the main factor in determining it. Table 7 shows this with the expected min value at depth six being estimated using the same procedure as in table 6. table 7 Average Nodes Searched NM ,037 7,548 EM ,502 28,862 79,496 figure 11 Figure 11 shows the percent accuracy of move decisions for both expected and normal Minimax and how it changes with maximum depth. The data for this figure was taken from tables 2 and 3 above. figure 12 table 6 Average Move Times (sec) NM EM If the agent application was that of a commercial game, move time would need to be minimized, nodes searched must be kept reasonable, and accuracy could be negotiable by the human player. For an easy difficulty setting, one might choose Minimax only with expected min and search depth of two. Normal difficulty could be Minimax with normal min searching to a depth of three with corner and killer move detection. For hard, normal min Minimax at depth six along with all exploits active. If the application was more of a test against other computer agents, move accuracy may be more important than quicker move times and nodes searched may not be of too much concern. If that is the case, a combination of expected min Minimax searching to a depth of five with corner detection, killer move detection, blocking and blacklisting would be a good choice. 6 Conclusion This paper has shown the approaches used to create an intelligent Othello player. Game specific heuristics, namely killer move detection, corner detection, blocking, pattern detection, and blacklisting were created to help the agent choose an ideal move among the valid alternatives. If these fail to produce a decision, Minimax is ran using a custom static evaluation function learned by genetic algorithms and driven by a neural network. An alternative to the standard way of choosing a value for the min node was also presented. All of the above were then tested under the same situations and results were summarized and explained. Advice was given on selecting one s own combination of techniques for specific tasks. Overall the agent with all its methods performed quite well on all tests presented to it. 6.1 Future work To improve upon the agent, some further work could be done. If one were to use a variation of the leave-one-out cross

8 validation by training on two of the three deterministic agents then testing on the third, and repeating this for each agent, a better approximation of the true performance could be obtained for the neural network static evaluation function. The neural network might also benefit from the addition of more input features. One such value might be the number of strong lines on the board for each player where strong is defined as a collection of pieces that are hard to overtake in few moves. For example if a player had pieces that formed a line from one side of the board to the other, there would be no way the opponent could overtake all pieces in a single move, and would probably require several instead. Also, the way in which the neural network learns could be changed to a reinforcement learning method as opposed to genetic algorithms as they might yield better weights. If one wanted to use this agent in an Othello game meant for human players, one could benefit from adding more Minimax optimizations such as Negascout [11] or other forms of aspiration search. Remembering ideal moves from past games and forming a history table may help to improve move times as more games are played. This could also lead to deeper Minimax searching by recalling past values found from evaluating the same board state. More patterns could help to capture these ideal moves, however they must be well thought out since, like blacklisting, they can be overused and block better decisions from Minimax. [8] Mitchell, Tom M. Machine Learning. Singapore: Mcgraw Hill, [9] Smed, Jouni, and Harri Hakonen. Algorithms and Networking for Computer Games. Finland: John Wiley & Sons, Ltd, [10] Shapiro, Stuart C. Encyclopedia of Artificial Intelligence. USA: Wiley-Interscience, [11] Reinefeld, Alexander. Die Entwicklung der Spielprogrammierung: Von John von Neumann bis zu den hochparallelen Schachmaschinen. Zuse Institut Berlin: Humboldt-Universität zu Berlin, References [1] AI Horizon: Minimax Game Tree Programming, Part 1. AI Horizon: Computer Science and Artificial Intelligence Programming Resources. AI Horizon. 27 February < >. [2] Rajiv Bakulesh Shah, minimax, in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed, U.S. National Institute of Standards and Technology. 10 January February < [3] Rose, Brian. Othello: A Minute to Learn... A Lifetime to Master. Anjar Co., [4] Graupe, Daniel. Principles of Artificial Neural Networks. Singapore: World Scientific, [5] Shepherd, Adrian J. Second-Order Methods for Neural Networks. Great Britain: Springer, [6] Matthews, James. generation5 Simple Board Game AI. generation5 At the forefront of Artificial Intelligence. 27 December Generation5. 27 February < [7] Mitchell, Tom M. Machine Learning. Singapore: Mcgraw Hill,

An intelligent Othello player combining machine learning and game specific heuristics

An intelligent Othello player combining machine learning and game specific heuristics Louisiana State University LSU Digital Commons LSU Master's Theses Graduate School 2011 An intelligent Othello player combining machine learning and game specific heuristics Kevin Anthony Cherry Louisiana

More information

CS 229 Final Project: Using Reinforcement Learning to Play Othello

CS 229 Final Project: Using Reinforcement Learning to Play Othello CS 229 Final Project: Using Reinforcement Learning to Play Othello Kevin Fry Frank Zheng Xianming Li ID: kfry ID: fzheng ID: xmli 16 December 2016 Abstract We built an AI that learned to play Othello.

More information

Adversary Search. Ref: Chapter 5

Adversary Search. Ref: Chapter 5 Adversary Search Ref: Chapter 5 1 Games & A.I. Easy to measure success Easy to represent states Small number of operators Comparison against humans is possible. Many games can be modeled very easily, although

More information

ARTIFICIAL INTELLIGENCE (CS 370D)

ARTIFICIAL INTELLIGENCE (CS 370D) Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) (CHAPTER-5) ADVERSARIAL SEARCH ADVERSARIAL SEARCH Optimal decisions Min algorithm α-β pruning Imperfect,

More information

game tree complete all possible moves

game tree complete all possible moves Game Trees Game Tree A game tree is a tree the nodes of which are positions in a game and edges are moves. The complete game tree for a game is the game tree starting at the initial position and containing

More information

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi Learning to Play like an Othello Master CS 229 Project Report December 13, 213 1 Abstract This project aims to train a machine to strategically play the game of Othello using machine learning. Prior to

More information

Game Tree Search. CSC384: Introduction to Artificial Intelligence. Generalizing Search Problem. General Games. What makes something a game?

Game Tree Search. CSC384: Introduction to Artificial Intelligence. Generalizing Search Problem. General Games. What makes something a game? CSC384: Introduction to Artificial Intelligence Generalizing Search Problem Game Tree Search Chapter 5.1, 5.2, 5.3, 5.6 cover some of the material we cover here. Section 5.6 has an interesting overview

More information

Five-In-Row with Local Evaluation and Beam Search

Five-In-Row with Local Evaluation and Beam Search Five-In-Row with Local Evaluation and Beam Search Jiun-Hung Chen and Adrienne X. Wang jhchen@cs axwang@cs Abstract This report provides a brief overview of the game of five-in-row, also known as Go-Moku,

More information

2 person perfect information

2 person perfect information Why Study Games? Games offer: Intellectual Engagement Abstraction Representability Performance Measure Not all games are suitable for AI research. We will restrict ourselves to 2 person perfect information

More information

CSC 380 Final Presentation. Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis

CSC 380 Final Presentation. Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis CSC 380 Final Presentation Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis Intro Connect 4 is a zero-sum game, which means one party wins everything or both parties win nothing; there is no mutual

More information

Game Playing for a Variant of Mancala Board Game (Pallanguzhi)

Game Playing for a Variant of Mancala Board Game (Pallanguzhi) Game Playing for a Variant of Mancala Board Game (Pallanguzhi) Varsha Sankar (SUNet ID: svarsha) 1. INTRODUCTION Game playing is a very interesting area in the field of Artificial Intelligence presently.

More information

AI Approaches to Ultimate Tic-Tac-Toe

AI Approaches to Ultimate Tic-Tac-Toe AI Approaches to Ultimate Tic-Tac-Toe Eytan Lifshitz CS Department Hebrew University of Jerusalem, Israel David Tsurel CS Department Hebrew University of Jerusalem, Israel I. INTRODUCTION This report is

More information

2048: An Autonomous Solver

2048: An Autonomous Solver 2048: An Autonomous Solver Final Project in Introduction to Artificial Intelligence ABSTRACT. Our goal in this project was to create an automatic solver for the wellknown game 2048 and to analyze how different

More information

mywbut.com Two agent games : alpha beta pruning

mywbut.com Two agent games : alpha beta pruning Two agent games : alpha beta pruning 1 3.5 Alpha-Beta Pruning ALPHA-BETA pruning is a method that reduces the number of nodes explored in Minimax strategy. It reduces the time required for the search and

More information

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol Google DeepMind s AlphaGo vs. world Go champion Lee Sedol Review of Nature paper: Mastering the game of Go with Deep Neural Networks & Tree Search Tapani Raiko Thanks to Antti Tarvainen for some slides

More information

Module 3. Problem Solving using Search- (Two agent) Version 2 CSE IIT, Kharagpur

Module 3. Problem Solving using Search- (Two agent) Version 2 CSE IIT, Kharagpur Module 3 Problem Solving using Search- (Two agent) 3.1 Instructional Objective The students should understand the formulation of multi-agent search and in detail two-agent search. Students should b familiar

More information

Computer Science and Software Engineering University of Wisconsin - Platteville. 4. Game Play. CS 3030 Lecture Notes Yan Shi UW-Platteville

Computer Science and Software Engineering University of Wisconsin - Platteville. 4. Game Play. CS 3030 Lecture Notes Yan Shi UW-Platteville Computer Science and Software Engineering University of Wisconsin - Platteville 4. Game Play CS 3030 Lecture Notes Yan Shi UW-Platteville Read: Textbook Chapter 6 What kind of games? 2-player games Zero-sum

More information

CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH. Santiago Ontañón

CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH. Santiago Ontañón CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH Santiago Ontañón so367@drexel.edu Recall: Adversarial Search Idea: When there is only one agent in the world, we can solve problems using DFS, BFS, ID,

More information

CS 4700: Artificial Intelligence

CS 4700: Artificial Intelligence CS 4700: Foundations of Artificial Intelligence Fall 2017 Instructor: Prof. Haym Hirsh Lecture 10 Today Adversarial search (R&N Ch 5) Tuesday, March 7 Knowledge Representation and Reasoning (R&N Ch 7)

More information

Game-Playing & Adversarial Search

Game-Playing & Adversarial Search Game-Playing & Adversarial Search This lecture topic: Game-Playing & Adversarial Search (two lectures) Chapter 5.1-5.5 Next lecture topic: Constraint Satisfaction Problems (two lectures) Chapter 6.1-6.4,

More information

CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5

CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5 CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5 Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Topics Game playing Game trees

More information

CPS331 Lecture: Search in Games last revised 2/16/10

CPS331 Lecture: Search in Games last revised 2/16/10 CPS331 Lecture: Search in Games last revised 2/16/10 Objectives: 1. To introduce mini-max search 2. To introduce the use of static evaluation functions 3. To introduce alpha-beta pruning Materials: 1.

More information

Games (adversarial search problems)

Games (adversarial search problems) Mustafa Jarrar: Lecture Notes on Games, Birzeit University, Palestine Fall Semester, 204 Artificial Intelligence Chapter 6 Games (adversarial search problems) Dr. Mustafa Jarrar Sina Institute, University

More information

Adversarial Search 1

Adversarial Search 1 Adversarial Search 1 Adversarial Search The ghosts trying to make pacman loose Can not come up with a giant program that plans to the end, because of the ghosts and their actions Goal: Eat lots of dots

More information

Programming an Othello AI Michael An (man4), Evan Liang (liange)

Programming an Othello AI Michael An (man4), Evan Liang (liange) Programming an Othello AI Michael An (man4), Evan Liang (liange) 1 Introduction Othello is a two player board game played on an 8 8 grid. Players take turns placing stones with their assigned color (black

More information

CS 771 Artificial Intelligence. Adversarial Search

CS 771 Artificial Intelligence. Adversarial Search CS 771 Artificial Intelligence Adversarial Search Typical assumptions Two agents whose actions alternate Utility values for each agent are the opposite of the other This creates the adversarial situation

More information

Adversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I

Adversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I Adversarial Search and Game- Playing C H A P T E R 6 C M P T 3 1 0 : S P R I N G 2 0 1 1 H A S S A N K H O S R A V I Adversarial Search Examine the problems that arise when we try to plan ahead in a world

More information

More on games (Ch )

More on games (Ch ) More on games (Ch. 5.4-5.6) Announcements Midterm next Tuesday: covers weeks 1-4 (Chapters 1-4) Take the full class period Open book/notes (can use ebook) ^^ No programing/code, internet searches or friends

More information

Adversarial Search and Game Playing. Russell and Norvig: Chapter 5

Adversarial Search and Game Playing. Russell and Norvig: Chapter 5 Adversarial Search and Game Playing Russell and Norvig: Chapter 5 Typical case 2-person game Players alternate moves Zero-sum: one player s loss is the other s gain Perfect information: both players have

More information

Game Engineering CS F-24 Board / Strategy Games

Game Engineering CS F-24 Board / Strategy Games Game Engineering CS420-2014F-24 Board / Strategy Games David Galles Department of Computer Science University of San Francisco 24-0: Overview Example games (board splitting, chess, Othello) /Max trees

More information

Real-Time Connect 4 Game Using Artificial Intelligence

Real-Time Connect 4 Game Using Artificial Intelligence Journal of Computer Science 5 (4): 283-289, 2009 ISSN 1549-3636 2009 Science Publications Real-Time Connect 4 Game Using Artificial Intelligence 1 Ahmad M. Sarhan, 2 Adnan Shaout and 2 Michele Shock 1

More information

More on games (Ch )

More on games (Ch ) More on games (Ch. 5.4-5.6) Alpha-beta pruning Previously on CSci 4511... We talked about how to modify the minimax algorithm to prune only bad searches (i.e. alpha-beta pruning) This rule of checking

More information

Playing Othello Using Monte Carlo

Playing Othello Using Monte Carlo June 22, 2007 Abstract This paper deals with the construction of an AI player to play the game Othello. A lot of techniques are already known to let AI players play the game Othello. Some of these techniques

More information

V. Adamchik Data Structures. Game Trees. Lecture 1. Apr. 05, Plan: 1. Introduction. 2. Game of NIM. 3. Minimax

V. Adamchik Data Structures. Game Trees. Lecture 1. Apr. 05, Plan: 1. Introduction. 2. Game of NIM. 3. Minimax Game Trees Lecture 1 Apr. 05, 2005 Plan: 1. Introduction 2. Game of NIM 3. Minimax V. Adamchik 2 ü Introduction The search problems we have studied so far assume that the situation is not going to change.

More information

CS885 Reinforcement Learning Lecture 13c: June 13, Adversarial Search [RusNor] Sec

CS885 Reinforcement Learning Lecture 13c: June 13, Adversarial Search [RusNor] Sec CS885 Reinforcement Learning Lecture 13c: June 13, 2018 Adversarial Search [RusNor] Sec. 5.1-5.4 CS885 Spring 2018 Pascal Poupart 1 Outline Minimax search Evaluation functions Alpha-beta pruning CS885

More information

Outline. Game Playing. Game Problems. Game Problems. Types of games Playing a perfect game. Playing an imperfect game

Outline. Game Playing. Game Problems. Game Problems. Types of games Playing a perfect game. Playing an imperfect game Outline Game Playing ECE457 Applied Artificial Intelligence Fall 2007 Lecture #5 Types of games Playing a perfect game Minimax search Alpha-beta pruning Playing an imperfect game Real-time Imperfect information

More information

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became Reversi Meng Tran tranm@seas.upenn.edu Faculty Advisor: Dr. Barry Silverman Abstract: The game of Reversi was invented around 1880 by two Englishmen, Lewis Waterman and John W. Mollett. It later became

More information

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask Set 4: Game-Playing ICS 271 Fall 2017 Kalev Kask Overview Computer programs that play 2-player games game-playing as search with the complication of an opponent General principles of game-playing and search

More information

Artificial Intelligence. Minimax and alpha-beta pruning

Artificial Intelligence. Minimax and alpha-beta pruning Artificial Intelligence Minimax and alpha-beta pruning In which we examine the problems that arise when we try to plan ahead to get the best result in a world that includes a hostile agent (other agent

More information

Universiteit Leiden Opleiding Informatica

Universiteit Leiden Opleiding Informatica Universiteit Leiden Opleiding Informatica Predicting the Outcome of the Game Othello Name: Simone Cammel Date: August 31, 2015 1st supervisor: 2nd supervisor: Walter Kosters Jeannette de Graaf BACHELOR

More information

Experiments on Alternatives to Minimax

Experiments on Alternatives to Minimax Experiments on Alternatives to Minimax Dana Nau University of Maryland Paul Purdom Indiana University April 23, 1993 Chun-Hung Tzeng Ball State University Abstract In the field of Artificial Intelligence,

More information

Documentation and Discussion

Documentation and Discussion 1 of 9 11/7/2007 1:21 AM ASSIGNMENT 2 SUBJECT CODE: CS 6300 SUBJECT: ARTIFICIAL INTELLIGENCE LEENA KORA EMAIL:leenak@cs.utah.edu Unid: u0527667 TEEKO GAME IMPLEMENTATION Documentation and Discussion 1.

More information

Evolutionary Neural Network for Othello Game

Evolutionary Neural Network for Othello Game Available online at www.sciencedirect.com Procedia - Social and Behavioral Sciences 57 ( 2012 ) 419 425 International Conference on Asia Pacific Business Innovation and Technology Management Evolutionary

More information

Lecture 14. Questions? Friday, February 10 CS 430 Artificial Intelligence - Lecture 14 1

Lecture 14. Questions? Friday, February 10 CS 430 Artificial Intelligence - Lecture 14 1 Lecture 14 Questions? Friday, February 10 CS 430 Artificial Intelligence - Lecture 14 1 Outline Chapter 5 - Adversarial Search Alpha-Beta Pruning Imperfect Real-Time Decisions Stochastic Games Friday,

More information

MyPawns OppPawns MyKings OppKings MyThreatened OppThreatened MyWins OppWins Draws

MyPawns OppPawns MyKings OppKings MyThreatened OppThreatened MyWins OppWins Draws The Role of Opponent Skill Level in Automated Game Learning Ying Ge and Michael Hash Advisor: Dr. Mark Burge Armstrong Atlantic State University Savannah, Geogia USA 31419-1997 geying@drake.armstrong.edu

More information

CS221 Project Final Report Gomoku Game Agent

CS221 Project Final Report Gomoku Game Agent CS221 Project Final Report Gomoku Game Agent Qiao Tan qtan@stanford.edu Xiaoti Hu xiaotihu@stanford.edu 1 Introduction Gomoku, also know as five-in-a-row, is a strategy board game which is traditionally

More information

Game Playing Beyond Minimax. Game Playing Summary So Far. Game Playing Improving Efficiency. Game Playing Minimax using DFS.

Game Playing Beyond Minimax. Game Playing Summary So Far. Game Playing Improving Efficiency. Game Playing Minimax using DFS. Game Playing Summary So Far Game tree describes the possible sequences of play is a graph if we merge together identical states Minimax: utility values assigned to the leaves Values backed up the tree

More information

Adversarial Search (Game Playing)

Adversarial Search (Game Playing) Artificial Intelligence Adversarial Search (Game Playing) Chapter 5 Adapted from materials by Tim Finin, Marie desjardins, and Charles R. Dyer Outline Game playing State of the art and resources Framework

More information

Unit-III Chap-II Adversarial Search. Created by: Ashish Shah 1

Unit-III Chap-II Adversarial Search. Created by: Ashish Shah 1 Unit-III Chap-II Adversarial Search Created by: Ashish Shah 1 Alpha beta Pruning In case of standard ALPHA BETA PRUNING minimax tree, it returns the same move as minimax would, but prunes away branches

More information

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( )

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( ) COMP3211 Project Artificial Intelligence for Tron game Group 7 Chiu Ka Wa (20369737) Chun Wai Wong (20265022) Ku Chun Kit (20123470) Abstract Tron is an old and popular game based on a movie of the same

More information

Applications of Artificial Intelligence and Machine Learning in Othello TJHSST Computer Systems Lab

Applications of Artificial Intelligence and Machine Learning in Othello TJHSST Computer Systems Lab Applications of Artificial Intelligence and Machine Learning in Othello TJHSST Computer Systems Lab 2009-2010 Jack Chen January 22, 2010 Abstract The purpose of this project is to explore Artificial Intelligence

More information

Game-playing AIs: Games and Adversarial Search I AIMA

Game-playing AIs: Games and Adversarial Search I AIMA Game-playing AIs: Games and Adversarial Search I AIMA 5.1-5.2 Games: Outline of Unit Part I: Games as Search Motivation Game-playing AI successes Game Trees Evaluation Functions Part II: Adversarial Search

More information

CMPUT 396 Tic-Tac-Toe Game

CMPUT 396 Tic-Tac-Toe Game CMPUT 396 Tic-Tac-Toe Game Recall minimax: - For a game tree, we find the root minimax from leaf values - With minimax we can always determine the score and can use a bottom-up approach Why use minimax?

More information

Algorithms for Data Structures: Search for Games. Phillip Smith 27/11/13

Algorithms for Data Structures: Search for Games. Phillip Smith 27/11/13 Algorithms for Data Structures: Search for Games Phillip Smith 27/11/13 Search for Games Following this lecture you should be able to: Understand the search process in games How an AI decides on the best

More information

Adversarial Search: Game Playing. Reading: Chapter

Adversarial Search: Game Playing. Reading: Chapter Adversarial Search: Game Playing Reading: Chapter 6.5-6.8 1 Games and AI Easy to represent, abstract, precise rules One of the first tasks undertaken by AI (since 1950) Better than humans in Othello and

More information

Artificial Intelligence Adversarial Search

Artificial Intelligence Adversarial Search Artificial Intelligence Adversarial Search Adversarial Search Adversarial search problems games They occur in multiagent competitive environments There is an opponent we can t control planning again us!

More information

Othello/Reversi using Game Theory techniques Parth Parekh Urjit Singh Bhatia Kushal Sukthankar

Othello/Reversi using Game Theory techniques Parth Parekh Urjit Singh Bhatia Kushal Sukthankar Othello/Reversi using Game Theory techniques Parth Parekh Urjit Singh Bhatia Kushal Sukthankar Othello Rules Two Players (Black and White) 8x8 board Black plays first Every move should Flip over at least

More information

CS188 Spring 2010 Section 3: Game Trees

CS188 Spring 2010 Section 3: Game Trees CS188 Spring 2010 Section 3: Game Trees 1 Warm-Up: Column-Row You have a 3x3 matrix of values like the one below. In a somewhat boring game, player A first selects a row, and then player B selects a column.

More information

Virtual Global Search: Application to 9x9 Go

Virtual Global Search: Application to 9x9 Go Virtual Global Search: Application to 9x9 Go Tristan Cazenave LIASD Dept. Informatique Université Paris 8, 93526, Saint-Denis, France cazenave@ai.univ-paris8.fr Abstract. Monte-Carlo simulations can be

More information

Intuition Mini-Max 2

Intuition Mini-Max 2 Games Today Saying Deep Blue doesn t really think about chess is like saying an airplane doesn t really fly because it doesn t flap its wings. Drew McDermott I could feel I could smell a new kind of intelligence

More information

CS188 Spring 2014 Section 3: Games

CS188 Spring 2014 Section 3: Games CS188 Spring 2014 Section 3: Games 1 Nearly Zero Sum Games The standard Minimax algorithm calculates worst-case values in a zero-sum two player game, i.e. a game in which for all terminal states s, the

More information

Teaching a Neural Network to Play Konane

Teaching a Neural Network to Play Konane Teaching a Neural Network to Play Konane Darby Thompson Spring 5 Abstract A common approach to game playing in Artificial Intelligence involves the use of the Minimax algorithm and a static evaluation

More information

Generalized Game Trees

Generalized Game Trees Generalized Game Trees Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, Ca. 90024 Abstract We consider two generalizations of the standard two-player game

More information

Adversarial Search. Soleymani. Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 5

Adversarial Search. Soleymani. Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 5 Adversarial Search CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2017 Soleymani Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 5 Outline Game

More information

Theory and Practice of Artificial Intelligence

Theory and Practice of Artificial Intelligence Theory and Practice of Artificial Intelligence Games Daniel Polani School of Computer Science University of Hertfordshire March 9, 2017 All rights reserved. Permission is granted to copy and distribute

More information

A Quoridor-playing Agent

A Quoridor-playing Agent A Quoridor-playing Agent P.J.C. Mertens June 21, 2006 Abstract This paper deals with the construction of a Quoridor-playing software agent. Because Quoridor is a rather new game, research about the game

More information

Game Theory Lecturer: Ji Liu Thanks for Jerry Zhu's slides

Game Theory Lecturer: Ji Liu Thanks for Jerry Zhu's slides Game Theory ecturer: Ji iu Thanks for Jerry Zhu's slides [based on slides from Andrew Moore http://www.cs.cmu.edu/~awm/tutorials] slide 1 Overview Matrix normal form Chance games Games with hidden information

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence CS482, CS682, MW 1 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis, sushil@cse.unr.edu, http://www.cse.unr.edu/~sushil Non-classical search - Path does not

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence CS482, CS682, MW 1 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis, sushil@cse.unr.edu, http://www.cse.unr.edu/~sushil Games and game trees Multi-agent systems

More information

For slightly more detailed instructions on how to play, visit:

For slightly more detailed instructions on how to play, visit: Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! The purpose of this assignment is to program some of the search algorithms and game playing strategies that we have learned

More information

CMSC 671 Project Report- Google AI Challenge: Planet Wars

CMSC 671 Project Report- Google AI Challenge: Planet Wars 1. Introduction Purpose The purpose of the project is to apply relevant AI techniques learned during the course with a view to develop an intelligent game playing bot for the game of Planet Wars. Planet

More information

Monte Carlo Tree Search

Monte Carlo Tree Search Monte Carlo Tree Search 1 By the end, you will know Why we use Monte Carlo Search Trees The pros and cons of MCTS How it is applied to Super Mario Brothers and Alpha Go 2 Outline I. Pre-MCTS Algorithms

More information

4. Games and search. Lecture Artificial Intelligence (4ov / 8op)

4. Games and search. Lecture Artificial Intelligence (4ov / 8op) 4. Games and search 4.1 Search problems State space search find a (shortest) path from the initial state to the goal state. Constraint satisfaction find a value assignment to a set of variables so that

More information

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1 Last update: March 9, 2010 Game playing CMSC 421, Chapter 6 CMSC 421, Chapter 6 1 Finite perfect-information zero-sum games Finite: finitely many agents, actions, states Perfect information: every agent

More information

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search COMP19: Artificial Intelligence COMP19: Artificial Intelligence Dr. Annabel Latham Room.05 Ashton Building Department of Computer Science University of Liverpool Lecture 1: Game Playing 1 Overview Last

More information

Using Artificial intelligent to solve the game of 2048

Using Artificial intelligent to solve the game of 2048 Using Artificial intelligent to solve the game of 2048 Ho Shing Hin (20343288) WONG, Ngo Yin (20355097) Lam Ka Wing (20280151) Abstract The report presents the solver of the game 2048 base on artificial

More information

Adversarial Search. CS 486/686: Introduction to Artificial Intelligence

Adversarial Search. CS 486/686: Introduction to Artificial Intelligence Adversarial Search CS 486/686: Introduction to Artificial Intelligence 1 Introduction So far we have only been concerned with a single agent Today, we introduce an adversary! 2 Outline Games Minimax search

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms CS245-2015S-P4 Two Player Games David Galles Department of Computer Science University of San Francisco P4-0: Overview Example games (board splitting, chess, Network) /Max

More information

Adversarial search (game playing)

Adversarial search (game playing) Adversarial search (game playing) References Russell and Norvig, Artificial Intelligence: A modern approach, 2nd ed. Prentice Hall, 2003 Nilsson, Artificial intelligence: A New synthesis. McGraw Hill,

More information

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am The purpose of this assignment is to program some of the search algorithms

More information

CS 188: Artificial Intelligence Spring Announcements

CS 188: Artificial Intelligence Spring Announcements CS 188: Artificial Intelligence Spring 2011 Lecture 7: Minimax and Alpha-Beta Search 2/9/2011 Pieter Abbeel UC Berkeley Many slides adapted from Dan Klein 1 Announcements W1 out and due Monday 4:59pm P2

More information

CS188 Spring 2010 Section 3: Game Trees

CS188 Spring 2010 Section 3: Game Trees CS188 Spring 2010 Section 3: Game Trees 1 Warm-Up: Column-Row You have a 3x3 matrix of values like the one below. In a somewhat boring game, player A first selects a row, and then player B selects a column.

More information

Project 1. Out of 20 points. Only 30% of final grade 5-6 projects in total. Extra day: 10%

Project 1. Out of 20 points. Only 30% of final grade 5-6 projects in total. Extra day: 10% Project 1 Out of 20 points Only 30% of final grade 5-6 projects in total Extra day: 10% 1. DFS (2) 2. BFS (1) 3. UCS (2) 4. A* (3) 5. Corners (2) 6. Corners Heuristic (3) 7. foodheuristic (5) 8. Suboptimal

More information

Artificial Intelligence 1: game playing

Artificial Intelligence 1: game playing Artificial Intelligence 1: game playing Lecturer: Tom Lenaerts Institut de Recherches Interdisciplinaires et de Développements en Intelligence Artificielle (IRIDIA) Université Libre de Bruxelles Outline

More information

Playing Games. Henry Z. Lo. June 23, We consider writing AI to play games with the following properties:

Playing Games. Henry Z. Lo. June 23, We consider writing AI to play games with the following properties: Playing Games Henry Z. Lo June 23, 2014 1 Games We consider writing AI to play games with the following properties: Two players. Determinism: no chance is involved; game state based purely on decisions

More information

AI Plays Yun Nie (yunn), Wenqi Hou (wenqihou), Yicheng An (yicheng)

AI Plays Yun Nie (yunn), Wenqi Hou (wenqihou), Yicheng An (yicheng) AI Plays 2048 Yun Nie (yunn), Wenqi Hou (wenqihou), Yicheng An (yicheng) Abstract The strategy game 2048 gained great popularity quickly. Although it is easy to play, people cannot win the game easily,

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 16.10/13 Principles of Autonomy and Decision Making Lecture 2: Sequential Games Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology December 6, 2010 E. Frazzoli (MIT) L2:

More information

More Adversarial Search

More Adversarial Search More Adversarial Search CS151 David Kauchak Fall 2010 http://xkcd.com/761/ Some material borrowed from : Sara Owsley Sood and others Admin Written 2 posted Machine requirements for mancala Most of the

More information

46.1 Introduction. Foundations of Artificial Intelligence Introduction MCTS in AlphaGo Neural Networks. 46.

46.1 Introduction. Foundations of Artificial Intelligence Introduction MCTS in AlphaGo Neural Networks. 46. Foundations of Artificial Intelligence May 30, 2016 46. AlphaGo and Outlook Foundations of Artificial Intelligence 46. AlphaGo and Outlook Thomas Keller Universität Basel May 30, 2016 46.1 Introduction

More information

Announcements. Homework 1 solutions posted. Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search)

Announcements. Homework 1 solutions posted. Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search) Minimax (Ch. 5-5.3) Announcements Homework 1 solutions posted Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search) Single-agent So far we have look at how a single agent can search

More information

Today. Types of Game. Games and Search 1/18/2010. COMP210: Artificial Intelligence. Lecture 10. Game playing

Today. Types of Game. Games and Search 1/18/2010. COMP210: Artificial Intelligence. Lecture 10. Game playing COMP10: Artificial Intelligence Lecture 10. Game playing Trevor Bench-Capon Room 15, Ashton Building Today We will look at how search can be applied to playing games Types of Games Perfect play minimax

More information

CSC384: Introduction to Artificial Intelligence. Game Tree Search

CSC384: Introduction to Artificial Intelligence. Game Tree Search CSC384: Introduction to Artificial Intelligence Game Tree Search Chapter 5.1, 5.2, 5.3, 5.6 cover some of the material we cover here. Section 5.6 has an interesting overview of State-of-the-Art game playing

More information

CS 380: ARTIFICIAL INTELLIGENCE ADVERSARIAL SEARCH. Santiago Ontañón

CS 380: ARTIFICIAL INTELLIGENCE ADVERSARIAL SEARCH. Santiago Ontañón CS 380: ARTIFICIAL INTELLIGENCE ADVERSARIAL SEARCH Santiago Ontañón so367@drexel.edu Recall: Problem Solving Idea: represent the problem we want to solve as: State space Actions Goal check Cost function

More information

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30 CSE 3402 3.0 Intro. to Concepts of AI Winter 2012 Dept. of Computer Science & Engineering York University Assignment 2 Total marks: 100. Out: February 10 Due: March 5 at 14:30 Note 1: To hand in your report

More information

Lecture 5: Game Playing (Adversarial Search)

Lecture 5: Game Playing (Adversarial Search) Lecture 5: Game Playing (Adversarial Search) CS 580 (001) - Spring 2018 Amarda Shehu Department of Computer Science George Mason University, Fairfax, VA, USA February 21, 2018 Amarda Shehu (580) 1 1 Outline

More information

ADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter , 5.7,5.8

ADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter , 5.7,5.8 ADVERSARIAL SEARCH Today Reading AIMA Chapter 5.1-5.5, 5.7,5.8 Goals Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning (Real-time decisions) 1 Questions to ask Were there any

More information

Adversarial Search Aka Games

Adversarial Search Aka Games Adversarial Search Aka Games Chapter 5 Some material adopted from notes by Charles R. Dyer, U of Wisconsin-Madison Overview Game playing State of the art and resources Framework Game trees Minimax Alpha-beta

More information

Game Playing: Adversarial Search. Chapter 5

Game Playing: Adversarial Search. Chapter 5 Game Playing: Adversarial Search Chapter 5 Outline Games Perfect play minimax search α β pruning Resource limits and approximate evaluation Games of chance Games of imperfect information Games vs. Search

More information

Game-Playing & Adversarial Search Alpha-Beta Pruning, etc.

Game-Playing & Adversarial Search Alpha-Beta Pruning, etc. Game-Playing & Adversarial Search Alpha-Beta Pruning, etc. First Lecture Today (Tue 12 Jul) Read Chapter 5.1, 5.2, 5.4 Second Lecture Today (Tue 12 Jul) Read Chapter 5.3 (optional: 5.5+) Next Lecture (Thu

More information

Game Mechanics Minesweeper is a game in which the player must correctly deduce the positions of

Game Mechanics Minesweeper is a game in which the player must correctly deduce the positions of Table of Contents Game Mechanics...2 Game Play...3 Game Strategy...4 Truth...4 Contrapositive... 5 Exhaustion...6 Burnout...8 Game Difficulty... 10 Experiment One... 12 Experiment Two...14 Experiment Three...16

More information