2048: An Autonomous Solver

Size: px
Start display at page:

Download "2048: An Autonomous Solver"

Transcription

1 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 heuristics and search algorithms perform when applied to solve the game autonomously. In our work we compare the Alpha-Beta pruning and Expectimax algorithms as well as different heuristics and see how they perform in solving the game. Omri Lifshitz, Ehud Rot, Ido Dan,

2 1. PROBLEM DESCRIPTION 1.1 Background. The game 2048 is a very simplistic yet and enjoyable game. The game is comprised of a 4x4 grid, where each cell in the grid can hold a single block and in each block appears a number which is an exponentiation of two. The game starts with two blocks on the grid with the values 2 or 4. Each turn the player can decide to move all of the tiles on the board to one of four directions (up, down, left or right) only if moving the tiles actually causes the board to change. In each move, moving two tiles with the same number towards each other causes them to convert into a new tile whose value is the sum of the two previous tiles (this only happens if the two tiles have the same number). After each move a new tile is added in a random location on the grid (in one of the unoccupied cells with equal probability); this new tile has the value 2 with a probability of 0.9 and 4 with a probability of 0.1. The goal of the game is to keep connecting tiles until reaching the value The game ends if one of the following occurs: A score of 2048 is achieved There are no more available moves- the player cannot make any move that changes the board and thus is stuck in the current state. 1.2 Game state. Each state in the game is represented by a Python dictionary which maps a tuple of row and column to a tile object. In order to fully describe the state of the game at any given point all we need to know is the position of the tiles on the grid- this dictates all the possible moves, places to place the random tile, and all the information needed in order to continue the game. Therefore it is clear that the way in which we chose to represent the state of the game at any given time is by describing the grid at that same time. 2. IMPLEMENTATION 2.1. Gameplay. Our implementation of the game is based on an open-source python version of the game 2048 that was found online 1, created by "Gabriele Cirulli". One crucial part of the implementation was the ability to split the move into two different parts- the player's move and the random computer move (adding a tile randomly to one of the empty cells in the grid). In order to do so, we needed to reimplement the functions used to control the movements of the tiles according to the player's choice as this method did both of the aforementioned parts. We also added another field to the game which represents whose turn it is to play- this is a Boolean variable that states if the next move should be made by the computer or the player (the use of this variable is explained below). Another crucial part of the re-implementation was creating a clone version of the grid and the game state. The reason we needed to be able to clone the game state is because our algorithms assesses the states in the future and thus we needed to be able to see what the grid will be like in the future without damaging the current state so that it will be able to return to the current state and play best move possible Alpha-Beta Pruning Rationale. Each move the player makes is followed by a random move that the computer makes, each move leading to a new state. According to the scoring heuristic chosen each of 1 The game was originally created as a web game and thus the code was in JavaScript. We wanted to implement our code in Python as we were familiar with the programming language, and thus used the version we found.

3 these new states has its own score (some of these scores may be equal) and affects the progress of the game in a different way. The rationale behind using alpha-beta pruning is that we are preparing to deal with the "worst-case" scenario- each time we take into consideration the worst position where the tile could be placed and by doing so we know that the random positioning of the tile will not affect us Implementation. We implemented the alpha-beta pruning algorithm as seen in class, making our player the "max" player in the game and the computer be the "min" player. The pruning was done in order to speed up the process and avoid checking redundant states. The pruning was done by finding the worst-case scenario using our heuristics (explained below) and only expanding the states with a heuristic value equal to the worst-case scenario. This means that we will not expand any of the states whose heuristic gives a better result and thus saves us a lot of time. As for our "max" player, we give penalize the agent with a very large value if the state causes him to lose the game in order to make sure that the player will avoid losing until there is no other option available. Another feature we implemented is changing the depth of the game tree in the algorithm according to the number of empty cells left on the grid. There are two main reasons for doing so; saving time and making a smarter choice. When there are only a few empty cells left the implications of every move are more critical and each move might be the be-all or the end-all. In addition, the randomness plays a bigger factor when there are fewer places left and therefore we need to better think our move Expectimax algorithm Rationale. Firstly we must notice that the game has a probabilistic aspect to it, each of the tiles the computer places after the player's turn is positioned randomly with an equal probability for each of the unoccupied cells. We chose to implement the expectimax algorithm which takes into consideration a chance element (i.e. the positioning of the new tile). This algorithm is usually used in zero-sum games with a probabilistic element (such as backgammon). We will try to use this algorithm when only one player plays and there is a chance element in order to see if it can take into consideration the randomness in the problem and the player's desire to maximize his score Implementation. We implemented the expectimax algorithm learned in class, but in this implementation we did not have an adversary playing against us, only the computer making a random move in order to represent the random move that the computer makes in the actual game Game Heuristics Empty cell heuristic. This heuristic counts how many cells in the grid are left empty. The rationale behind this heuristic is that when there are more empty cells that chance of failure is much smaller. In addition, we want to encourage our agent to merge as many of the cells as possible (because that causes the tile value to grow) and by doing so it increases the number of empty cells and thus this heuristic also leads the agent to merge cells Score heuristic. This heuristic sums the logarithmic (base 2) value of the tiles on the grid and returns the negation of the result (multiplies the sum by -1). The idea behind this heuristic is to encourage the agent to merge cells and preferably the cells containing larger values. The reason for this is the fact that merging two cells with 4 will change the value of the state from 4 to 3 but merging two cells with 64 will change the value from 12 to 7 and thus the agent will want to merge cell and will prioritize by merging the cells with the larger values first. The

4 reason we want to merge the cells with the higher values is because this will help increase the value of the highest tile and progress the game towards the goal of Highest tile heuristic. This heuristic encourages the agent to merge cells and try to reach the highest tile possible. The rationale for this heuristic is the fact that the goal of the game is to reach a tile with 2048 and thus the agent should try to get the tile with the highest score it possibly can Gradient heuristic. This heuristic measures the difference between each tile to its neighbors, sums these differences and returns the negation of the sum. The idea behind this heuristic is that we want to encourage the agent to organize the grid in such way that tiles with similar values (or relatively close values) will be close together so that we will be able to merge them; once the grid is disorganized it is hard to merge cells causing the grid to fill up and eventually leading to failure Direction heuristic. This heuristic iterates holds four counters, one for each direction in each axis (left/right, down/up) to hold the difference of between the cells in each direction. It iterates over all the occupied cells and in doing so checks the difference between the current cell and its neighbors to the right and to the bottom. It adds the difference between the two cells to the matching counter (if the cell to the right is larger, it adds the difference to the counter representing that the right values are larger and so on). The purpose of this heuristic is to organize the grid and give it a "direction" so it will be easier to merge a large number of cells. 3. RESULT ANALYSIS 3.1 Measuring depth success. In this part we will examine the influence of the pruning depth on the different game parameters of a single run of the game. All runs are conducted with alpha-beta pruning using the best weighing of heuristics we found during testing the game. The parameters examined are the based 2 log of the highest tile found on the board, the game's score (implemented in the original game, is a more accurate measure for the agents success when 2048 tile is not reached) and the running time of current game (until game ends by win or lose). The different parameters are averaged over 10 runs in depths 0-4 of the maximizing player. We also examined a special depth which is a combination of depths 2 and 4, as described in part Chart 1 -The game's score vs. the alpha-beta pruning Analyzing the results led depth to some characteristics of the agent's behavior: Chart 2 - Average 2 based log of the highest tile in the board vs. the alpha-beta depth. As can be seen, after depth 2 the average is not influenced much by the depth

5 Chart 3 - The success rate of thealpha-beta agent over different search depths. As seen, higher depth has significently better success rate Chart 4 The running time (in 10 based logarithmic scale) in different search depths. The running time is exponantially dependent on the search depth Success Dependence. The first, most trivial yet important conclusion is the strong dependence of the success rate in the search depths. As seen in chart 3, the success rate depends approximately linearly in the search depth; therefore, achieving high success rates is possible only when running deeper searches. This of course, makes sense since deeper search means looking deeper into the predicted future of the game and taking actions that will lead to higher tiles and better board order. The dependence strength is interesting; we believe it is so strong because in this game, making wrong moves in crucial situations may lead to bad board states which are sometimes irreversible. Moreover, winning this game is pretty complex even for humans because of the exact same reason, you must see enough steps ahead otherwise you lose. Another nice result is that we do not achieve any success when we use depth 0 or 1 searches. That comes in line with the last conclusion; if you act "greedily" you will not win Exponential time. Another result we expected is the exponential growth in the games running time. As seen in chart 4, the running time grows linearly in a log scale the growth of the running time is exponential. This growth is due to the search tree branching, as we know, increasing the depth by 1 cause the number of leaves to multiply by 4 the number of actions possible for the maximizing agent. As we continue to increase the depth, we will get unreasonable running time for the search Score and highest tile. The results are not very surprising nor interesting. The score, highest tile and success rate has a strong connection and are greater in the same depths The time/success ratio. The interesting fact we can conclude from charts 3 and 4 is the following; the ratio between the success rate and the running time has a maximum. That means that if your goal is to reach as many victories possible in given time, the best thing to do is not to run the deepest search but to run several runs of shorter run, such as the 2-4 combination or the depth 2 or 3 search. In this case, the success rate does not grow but the successes in a finite time are maximal. 3.2 Compare to expectimax. Compare with the success rate and runtime of expectimax. In this part, we will compare the two search algorithms we described above. In order to perform the comparison in reasonable time, we compared both algorithms with the same depth the 2-4 combination described above, which as mentioned, gives the best result for time ratio and also fine success rate. The parameters compared are the running time, the highest tile and the score.

6 Log2 of best tile's value vs. depth expectimax alpha-beta and 4 Chart 5 based 2 log of the best tile's value in different depths, the tiles that the alpha-beta reaches are much hugher than the tiles of expectimax As seen in chart 5 the expectimax reaches a much lower highest tile performs much worse than the alpha-beta pruning. This creates a problem in comparing the running time, since the expectimax failed much earlier, it did fewer moves and that caused a much shorter running time. To overcome this problem we looked at the relative time/score value that better signifies the running time compared to the success of the agent. As can be seen in both chart 5 and 6, the alpha-beta search gives us a much better result in a much shorter relative time. At first glance, this result is surprising; we would expect a better result from the 0.15 Time/Score vs. Depth 0.2 expectimax alpha-beta and 4 Chart 3 The time/score ratio in different search depths, we see that the alpha-beta performs much better than expectimax in all depths search that considered the stochastic behavior of the game the expectimax search. The explanation we give to these results is divided into two parts, the long relative time the run takes and the poor result. The reason for the long relative running time lies in the fact that the expectimax search tree grows much faster than the alpha-beta one. The expectimax algorithm checks every possible option for the computer to position the next tile, this causes a huge branching factor of the tree, which in the beginning can reach up to 15 for the "chance" player. In contrary to the alpha beta pruning that expends only the worst-case tile for the player, leading to a much faster run. We believe that the reason for the poor result is because expectimax is usually used in zero-sum games, the 2048 game is not such a game and therefore, expectimax will not improve our search significantly.

7 3.3 Heuristic Factors. In this part we will show the importance of correct combination between our heuristics determining the heuristics factors. The importance of weighing the heuristics correctly is obvious, each heuristic leads to certain features of the tiles layout but none of them can lead to a 2048 tile on its own. We separate our heuristics into two groups that share common features: "The arrangers" and "The achievers" Arrangers. The arrangers group contains the heuristics that leads to a more ordered board. All the heuristics in this group grades the board only by relations between tiles and never by a tiles value only. Without them, the board will turn messy and the tiles will not be positioned next to tiles they can merge with, leading to a more "random" board and failure. Alone, "arranging" heuristics would not lead to ending the game and will most fail with a very low highest tile. Direction and Gradient heuristic fits in here, because their only purpose is to keep the board ordered; in a certain direction and with low difference between tiles (as seen in figure 1,2), respectively Achievers. The achievers group contains the heuristics that leads to higher tiles. All the heuristics in it will grade better boards that have higher tiles with no reference of the order of tiles. The achieving heuristics relates only to the value of each tile and not to the connection between values. Without these heuristics the game will end very quickly because the actions taken would not encourage high tiles, leading to many tiles with similar values and quick board filling. Alone, these heuristics will promote relatively Figure 1 A state of the board during a run with only the gradient heuristic. The board tends to have identical neighboring tiles Figure 3 - A state of the board during a run with only the highest tile heuristic. The board is not ordered and only one high tile Figure 2 - A state of the board during a run with only the direction heuristic. The board tends to be ordered in a certain direction Figure 4 - A state of the board during a run with only the score heuristic. The board has "islands" of high tiles but not necessarily close "greedy" actions that will lead to an unordered board (as seen in figures 3,4). Highest tile and Score heuristics fits in this group and will lead to a high valued tile, to high score (that leads to a higher value tiles). Taking these two groups into consideration, we can clearly see that the "empty cells" heuristic fits both groups as it leads to tile merging and therefore better ordered board and higher tiles. As we did in the previous section, we compared the running time, highest tile and scored achieved by the different groups of heuristics in order to understand the correct "game plan" (how the factors affect the results of the game). Our comparisons were made using alpha-beta pruning as we saw that his algorithm lead to better results both in terms of time (it takes less time to run) and in terms of highest tile achieved and success rate.

8 We started by running the game with each of the heuristic groups and looked at the score, time and highest tile achieved. The first thing we looked at was the ration of time/score in order to see which of these heuristics is faster. The reason we looked at the ratio is because sometimes the games ended more quickly than others and we wanted to have a measure for the time it takes for the heuristic not the time of the game (which varied greatly between games as a factor of the result of the game). The graph displaying these ratios for the two heuristic groups is displayed below: Time/ Score for Acheivers and Arrangers Acheivers Arrangers 0 Chart 7 The time/score ratio for different heuristic groups using depths 2 and 4 As we can see from chart 7, the achievers give us a better score per time ratio. All in all this conclusion does make sense as the score is given based on the value of the tiles on the board and not based on the way they are organized. Therefore, heuristics that are achievers try to maximize the value of the tiles and lead to a higher score in less time. Our next step in analyzing these heuristics was to see how the average value of the highest tile was affected by the heuristic, i.e. which of the heuristics gave on average a higher tile. After running the game 10 times with only the achievers heuristic group, we got that the average highest tile had a value (log 2 of the tile's value) of We repeated this process again for the arrangers heuristic group and got that the average value was 9.5. This means that the achievers group led to better results in term of the highest tile as well. Analyzing these two tests led us to the understanding that the achievers group is of more importance than the arrangers group as it time/score ratio is better and so is its average highest tile. However, it was clear to us that these two heuristic groups can be complimentary to one another, and that we need to factor both of them in. The reason for this is the fact that when the grid is more organized, the "achieving" heuristics can also perform better and thus it makes sense to factor both of these groups. We also go the following success rates for the two heuristic groups: Achievers: 10% Arrangers: 0% In the end the factors we chose are: Empty factor: 25 2 We calculated by running the game, and when it ended (after winning or losing) we took the log 2 value of the highest tile that was on the grid.

9 Highest tile factor: 10 Score factor: 14 Gradient factor: 1 Direction factor: 15 And the results are as seen below: Time/Score for heuristic groups Final heuristic Acheivers Arrangers 0 Chart 8 The time/score ratio for different heuristic groups including the final heuristic using depths 2 and 4 We can see that the time for the final heuristic is slightly larger than that of the achievers heuristic. This makes sense as we merged the two groups and thus cause the time to grow. However when looking at the average highest tile we get that the average is now 10.2; meaning that the average highest tile did increase. In addition, the success rate was 40%, meaning that this parameter also grew. 4. CONCLUSIONS From our work it is quite clear that reaching a value of 256 even with a bad heuristic is not a difficult task (can be done even just by trying to survive) and reaching the higher value tiles is the difficult part in the game. We saw that we can split the types of heuristics in the game into two groups- heuristics whose goal is to organize the grid in such a way that makes it easier to play and heuristics whose goal is to increase the score whenever possible (even if it may not be the best move in the long run). The best results came when we tried a combination of these two groups as can be seen in the previous section. We tried two different methods to overcome the probabilistic factor in the game: expectimax and alphabeta pruning. Because of the large amount of possible moves in each state, we needed to deal with a very large branching factor and thus needed to use pruning to overcome this. From our results it is clear that alpha-beta pruning works better than expectimax in this case both in terms of runtime and success rates. This means that we can look at this game as a two player game where the computer always tries to do what is worst for us and acts as a "min" player. However, even when using pruning, the branching factor is still very large and thus we were limited to very small depths (up to 4). Our project shows that it is possible to create an autonomous solver for the game 2048!

10 5. RUNNING THE CODE 5.1 Initializing the Run. Open the file "RunGame.py" and change the constants to whatever constants you want. All the results of your run will be saved in the file you entered. The constants are: RESULTS_ADDR - The file to save the results in. SEARCH_DEPTH The depth of the search when there are more than 3 empty tiles in the board. UNDER_3_SEARCH_DEPTH The depth of the search when there are 3 or less empty tiles on the board. RUN_EXPECTI Whether to run expectimax or alpha-beta search. NUM_OF_ITERATIONS Number of times to run the game in automatic mode. After setting all the constants, run execute the code. 5.2 Playing. When the game executes you can play manually, let the agent play step by step or let it run automatically. Playing manually is conducted with the arrows like in the original game, playing an agent step is done by pressing "Home" key and letting the agent run until he ends all iterations (number of iterations is set in initialization) is done by pressing "End" key. 5.3 Extracting Data. The data of all iterations is kept in the file inserted at initialization. Each line holds values for one iteration in the following format: <highest tiles value>,<boards final score>,<running time(seconds)> The data is saved only after exiting the games window by clicking "ciao" button. REFERENCES 1. We used 2048 python implementation created by Raphael Seban, 2. We took some ideas from another ai implementation of this game (mainly got ideas for some of the heuristics). The following ai solver can be found in the address 3. The original 2048 game created by "Gabrielle Cirulli"

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

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

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

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 188: Artificial Intelligence Spring 2007

CS 188: Artificial Intelligence Spring 2007 CS 188: Artificial Intelligence Spring 2007 Lecture 7: CSP-II and Adversarial Search 2/6/2007 Srini Narayanan ICSI and UC Berkeley Many slides over the course adapted from Dan Klein, Stuart Russell or

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

HUJI AI Course 2012/2013. Bomberman. Eli Karasik, Arthur Hemed

HUJI AI Course 2012/2013. Bomberman. Eli Karasik, Arthur Hemed HUJI AI Course 2012/2013 Bomberman Eli Karasik, Arthur Hemed Table of Contents Game Description...3 The Original Game...3 Our version of Bomberman...5 Game Settings screen...5 The Game Screen...6 The Progress

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

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

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

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

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

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

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

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Jeff Clune Assistant Professor Evolving Artificial Intelligence Laboratory AI Challenge One 140 Challenge 1 grades 120 100 80 60 AI Challenge One Transform to graph Explore the

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

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

Monte Carlo based battleship agent

Monte Carlo based battleship agent Monte Carlo based battleship agent Written by: Omer Haber, 313302010; Dror Sharf, 315357319 Introduction The game of battleship is a guessing game for two players which has been around for almost a century.

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

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game.

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game. CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25 Homework #1 ( Due: Oct 10 ) Figure 1: The laser game. Task 1. [ 60 Points ] Laser Game Consider the following game played on an n n board,

More information

Announcements. Homework 1. Project 1. Due tonight at 11:59pm. Due Friday 2/8 at 4:00pm. Electronic HW1 Written HW1

Announcements. Homework 1. Project 1. Due tonight at 11:59pm. Due Friday 2/8 at 4:00pm. Electronic HW1 Written HW1 Announcements Homework 1 Due tonight at 11:59pm Project 1 Electronic HW1 Written HW1 Due Friday 2/8 at 4:00pm CS 188: Artificial Intelligence Adversarial Search and Game Trees Instructors: Sergey Levine

More information

Mathematical Analysis of 2048, The Game

Mathematical Analysis of 2048, The Game Advances in Applied Mathematical Analysis ISSN 0973-5313 Volume 12, Number 1 (2017), pp. 1-7 Research India Publications http://www.ripublication.com Mathematical Analysis of 2048, The Game Bhargavi Goel

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

Learning from Hints: AI for Playing Threes

Learning from Hints: AI for Playing Threes Learning from Hints: AI for Playing Threes Hao Sheng (haosheng), Chen Guo (cguo2) December 17, 2016 1 Introduction The highly addictive stochastic puzzle game Threes by Sirvo LLC. is Apple Game of the

More information

CS 188: Artificial Intelligence. Overview

CS 188: Artificial Intelligence. Overview CS 188: Artificial Intelligence Lecture 6 and 7: Search for Games Pieter Abbeel UC Berkeley Many slides adapted from Dan Klein 1 Overview Deterministic zero-sum games Minimax Limited depth and evaluation

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

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

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

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

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

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

Free Cell Solver. Copyright 2001 Kevin Atkinson Shari Holstege December 11, 2001

Free Cell Solver. Copyright 2001 Kevin Atkinson Shari Holstege December 11, 2001 Free Cell Solver Copyright 2001 Kevin Atkinson Shari Holstege December 11, 2001 Abstract We created an agent that plays the Free Cell version of Solitaire by searching through the space of possible sequences

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

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 AccessAbility Services Volunteer Notetaker Required Interested? Complete an online application using your WATIAM: https://york.accessiblelearning.com/uwaterloo/

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

Solving Problems by Searching: Adversarial Search

Solving Problems by Searching: Adversarial Search Course 440 : Introduction To rtificial Intelligence Lecture 5 Solving Problems by Searching: dversarial Search bdeslam Boularias Friday, October 7, 2016 1 / 24 Outline We examine the problems that arise

More information

Game-playing: DeepBlue and AlphaGo

Game-playing: DeepBlue and AlphaGo Game-playing: DeepBlue and AlphaGo Brief history of gameplaying frontiers 1990s: Othello world champions refuse to play computers 1994: Chinook defeats Checkers world champion 1997: DeepBlue defeats world

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

Comp th February Due: 11:59pm, 25th February 2014

Comp th February Due: 11:59pm, 25th February 2014 HomeWork Assignment 2 Comp 590.133 4th February 2014 Due: 11:59pm, 25th February 2014 Getting Started What to submit: Written parts of assignment and descriptions of the programming part of the assignment

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

CS 4700: Foundations of Artificial Intelligence

CS 4700: Foundations of Artificial Intelligence CS 4700: Foundations of Artificial Intelligence selman@cs.cornell.edu Module: Adversarial Search R&N: Chapter 5 1 Outline Adversarial Search Optimal decisions Minimax α-β pruning Case study: Deep Blue

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

Mutliplayer Snake AI

Mutliplayer Snake AI Mutliplayer Snake AI CS221 Project Final Report Felix CREVIER, Sebastien DUBOIS, Sebastien LEVY 12/16/2016 Abstract This project is focused on the implementation of AI strategies for a tailor-made game

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

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

5.4 Imperfect, Real-Time Decisions

5.4 Imperfect, Real-Time Decisions 5.4 Imperfect, Real-Time Decisions Searching through the whole (pruned) game tree is too inefficient for any realistic game Moves must be made in a reasonable amount of time One has to cut off the generation

More information

Optimal Yahtzee performance in multi-player games

Optimal Yahtzee performance in multi-player games Optimal Yahtzee performance in multi-player games Andreas Serra aserra@kth.se Kai Widell Niigata kaiwn@kth.se April 12, 2013 Abstract Yahtzee is a game with a moderately large search space, dependent on

More information

Practice Session 2. HW 1 Review

Practice Session 2. HW 1 Review Practice Session 2 HW 1 Review Chapter 1 1.4 Suppose we extend Evans s Analogy program so that it can score 200 on a standard IQ test. Would we then have a program more intelligent than a human? Explain.

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

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

AI Agent for Ants vs. SomeBees: Final Report

AI Agent for Ants vs. SomeBees: Final Report CS 221: ARTIFICIAL INTELLIGENCE: PRINCIPLES AND TECHNIQUES 1 AI Agent for Ants vs. SomeBees: Final Report Wanyi Qian, Yundong Zhang, Xiaotong Duan Abstract This project aims to build a real-time game playing

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Adversarial Search Vibhav Gogate The University of Texas at Dallas Some material courtesy of Rina Dechter, Alex Ihler and Stuart Russell, Luke Zettlemoyer, Dan Weld Adversarial

More information

CandyCrush.ai: An AI Agent for Candy Crush

CandyCrush.ai: An AI Agent for Candy Crush CandyCrush.ai: An AI Agent for Candy Crush Jiwoo Lee, Niranjan Balachandar, Karan Singhal December 16, 2016 1 Introduction Candy Crush, a mobile puzzle game, has become very popular in the past few years.

More information

CS 188: Artificial Intelligence

CS 188: Artificial Intelligence CS 188: Artificial Intelligence Adversarial Search Instructor: Stuart Russell University of California, Berkeley Game Playing State-of-the-Art Checkers: 1950: First computer player. 1959: Samuel s self-taught

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

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

Tetris: A Heuristic Study

Tetris: A Heuristic Study Tetris: A Heuristic Study Using height-based weighing functions and breadth-first search heuristics for playing Tetris Max Bergmark May 2015 Bachelor s Thesis at CSC, KTH Supervisor: Örjan Ekeberg maxbergm@kth.se

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

Programming Project 1: Pacman (Due )

Programming Project 1: Pacman (Due ) Programming Project 1: Pacman (Due 8.2.18) Registration to the exams 521495A: Artificial Intelligence Adversarial Search (Min-Max) Lectured by Abdenour Hadid Adjunct Professor, CMVS, University of Oulu

More information

Adversarial Search Lecture 7

Adversarial Search Lecture 7 Lecture 7 How can we use search to plan ahead when other agents are planning against us? 1 Agenda Games: context, history Searching via Minimax Scaling α β pruning Depth-limiting Evaluation functions Handling

More information

ADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter Read , Skim 5.7

ADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter Read , Skim 5.7 ADVERSARIAL SEARCH Today Reading AIMA Chapter Read 5.1-5.5, Skim 5.7 Goals Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning 1 Adversarial Games People like games! Games are

More information

COMP219: Artificial Intelligence. Lecture 13: Game Playing

COMP219: Artificial Intelligence. Lecture 13: Game Playing CMP219: Artificial Intelligence Lecture 13: Game Playing 1 verview Last time Search with partial/no observations Belief states Incremental belief state search Determinism vs non-determinism Today We will

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

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

Games CSE 473. Kasparov Vs. Deep Junior August 2, 2003 Match ends in a 3 / 3 tie!

Games CSE 473. Kasparov Vs. Deep Junior August 2, 2003 Match ends in a 3 / 3 tie! Games CSE 473 Kasparov Vs. Deep Junior August 2, 2003 Match ends in a 3 / 3 tie! Games in AI In AI, games usually refers to deteristic, turntaking, two-player, zero-sum games of perfect information Deteristic:

More information

Computing Science (CMPUT) 496

Computing Science (CMPUT) 496 Computing Science (CMPUT) 496 Search, Knowledge, and Simulations Martin Müller Department of Computing Science University of Alberta mmueller@ualberta.ca Winter 2017 Part IV Knowledge 496 Today - Mar 9

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

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

Adversarial Search. Rob Platt Northeastern University. Some images and slides are used from: AIMA CS188 UC Berkeley

Adversarial Search. Rob Platt Northeastern University. Some images and slides are used from: AIMA CS188 UC Berkeley Adversarial Search Rob Platt Northeastern University Some images and slides are used from: AIMA CS188 UC Berkeley What is adversarial search? Adversarial search: planning used to play a game such as chess

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

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

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

CSE 573: Artificial Intelligence Autumn 2010

CSE 573: Artificial Intelligence Autumn 2010 CSE 573: Artificial Intelligence Autumn 2010 Lecture 4: Adversarial Search 10/12/2009 Luke Zettlemoyer Based on slides from Dan Klein Many slides over the course adapted from either Stuart Russell or Andrew

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

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

CS 188 Fall Introduction to Artificial Intelligence Midterm 1

CS 188 Fall Introduction to Artificial Intelligence Midterm 1 CS 188 Fall 2018 Introduction to Artificial Intelligence Midterm 1 You have 120 minutes. The time will be projected at the front of the room. You may not leave during the last 10 minutes of the exam. Do

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

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

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

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

Adversarial Search. Robert Platt Northeastern University. Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA

Adversarial Search. Robert Platt Northeastern University. Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA Adversarial Search Robert Platt Northeastern University Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA What is adversarial search? Adversarial search: planning used to play a game

More information

Announcements. CS 188: Artificial Intelligence Spring Game Playing State-of-the-Art. Overview. Game Playing. GamesCrafters

Announcements. CS 188: Artificial Intelligence Spring Game Playing State-of-the-Art. Overview. Game Playing. GamesCrafters CS 188: Artificial Intelligence Spring 2011 Announcements W1 out and due Monday 4:59pm P2 out and due next week Friday 4:59pm Lecture 7: Mini and Alpha-Beta Search 2/9/2011 Pieter Abbeel UC Berkeley Many

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

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

Section Marks Agents / 8. Search / 10. Games / 13. Logic / 15. Total / 46

Section Marks Agents / 8. Search / 10. Games / 13. Logic / 15. Total / 46 Name: CS 331 Midterm Spring 2017 You have 50 minutes to complete this midterm. You are only allowed to use your textbook, your notes, your assignments and solutions to those assignments during this midterm.

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

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

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 380: ARTIFICIAL INTELLIGENCE

CS 380: ARTIFICIAL INTELLIGENCE CS 380: ARTIFICIAL INTELLIGENCE ADVERSARIAL SEARCH 10/23/2013 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2013/cs380/intro.html Recall: Problem Solving Idea: represent

More information

CITS3001. Algorithms, Agents and Artificial Intelligence. Semester 2, 2016 Tim French

CITS3001. Algorithms, Agents and Artificial Intelligence. Semester 2, 2016 Tim French CITS3001 Algorithms, Agents and Artificial Intelligence Semester 2, 2016 Tim French School of Computer Science & Software Eng. The University of Western Australia 8. Game-playing AIMA, Ch. 5 Objectives

More information

An Intelligent Othello Player Combining Machine Learning and Game Specific Heuristics

An Intelligent Othello Player Combining Machine Learning and Game Specific Heuristics 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.

More information

Game Playing State-of-the-Art CSE 473: Artificial Intelligence Fall Deterministic Games. Zero-Sum Games 10/13/17. Adversarial Search

Game Playing State-of-the-Art CSE 473: Artificial Intelligence Fall Deterministic Games. Zero-Sum Games 10/13/17. Adversarial Search CSE 473: Artificial Intelligence Fall 2017 Adversarial Search Mini, pruning, Expecti Dieter Fox Based on slides adapted Luke Zettlemoyer, Dan Klein, Pieter Abbeel, Dan Weld, Stuart Russell or Andrew Moore

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

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

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

Problem 1. (15 points) Consider the so-called Cryptarithmetic problem shown below.

Problem 1. (15 points) Consider the so-called Cryptarithmetic problem shown below. ECS 170 - Intro to Artificial Intelligence Suggested Solutions Mid-term Examination (100 points) Open textbook and open notes only Show your work clearly Winter 2003 Problem 1. (15 points) Consider the

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

Reinforcement Learning in Games Autonomous Learning Systems Seminar

Reinforcement Learning in Games Autonomous Learning Systems Seminar Reinforcement Learning in Games Autonomous Learning Systems Seminar Matthias Zöllner Intelligent Autonomous Systems TU-Darmstadt zoellner@rbg.informatik.tu-darmstadt.de Betreuer: Gerhard Neumann Abstract

More information

CSCI1410 Fall 2018 Assignment 2: Adversarial Search

CSCI1410 Fall 2018 Assignment 2: Adversarial Search CSCI1410 Fall 2018 Assignment 2: Adversarial Search Code Due Monday, September 24 Writeup Due Thursday, September 27 1 Introduction In this assignment, you will implement adversarial search algorithms

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