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

Size: px
Start display at page:

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

Transcription

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

2 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 Screen...7 Artificial Intelligence Agents...8 Reflex Agents...8 MiniMax based Agents...10 Heuristic...11 Alpha-Beta...11 ExpectiMax...12 Q-Learning...12 Analysis...14 General Conclusions...14 Pruning Efficiency...14 Effects of the Number of Bombs...15 Appendix A Compilation and Running...17

3 The Original Game Game Description Bomberman was originally released by Japanese developer Hudson Soft in Also known as ボンバーマン (Bonbāman) in Japan, or Dynablaster in Europe. Bomberman is a strategic, 2D maze-based real time game. The goal in the game is to place bombs strategically in order to kill enemies and destroy obstacles, while avoiding blasts from any bomb. A bomb can also set off another bomb if it is in it's range of fire. The bomb destroys obstacles, but it's fire is stopped at walls. Usually, power-ups exist in open spaces or hidden by destroyables that can help the player achieve the goal - increasing the amount of bombs that can be placed simultaneously, increasing the radius of the blast, increasing movement speed and others. Bomberman also features a multiplayer mode, where multiple bombermen compete and the last one left standing wins. The Bomberman series has featured more than 70 different games, most of them in the format above, but some were not based on a maze, but instead were an adventure/ platformer/ puzzle/ races and other variations. The game (surprisingly) also has a storyline, though it appeared in later games: it is set in the galaxy known as the Bomber Nebula, on Planet Bomber. The main character, Bomberman grows bored of making bombs in an underground factory of an evil empire. He hears a rumor that robots reaching the surface become human, and so he decided to run. In other versions, he is the first robot of his kind, created by Dr. Mimori, and despite being a prototype accepts his role as the defender of justice.

4 Here is a screenshot from the original game: More recent games also feature a 3D view of the maze instead of the traditional 2D - here is an example from Bomberman: Act Zero released in Although, most players did not like the new design and prefer the original - that game was widely criticized. Bomberman games still come out today, though they are published by Konami which acquired Hudson Soft in 2012.

5 Our version of Bomberman Our version includes only a multiplayer mode for two players competing against each other. Players can be either human controlled or an artificial intelligence. Unlike the original games, we have no power-ups - the number of bombs a player can place, and their radius is the same during the game. A single hit to any player ends the game. The destroyables in the arena are generated randomly, players are always placed on opposite sides and always have enough space to place their first bomb. Our version is turn-based and discrete - each player moves/places the bomb in his turn, players can stand only on integer coordinates. However, the default turn length is small - 75ms, and thus this fact is almost unnoticeable to a human player. The game can end in a tie, if both players are left standing after a fixed amount of turns, or if both players were burned to ashes on the same turn. Game Settings screen The first screen that appears when running the game is the game setting screen. In this screen the user can choose all the settings for the game: The players that will play the game - human players or artificial intelligence The number of games the user want to play or to run with agents and see the results, also the user can choose if he wants to display the game user interface. The size of the square board The number of turns per game - so that the game will end and not run forever (it is possible if the agents will always run from each other and not place bombs or if the human players will not act)

6 The number of bombs per player The probability that a destroyable will appear in any open space (besides the two sqaures adjacent to the starting positions these are always open so that it will be possible to place the first bomb) The length of each turn - as we mentioned before our game is turn-based so it is important to choose the right turn length, for example it is very hard and even impossible for the human player to play if the turn length is under 50 milliseconds because the human players (most of them) can not think and react so fast. On the other hand, it will be hard for the human player to play the game if the turn length is more than 100ms because the game will not feel like real time. For human players, the best setting that is also the default turn length is 75ms. The Game Screen After the user chose all the settings for the game and if he chose to display the game user interface, pressing 'start!' will open the next screen - the game screen itself, that looks like this (for board size 13) : The objects in the game : The first player The second player indestructible wall destroyable wall - can be destroyed by the explosion of the bomb bomb fire from the bomb explosion, destroys walls and kills players the ground

7 The controls of the game for human players : Human player (WASD) W up, S- down, A left, D right, to place a bomb click CTRL. Human Player(Arrows) use the arrow keys to move, to place a bomb click SPACE. The Progress Screen The progress screen will appear after all the games ended/ or while they are run if you choose to run without a user interface. Note that games without a UI will usually run faster. The progress screen notifies you how many turns passed in the current game, how many games were already played, and the current scores.

8 Artificial Intelligence Agents An important thing to notice that there can be no simple AI for this game - an agent must place bombs very selectively, otherwise it would commit suicide very fast. Thus, a random agent is not interesting - it would just always lose. Also, an agent that never places bombs isn't likely to succeed as well, as he will be trapped in his starting place and if the enemy opens only one path to him, and places a bomb there he will be trapped and will lose. So, even to end the game in a tie, an agent must clear some space around him, and to do that without committing suicide is no simple task. Reflex Agents The Reflex agent is the most simple AI we developed. It chooses the next turn solely by looking at the state of the board, without considering any future actions of the opponent. We maintain two numbers for each position on the board: 1. We mark ourselves places on the map that are going to blow up in the near future - and how many turns we have until that happens. We do that by going for each bomb, and for each direction marking empty spaces as likely to blow up, either until we reach some item (wall, destroyable, another bomb) or we go out of the blast radius of that bomb. 2. Next, we try to score places by how good would it be to arrive in them in the future. First of all, places that are taken by some object, or we decided that they are going to blow up receive a very low score. Next, we decrease the distance from that place to the enemy - ignoring all objects in the way ( Manhattan distance) as a player should strive to reach the enemy and blow him up. The most important part which is added last is the bomb score, which is explained later. Given these two statistics, we decide movement by using an algorithm based on a Breadth First Search:

9 Initialize BFS queue Insert our current position to the queue Initialize best = current position While the queue is not empty take the top of the queue if this location is occupied by an item or the distance to this location is higher than the amount of turns until it blows up continue if (score - distance) > (score - distance of best location) best = current location insert all unvisited neighbours to queue Backtrack from the best position to the start finding the movement used to reach it. return direction and score of best position Now, back to the Bomb Score - we want to score how good a place is for placing a bomb in the future, and this depends on two factors - are there destroyables around it that the bomb can blow and thus clear a path, and is it possible to run away from the bomb after placing it, so that we will not commit suicide. For that, we actually do a recursive call, finding the best action from a state where we reached the given destination and placed a bomb (and assuming that the enemy did nothing all this time...). If the best action returned has a high score - that means that we can run away and we return 5 * number of destroyables in the blast radius. If not, it means that the best possible thing we can do is walk to a place that will blow up in the future, so placing a bomb here is a bad decision and we return -1. Only the first call to getting the best action does a recursive call, the second call is already not recursive and the bomb score is just 0. But, this is only the decision on what is the best movement at a given state. Alternatively, we may decide to place a bomb. There are a few possible situations that make us place a bomb (Assuming we have a bomb to place, and we are not standing on a bomb):

10 1. If a Bomb Score is more than zero - and that means that placing a bomb here will blow a destroyable and we can still run away. 2. If the enemy is close (Manhattan distance less than 3), and Bomb Score is nonnegative, meaning we can run away after placing. We don't know the other player's future moves, but we do know that doing that will constrict his movement, and may blow him up. So, if one of the above conditions hold, we place a bomb instead of doing the best movement. Runtime: this agent runs in O(N^4) time where N is the size of the board, making this a very fast agent even on large boards where N=29. The agent described above was later renamed as Aggressive Reflex agent duo to the fact that he always runs after the player and places a lot of bombs around him, but this is also his weakness discussed in the Analysis section. We also created a Balanced reflex agent, which does not have the second trigger for placing bombs he will not place bombs around the enemy indiscriminately, but rather will try to survive more. MiniMax based Agents Minimax is a decision rule for two-player zero-sum games, based on the minimax theorem by John von Neumann: Theorem : In every two-player zero-sum game there is a value V (called the value of the game) and mixed strategies for the players so that: given the second players strategy, the best payoff for the first player is V, and given the first player's strategy, the best payoff for the second player is -V. What this says in other words, is that maximizing your payoff is the same as minimizing the enemy's payoff. Thus, the minimax algorithm will do the action that maximizes the payoff assuming the enemy minimizes our payoff in turn assuming we will maximize our payoff in the next turn, and so on... While the minimax algorithm chooses the optimal action, we can't apply it that way to our game - as the amount of turns until some player wins is too big to consider all the options. Thus, after a fixed depth we employ a heuristic to score a state, saying how close we are to winning/losing. The minimax agents we implemented are Iterative Deepening - meaning we try to do the search for increasing depths, until a certain timeout is reached - in our case the time limit for the turn, and taking the result from the deepest search that we had time to complete.

11 Heuristic Our heuristic for a given state is compromised of two main components: 1. We subtract the distance to the enemy - this is computed by BFS, but ignoring destroyables, and stopping the search only on walls/bombs. 2. For each bomb on the board, we score it - taking into account what it will destroy, and how are we in danger from it - detailed explanation below. For each bomb, we expand into all the possible blow directions. If we reach a destroyable before the end of the blast radius, we add 5+20/(time to explosion). Taking into account the time until the explosion is important, because it makes bombs placed earlier as better than bombs placed later. Otherwise, the agent may consider placing a bomb now, or waiting a few turns and placing it as the same thing. If a player is in the blast radius, the value of that is (bomb fuse turns+5-turns left until explosion)*(blast radius +2 - distance to bomb) - the closer the bomb, or the sooner it will explode makes it more threatening. We add/decrease that value from the score depending on which player is in danger - we, or the enemy. Special cases for the heuristic are death/win - we remove/add a big constant from the score. We also add a small random in the range (0,0.01) - otherwise the player tends to do a lot of back and forth between two states while he is waiting for a bomb to blow up and has nothing better to do. This makes his movement a little more interesting and rational. Alpha-Beta The Alpha-Beta agent uses a special version of the MiniMax algorithm which considers much less game states by using pruning - keeping the best value for the maximizing player and the best value for the minimizing player found so far in already explored neighbor branches in the search tree. This allows us to ignore many branches that we can be sure that will not be played. For example, if the maximizing player finds out that in the current branch the minimum player can get a minimum below his best maximum so far, he will never play that branch. And vice versa, if the minimizing player finds the maximizing player can have a maximum higher than his current minimum, he will never play the action that gets him to this branch of the search tree. In other games, Alpha-Beta usually achieves a considerable speedup against the basic Minimax agent. We will later compare the average search depth of the Alpha-Beta agent against that of the Expectimax agent, which uses the full Minimax tree and is explained below.

12 ExpectiMax Minimax assumes that the opponent is optimal - meaning he plays Minimax himself. This is usually not the case, especially against human players which in our game are expected to act fast and do not have enough time to think hard about their next move. ExpectiMax instead assumes that the opponent plays each action with some probability - in our implementation we assume uniform distribution over the legal actions in the state. This unfortunately makes pruning impossible as to get a value of a tree we need to consider all of it. Q-Learning Q-learning is an off-policy reinforcement learning algorithm we have learned in class. It stores q-values for each pair of state and action. The policy of a state is the action with the highest q-value. During training, in each step, the agent either plays the policy, or does a random move with some exploration probability epsilon. After the step, values are updated using the value (highest q-value) of the resulting state with a discount factor, and a reward function that defines the reward for a given (state,action,state) transition. Obviously, we can't learn this way over the full state space, as for example at board size 21, we have 274 possible destroyables that are either there or missing, and assuming we have 4 bombs for each player, and each bomb takes 25 turns to blow up and has a 2 coordinate position in 1-20, plus 2 coordinate positions for each player in So, about 10^120 possible states... That's 10^40 times more than the estimated amount of atoms in the observable universe. This was unfortunately a failed attempt not matter what feature extraction scheme we designed to decrease the state space and what was the reward function we were not able to create a good reinforcement learning player. At our best, and this is what we hand in, we can successfully blow up a stationary enemy at any board size. Obviously, we could have gotten such a result with a very simple state extraction direction to the stationary enemy, and a flag if we already set a bomb there rewards would be good for reaching before a bomb is placed, and getting away after that and bad for doing other things. Our scheme is definitely more complicated, but it still can't beat a stationary enemy when destroyables block the path, and definitely not an enemy that is trying to bomb it. We think there is quite a simple fact that prevents creation of a good reinforcement

13 learning player in Bomberman the big amount of time between the action of placing a bomb, and until it's effects are seen if 25 turns until the bomb blows up, that is 12 turns for the learning player. So, even if the state just before a bomb blows up does receive some value and good policy eventually, this does not propagate 12 states backwards -as the chances to reach that same state again are remote. No matter what we tried the learning agent always learned that placing a bomb near a destroyable at the start of the game is a bad action as the amount of episodes where he blows up because of that bomb (or the one after, or another one there are many destroyables to clear...) is much bigger than the amount of episodes where he actually wins against the opponent setting a lower learning rate alpha did not help. Thus, when playing on a map with destroyables, the only thing the agent learns is that it should not place bombs... The feature extraction scheme we submitted works the following way: A direction to the enemy valued 0-8, based on the 8-neighbour which is closest to the enemy, and one more value for the case we stand on the same tile. A bomb is represented by the amount of destroyables it will blow up when exploding (assuming that more is likely better), and a direction to a player if he is in it's line of fire. We did not include the amount of turns until it blows up apparently this already increases the state space too much. Destroyables are not represented at all we account for them in the reward function. Storing the amount of destroyables left just increases the state space. Distance to closest destroyable didn't seem to help either. State value function: For each bomb, 5 for each destroyable it reaches, 5 if enemy is in range, -10/time left if we are in range. Subtract distance to enemy Subtract number of destroyables left Reward function: -100 for dying, 1000 for winning difference in the state value function between the next state and the current. We still feel that it should be possible to create a learning agent, even if only on small boards and consider this a challenge we would really like to solve some day.

14 General Conclusions Analysis Alpha-Beta and ExpectiMax beat the reflex agent more than 90% of the time, and are practically unbeatable by a human. We have discovered that the reflex agent is overly aggressive because he tends to run after the enemy and place bombs around him. However, this also causes a case where he places a bomb and moves forward while the enemy also places a bomb before him, thus effectively trapping him that is what happens in most cases when he loses. Without this knowledge, he usually beats the human player. But, if you play against this weakness, waiting for him and trapping him, you can usually win about 50% of the time. Playing aggressive against him is likely to fail as the agent thinks much faster than a human. Unless stated otherwise, all the tests were run with the default settings: a 13x13 board, 75ms per turn, 2000 turns until a tie, a player can place 4 bombs simultaneously, destroyable appearance rate is 65%. Pruning Efficiency As stated earlier, Alpha-Beta is a pruning heuristic for the Minimax algorithm, that uses the fact that there are many sub-trees that will never be played by optimal agents. In other games, Alpha-Beta usually leads to a big speedup in the search speed, and thus increases the search depth we can possibly use in a reasonable time. In our case, the smallest good depth is 6, as this is just enough for a movement, placing a bomb and running away. The deeper the depth before we use a heuristic, the smarter the player becomes. We compared the average depth Alpha-Beta and ExpectiMax (which uses the same Minimax tree) reach given a fixed amount of time until they are stopped and return the result from the deepest tree finished (iterative deepening) over many games:

15 Average Search Depth by Time Depth AlphaBeta depth ExpectiMax depth Time (ms) As you can see, the Alpha-Beta search is considerably faster and reaches much deeper given the same time. While Alpha-Beta can reasonably play even with 5ms turns, for ExpectiMax this is not enough time to think and we also saw it in the results he loses to the reflex agent about 40% of the time in this case. Despite that for times 50ms and above we observed that while Alpha-Beta does indeed win more when caging the two of them together, most games end in a tie. Effects of the Number of Bombs Initially, we though that given a small number of bombs (1,2) an agent is unlikely to win and the game will drift towards a tie at least, that is what a human player can do if he does no mistakes. Also, the more bombs we give, the faster games will end. When caging the Reflex agent against Alpha-Beta, these were our results:

16 Avg. Number of Turns by Number of Bombs Turns Bombs the amount of ties was actually negligible in all cases. This is what made us find the weakness of the Aggressive reflex agent we described above. As an attemp to solve that was the Balanced agent described above. This was a moderate success with one bomb, the game ends in tie about 20% of the time, and even won a few times. This is still not what we have expected, but a big improvement over the Aggressive agent. The average number of turns also increased by about 20%. Also, beating him as a human is much harder as he has no visible weaknesses. Avg. Number of Turns by Number of Bombs Turns Bombs Wins Number of Wins by Number of Bombs Bombs Balanced Reflex AlphaBeta

17 Appendix A Compilation and Running The game was written in Java, using the swing graphics library. It should run on any platform with a Java 7 virtual machine available. To compile, run ant in the project directory. This will compile the source files found in the src directory into class files in the build directory, and create an executable java archive (jar) Bomberman.jar To run, type java -jar dist/bomberman.jar, or you can use ant run which compiles and runs the project.

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

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

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

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

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

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

CS188: Artificial Intelligence, Fall 2011 Written 2: Games and MDP s

CS188: Artificial Intelligence, Fall 2011 Written 2: Games and MDP s CS88: Artificial Intelligence, Fall 20 Written 2: Games and MDP s Due: 0/5 submitted electronically by :59pm (no slip days) Policy: Can be solved in groups (acknowledge collaborators) but must be written

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Instability of Scoring Heuristic In games with value exchange, the heuristics are very bumpy Make smoothing assumptions search for "quiesence"

Instability of Scoring Heuristic In games with value exchange, the heuristics are very bumpy Make smoothing assumptions search for quiesence More on games Gaming Complications Instability of Scoring Heuristic In games with value exchange, the heuristics are very bumpy Make smoothing assumptions search for "quiesence" The Horizon Effect No matter

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 2710 Foundations of AI. Lecture 9. Adversarial search. CS 2710 Foundations of AI. Game search

CS 2710 Foundations of AI. Lecture 9. Adversarial search. CS 2710 Foundations of AI. Game search CS 2710 Foundations of AI Lecture 9 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square CS 2710 Foundations of AI Game search Game-playing programs developed by AI researchers since

More information

Tutorial: Creating maze games

Tutorial: Creating maze games Tutorial: Creating maze games Copyright 2003, Mark Overmars Last changed: March 22, 2003 (finished) Uses: version 5.0, advanced mode Level: Beginner Even though Game Maker is really simple to use and creating

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

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

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

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

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

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

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

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

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

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

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

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

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

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 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements

CS 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements CS 171 Introduction to AI Lecture 1 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 39 Sennott Square Announcements Homework assignment is out Programming and experiments Simulated annealing + Genetic

More information

Artificial Intelligence Lecture 3

Artificial Intelligence Lecture 3 Artificial Intelligence Lecture 3 The problem Depth first Not optimal Uses O(n) space Optimal Uses O(B n ) space Can we combine the advantages of both approaches? 2 Iterative deepening (IDA) Let M be a

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

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

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

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

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

Abalone. Stephen Friedman and Beltran Ibarra

Abalone. Stephen Friedman and Beltran Ibarra Abalone Stephen Friedman and Beltran Ibarra Dept of Computer Science and Engineering University of Washington Seattle, WA-98195 {sfriedma,bida}@cs.washington.edu Abstract In this paper we explore applying

More information

Artificial Intelligence Search III

Artificial Intelligence Search III Artificial Intelligence Search III Lecture 5 Content: Search III Quick Review on Lecture 4 Why Study Games? Game Playing as Search Special Characteristics of Game Playing Search Ingredients of 2-Person

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

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

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

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

Game Maker Tutorial Creating Maze Games Written by Mark Overmars

Game Maker Tutorial Creating Maze Games Written by Mark Overmars Game Maker Tutorial Creating Maze Games Written by Mark Overmars Copyright 2007 YoYo Games Ltd Last changed: February 21, 2007 Uses: Game Maker7.0, Lite or Pro Edition, Advanced Mode Level: Beginner Maze

More information

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti Basic Information Project Name Supervisor Kung-fu Plants Jakub Gemrot Annotation Kung-fu plants is a game where you can create your characters, train them and fight against the other chemical plants which

More information

Artificial Intelligence. 4. Game Playing. Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder

Artificial Intelligence. 4. Game Playing. Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder Artificial Intelligence 4. Game Playing Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2017/2018 Creative Commons

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

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

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class http://www.clubpenguinsaraapril.com/2009/07/mancala-game-in-club-penguin.html The purpose of this assignment is to program some

More information

SUPPOSE that we are planning to send a convoy through

SUPPOSE that we are planning to send a convoy through IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS PART B: CYBERNETICS, VOL. 40, NO. 3, JUNE 2010 623 The Environment Value of an Opponent Model Brett J. Borghetti Abstract We develop an upper bound for

More information

CS 221 Othello Project Professor Koller 1. Perversi

CS 221 Othello Project Professor Koller 1. Perversi CS 221 Othello Project Professor Koller 1 Perversi 1 Abstract Philip Wang Louis Eisenberg Kabir Vadera pxwang@stanford.edu tarheel@stanford.edu kvadera@stanford.edu In this programming project we designed

More information

CS188 Spring 2011 Written 2: Minimax, Expectimax, MDPs

CS188 Spring 2011 Written 2: Minimax, Expectimax, MDPs Last name: First name: SID: Class account login: Collaborators: CS188 Spring 2011 Written 2: Minimax, Expectimax, MDPs Due: Monday 2/28 at 5:29pm either in lecture or in 283 Soda Drop Box (no slip days).

More information

CS61B Lecture #22. Today: Backtracking searches, game trees (DSIJ, Section 6.5) Last modified: Mon Oct 17 20:55: CS61B: Lecture #22 1

CS61B Lecture #22. Today: Backtracking searches, game trees (DSIJ, Section 6.5) Last modified: Mon Oct 17 20:55: CS61B: Lecture #22 1 CS61B Lecture #22 Today: Backtracking searches, game trees (DSIJ, Section 6.5) Last modified: Mon Oct 17 20:55:07 2016 CS61B: Lecture #22 1 Searching by Generate and Test We vebeenconsideringtheproblemofsearchingasetofdatastored

More information

CS510 \ Lecture Ariel Stolerman

CS510 \ Lecture Ariel Stolerman CS510 \ Lecture04 2012-10-15 1 Ariel Stolerman Administration Assignment 2: just a programming assignment. Midterm: posted by next week (5), will cover: o Lectures o Readings A midterm review sheet will

More information

Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning

Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CSCE 315 Programming Studio Fall 2017 Project 2, Lecture 2 Adapted from slides of Yoonsuck Choe, John Keyser Two-Person Perfect Information Deterministic

More information

Unit 12: Artificial Intelligence CS 101, Fall 2018

Unit 12: Artificial Intelligence CS 101, Fall 2018 Unit 12: Artificial Intelligence CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Explain the difference between procedural and declarative knowledge. Describe the

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

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

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

FINAL PROJECT ARTIFICIAL INTELLIGENCE VINDINIUM. Hosam Hakroush and Dmitry Levikov FOUR LEGENDARY HEROES, FIGHTING FOR THE LAND OF VINDINIUM

FINAL PROJECT ARTIFICIAL INTELLIGENCE VINDINIUM. Hosam Hakroush and Dmitry Levikov FOUR LEGENDARY HEROES, FIGHTING FOR THE LAND OF VINDINIUM FINAL PROJECT ARTIFICIAL INTELLIGENCE Hosam Hakroush and Dmitry Levikov VINDINIUM FOUR LEGENDARY HEROES, FIGHTING FOR THE LAND OF VINDINIUM ROAMING IN THE DANGEROUS WOODS SLASHING GOBLINS, STEALING GOLD

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

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

Artificial Intelligence. Cameron Jett, William Kentris, Arthur Mo, Juan Roman

Artificial Intelligence. Cameron Jett, William Kentris, Arthur Mo, Juan Roman Artificial Intelligence Cameron Jett, William Kentris, Arthur Mo, Juan Roman AI Outline Handicap for AI Machine Learning Monte Carlo Methods Group Intelligence Incorporating stupidity into game AI overview

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

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 42. Board Games: Alpha-Beta Search Malte Helmert University of Basel May 16, 2018 Board Games: Overview chapter overview: 40. Introduction and State of the Art 41.

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

Board Game AIs. With a Focus on Othello. Julian Panetta March 3, 2010

Board Game AIs. With a Focus on Othello. Julian Panetta March 3, 2010 Board Game AIs With a Focus on Othello Julian Panetta March 3, 2010 1 Practical Issues Bug fix for TimeoutException at player init Not an issue for everyone Download updated project files from CS2 course

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

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

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

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

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

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

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

CSE 573: Artificial Intelligence

CSE 573: Artificial Intelligence CSE 573: Artificial Intelligence Adversarial Search Dan Weld Based on slides from Dan Klein, Stuart Russell, Pieter Abbeel, Andrew Moore and Luke Zettlemoyer (best illustrations from ai.berkeley.edu) 1

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

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

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

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

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