Deep Green. System for real-time tracking and playing the board game Reversi. Final Project Submitted by: Nadav Erell
|
|
- Godfrey Wilcox
- 5 years ago
- Views:
Transcription
1 Deep Green System for real-time tracking and playing the board game Reversi Final Project Submitted by: Nadav Erell Introduction to Computational and Biological Vision Department of Computer Science, Ben-Gurion University 22 March, 2013 Abstract This project presents a computer vision and artificial intelligence system for playing a game of Reversi. The system is capable of tracking the progress of a real-world Reversi board game using a regular webcam, and may also suggest moves for each player computed using methods of artificial intelligence. 1
2 Contents 1 Introduction and Problem Description 3 2 The solution System setup Detecting the game board Segmentation Homography Analyzing the board and acquiring the pieces Artificial Intelligence for Reversi Experiments and Performance 9 4 Conclusions and Further Work 9 References 11 2
3 1 Introduction and Problem Description Reversi, with variants also known as Othello, is a relatively simple strategy board game originating in England near the end of the 19th century. The game quickly gained popularity and spread to other countries, and has in the past few decades also been warmly embraced by computer scientists around the world. The game is played on a board containing 8 8 squares, and uses 64 identical pieces (discs) which fill up the board as the game progresses. The discs are colored with a light color on one side and a darker color on the other (often black and white, but occasionally other colors are used). The most common modern version of the game begins with 2 black discs (i.e. the black side faces up) and 2 white discs placed in the middle 4 squares in diagonals. The game is played in turns, with each player allowed to place a disc of his color only is such a manner that he captures at least one of the opponent s discs. A disc is captured if due to the new disc placed, it is now trapped between two of the opponent s discs. The winner is the player who has the most discs at the end of the game (usually when the board fills up completely, but occasionally in other circumstances). For a more detailed description of the game and some playing strategies, see [3]. In the context of computer science, the game is usually referred to as Othello, and has been thoroughly analyzed in terms of complexity and game strategies. The estimated game-tree complexity of Othello is 10 58, thus ensuring that any naive implementation will not be able to search to any significant depth. This project focuses less on the AI implementation (detailed later on), but rather on the acquisition and analysis of a physical game board from a regular camera input. The problem requires detecting the board area in an image, detecting the discs and their exact location in the grid, and feeding this data to the game AI, all while maintaining sufficient performance for an acceptable real-time user experience. The system has been tuned to a specific version of the Reversi board, with a square green board, no line marks, and white and orange discs. Due to the system s reliance on colors, standard lighting conditions as present in most work locations are assumed. The system does not require any special hardware for its operation, and performs well enough on an average 3 year old laptop with a standard USB webcam attached. 3
4 2 The solution As previously explained, the system can be roughly separated to a computer vision element, which accounted for the majority of the work, and and a separate AI module for suggesting moves. A very high-level description of a single iteration of the system is described in the following chart: Figure 1: Top-level flowchart for the system When in continuous tracking mode (selectable in GUI), the system will loop this process every few seconds. 2.1 System setup In order to provide a compelling user experience for the system, it has been developed in such a way that almost no setup is required. A GUI is used to control the attached webcam and to pause and resume the processing of the input data. The camera does not need to be located directly above the game board, and in good lighting conditions may even be placed at a considerable angle and varying distance from the board. If the camera is moved around, or for whatever reason the system is unable to correctly acquire the game board, it will ignore the current frame and continue processing the next, thus providing flexibility in setup and during gameplay. Figure 2: Deep Green system GUI: at launch, and after starting the camera. 4
5 Detecting the game board Segmentation The relaxing assumption of having a green board under relatively decent lighting conditions is used to simplify the process of closely detecting the board area. A binary threshold is applied to each channel of the RGB color image, requiring at least a certain level of green, and at most certain levels of red and blue, which have been determined empirically. These masks, along with an additional grayscale threshold, are combined to produce a final binary mask. Assuming the board takes up a considerable part of the image, it should become the dominant connected component of the combined mask. To further ensure the correct segmentation of the board from the rest of the image, binary operations of dilation and erosion are applied, after which the largest connected component is selected. Figure 3: Input image - original and grayscale. Red mask Green mask Blue mask Figure 4: Segmentation via binary thresholding on each RGB channel. 5
6 Figure 5: Combined binary mask (left), final mask after dilation and erosion (right) Homography In order to enable the flexibility in camera angle and distance, the concept of homography1 is used to transform the image. Intuitively, this method allows us to obtain an image that looks as if the camera been located directly above the board, with the image axes parallel to the board axes. The homography is calculated using 4 points from the image (chosen as the 4 corners of the board), and the corresponding 4 points in the second image (which are simply chosen as a perfect square of size pixels). For a fully automatic process, a relatively simple method has been developed to automatically mark the corners of the board by finding the pixels in the board mask from the previous module which are nearest to the full image corners. Input image Image after homography Cropped board area Figure 6: Homography and tight cropping of board area. 1 From Wikipedia (Homography): A homography is an invertible transformation from a projective space to itself that maps straight lines to straight lines....in the field of computer vision, any two images of the same planar surface in space are related by a homography. This has many practical applications, such as image rectification. 6
7 2.3 Analyzing the board and acquiring the pieces Once the homography has been applied and the image cropped to retain approximately only the board area, aligned to the image axes, we can more easily begin acquiring the white and orange discs. Since the board is green, and the discs white or orange, the red color channel provides an excellent opprtunity for segmentation of the discs from the board 2. In some cases, other areas of the image make it through the initial thresholding. However, areas which are not actually discs can be identified and removed fairly easily. This is achieved by first performing dilation and erosion, and then by filtering connected components which are either far too big or far too small in area, or those that are very eccentric in shape (as opposed to the discs which are nearly perfect circles). This method proved very robust and much simpler to implement than the Hough Transform for circles, which was attempted initially. At this point, we are left with a set of discs, which must now be aligned to the game grid in order to be encoded and sent to the game AI. Due to the homography process, the board should at this point be aligned to the image axes. Therefore, we can simply divide the image into 8 8 cells, and assign each disc to the nearest cell (differentiating between white and orange discs). 2.4 Artificial Intelligence for Reversi In light of the focus of this project on the Computer Vision aspect, a relatively simple algorithm using Minimax with alpha-beta pruning has been chosen for the implementation of the AI element. It has been tuned in such a manner that it can beat a novice player using 5-ply cutoff with a delay of no more than a couple of seconds for calculations in each turn. In layman s terms, this means that the computer simulates various possible scenarios for the game to a maximum depth of 5 moves (combined for both players), and chooses the move which it expects will be most advantageous. Since the number of possible game states grows exponentially with the depth of the search, a standard but often effective technique (alpha-beta pruning) is used to reduce the number of game states evaluated. This is achieved by ignoring search paths which can be guaranteed to find a suboptimal result for the heuristic evaluation function used. It should be noted that the heuristic function used to evaluate the value of each game state is extremely simple, but sufficient for a project mainly concerned with computer vision. That said, the program is designed in a flexible and extensible manner, such that improvements to the heuristic function can be incorporated with minimal effort if required. 2 An earlier effort was made to address black and white pieces with high and low grayscale thresholding. This effort proved effective on several static images, but isn t currently used in the system due to the lack of availability of a physical game set with black discs. 7
8 The code provided with this report includes a standalone version of Reversi coded entirely in Python, as well a version of the script intended to be used in conjunction with the MATLAB code in order to provide suggestions for a single move at a time. The code is very readable and contains some documentation, and a readme file with usage instructions is supplied as well. Figure 7: Suggested moves by the game AI. 8
9 3 Experiments and Performance The system was tested on a Windows 8 laptop with a relatively old Intel Core 2 Duo 2.53 GHz, running the 2010 version of MATLAB and the latest version of Python (3.3). The webcam used was a simple one with a resolution of Under these conditions, the full processing for each image frame (board detection, pieces detection, AI game calculations) required between 2-5 seconds, thus limiting somewhat the real-time feel of the UI. That said, the current performance is quite sufficient for playing an actual game, and the delay is relatively insignificant for the game flow. Apart from the step-by-step example shown in section 2, the system was tested at various conditions. The system is capable of handling moderate variations in camera angle, camera distance and even lighting conditions. Gradually, as conditions deteriorate, the homography becomes less accurate, the board area may not be recognized perfectly, and thus the final detection of the discs may fail. In particular, the system fails completely under poor lighting conditions (either too dark, or non-white artificial lighting which renders the color masks ineffective). To highlight the robustness of the process, Figure 8 provides an additional example, this time with the camera located at a considerable angle from the board. Input image Image after homography Final Detection Figure 8: Perfect board detection despite difficult camera angle. 4 Conclusions and Further Work This project has been an excellent experience in implementing a system from start to finish, while tackling various problems along the way, and putting to practice some of the methods taught in class. Perhaps the most critical lesson learned is the importance of selecting the right tool for the job; Several hours were spent attempting to use circular Hough transforms for disc 9
10 detection, and clever calculations for the point set used to determine the Homography, when much simpler methods eventually proved more effective. The final system is easy to set up, fairly robust, and is capable of handling considerable variations in camera angle and distance. It is also designed to be modular and extensible, making it much easier to improve upon in the future if desired, or perhaps even simply to improve its performance on faster hardware. That said, the system is not without its limitations. For one, poor lighting conditions were avoided on purpose to reduce the additional complexities it would introduce. Apart from that, the system was tuned to a specific version of the Reversi board game, and would likely need to be slightly adjusted to perform well on different boards (with different colors). Finally, the game AI is fairly simple, and could definitely be improved as well, even if that was not the main focus of this project. 10
11 References [1] Ohad Ben-Shahar. Introduction to computational and biological vision. Lectures Notes, [2] Rami Hagege. Introduction to digital image processing. Lecture Notes, [3] Emmanuel Lazard. Strategy guide. html, [Online; accessed 21-March-2013]. [4] S.J. Russell and P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall Series in Artificial Intelligence. Prentice Hall,
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 informationLearning 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 informationProgramming 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 informationCPS331 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 informationInteractive 1 Player Checkers. Harrison Okun December 9, 2015
Interactive 1 Player Checkers Harrison Okun December 9, 2015 1 Introduction The goal of our project was to allow a human player to move physical checkers pieces on a board, and play against a computer's
More informationArtificial 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 informationIntroduction 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 informationAlgorithms 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 informationCS221 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 informationThe 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 informationFor 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 informationPlaying Othello Using Monte Carlo
June 22, 2007 Abstract This paper deals with the construction of an AI player to play the game Othello. A lot of techniques are already known to let AI players play the game Othello. Some of these techniques
More informationAdversarial 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 informationAdversary 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 informationAI 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 informationGames (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 informationApplications 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 informationArtificial Intelligence. Topic 5. Game playing
Artificial Intelligence Topic 5 Game playing broadening our world view dealing with incompleteness why play games? perfect decisions the Minimax algorithm dealing with resource limits evaluation functions
More informationToday. 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 informationOutline. 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 informationUsing 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 informationArtificial 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 informationCOMP219: 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 informationCS 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 informationFive-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 information2048: 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 information2 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 informationCreating a Poker Playing Program Using Evolutionary Computation
Creating a Poker Playing Program Using Evolutionary Computation Simon Olsen and Rob LeGrand, Ph.D. Abstract Artificial intelligence is a rapidly expanding technology. We are surrounded by technology that
More informationFoundations of Artificial Intelligence
Foundations of Artificial Intelligence 6. Board Games Search Strategies for Games, Games with Chance, State of the Art Joschka Boedecker and Wolfram Burgard and Bernhard Nebel Albert-Ludwigs-Universität
More informationAdversarial Search (Game Playing)
Artificial Intelligence Adversarial Search (Game Playing) Chapter 5 Adapted from materials by Tim Finin, Marie desjardins, and Charles R. Dyer Outline Game playing State of the art and resources Framework
More informationDocumentation 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 informationVishnu Nath. Usage of computer vision and humanoid robotics to create autonomous robots. (Ximea Currera RL04C Camera Kit)
Vishnu Nath Usage of computer vision and humanoid robotics to create autonomous robots (Ximea Currera RL04C Camera Kit) Acknowledgements Firstly, I would like to thank Ivan Klimkovic of Ximea Corporation,
More informationSpring 2005 Group 6 Final Report EZ Park
18-551 Spring 2005 Group 6 Final Report EZ Park Paul Li cpli@andrew.cmu.edu Ivan Ng civan@andrew.cmu.edu Victoria Chen vchen@andrew.cmu.edu -1- Table of Content INTRODUCTION... 3 PROBLEM... 3 SOLUTION...
More informationGoogle DeepMind s AlphaGo vs. world Go champion Lee Sedol
Google DeepMind s AlphaGo vs. world Go champion Lee Sedol Review of Nature paper: Mastering the game of Go with Deep Neural Networks & Tree Search Tapani Raiko Thanks to Antti Tarvainen for some slides
More informationEvolutionary Neural Network for Othello Game
Available online at www.sciencedirect.com Procedia - Social and Behavioral Sciences 57 ( 2012 ) 419 425 International Conference on Asia Pacific Business Innovation and Technology Management Evolutionary
More informationFoundations of Artificial Intelligence
Foundations of Artificial Intelligence 6. Board Games Search Strategies for Games, Games with Chance, State of the Art Joschka Boedecker and Wolfram Burgard and Frank Hutter and Bernhard Nebel Albert-Ludwigs-Universität
More informationCS 331: Artificial Intelligence Adversarial Search II. Outline
CS 331: Artificial Intelligence Adversarial Search II 1 Outline 1. Evaluation Functions 2. State-of-the-art game playing programs 3. 2 player zero-sum finite stochastic games of perfect information 2 1
More informationARTIFICIAL 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 informationProgramming 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 informationA 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 informationReal Time Word to Picture Translation for Chinese Restaurant Menus
Real Time Word to Picture Translation for Chinese Restaurant Menus Michelle Jin, Ling Xiao Wang, Boyang Zhang Email: mzjin12, lx2wang, boyangz @stanford.edu EE268 Project Report, Spring 2014 Abstract--We
More information1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30
CSE 3402 3.0 Intro. to Concepts of AI Winter 2012 Dept. of Computer Science & Engineering York University Assignment 2 Total marks: 100. Out: February 10 Due: March 5 at 14:30 Note 1: To hand in your report
More informationCS 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 informationIntuition 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 informationCS151 - 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 informationScrabble Board Automatic Detector for Third Party Applications
Scrabble Board Automatic Detector for Third Party Applications David Hirschberg Computer Science Department University of California, Irvine hirschbd@uci.edu Abstract Abstract Scrabble is a well-known
More informationCS 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 informationDEMONSTRATION OF AUTOMATIC WHEELCHAIR CONTROL BY TRACKING EYE MOVEMENT AND USING IR SENSORS
DEMONSTRATION OF AUTOMATIC WHEELCHAIR CONTROL BY TRACKING EYE MOVEMENT AND USING IR SENSORS Devansh Mittal, S. Rajalakshmi and T. Shankar Department of Electronics and Communication Engineering, SENSE
More informationFoundations of AI. 5. Board Games. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard and Luc De Raedt SA-1
Foundations of AI 5. Board Games Search Strategies for Games, Games with Chance, State of the Art Wolfram Burgard and Luc De Raedt SA-1 Contents Board Games Minimax Search Alpha-Beta Search Games with
More informationCS 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 informationAn Evaluation of Automatic License Plate Recognition Vikas Kotagyale, Prof.S.D.Joshi
An Evaluation of Automatic License Plate Recognition Vikas Kotagyale, Prof.S.D.Joshi Department of E&TC Engineering,PVPIT,Bavdhan,Pune ABSTRACT: In the last decades vehicle license plate recognition systems
More informationAdversarial 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 information2/5/17 ADVERSARIAL SEARCH. Today. Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making
ADVERSARIAL SEARCH Today Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making 1 Adversarial Games People like games! Games are fun, engaging, and hard-to-solve
More informationPay attention to how flipping of pieces is determined with each move.
CSCE 625 Programing Assignment #5 due: Friday, Mar 13 (by start of class) Minimax Search for Othello The goal of this assignment is to implement a program for playing Othello using Minimax search. Othello,
More informationCS188 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 informationComp 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 informationLast-Branch and Speculative Pruning Algorithms for Max"
Last-Branch and Speculative Pruning Algorithms for Max" Nathan Sturtevant UCLA, Computer Science Department Los Angeles, CA 90024 nathanst@cs.ucla.edu Abstract Previous work in pruning algorithms for max"
More informationCS 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 informationCOMP219: 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 informationGame playing. Chapter 5, Sections 1 6
Game playing Chapter 5, Sections 1 6 Artificial Intelligence, spring 2013, Peter Ljunglöf; based on AIMA Slides c Stuart Russel and Peter Norvig, 2004 Chapter 5, Sections 1 6 1 Outline Games Perfect play
More informationAn Electronic Eye to Improve Efficiency of Cut Tile Measuring Function
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 19, Issue 4, Ver. IV. (Jul.-Aug. 2017), PP 25-30 www.iosrjournals.org An Electronic Eye to Improve Efficiency
More informationComputer Vision Lesson Plan
Computer Vision Lesson Plan Overview Computer Vision Summary Computers today are being used to accomplish tasks that require using one or more of the five senses. Vision - seeing objects and identifying
More informationAdversarial 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 informationContents. Foundations of Artificial Intelligence. Problems. Why Board Games?
Contents Foundations of Artificial Intelligence 6. Board Games Search Strategies for Games, Games with Chance, State of the Art Wolfram Burgard, Bernhard Nebel, and Martin Riedmiller Albert-Ludwigs-Universität
More informationArtificial 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 informationFoundations 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 informationCMSC 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 informationADVERSARIAL 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 informationCSE 40171: Artificial Intelligence. Adversarial Search: Game Trees, Alpha-Beta Pruning; Imperfect Decisions
CSE 40171: Artificial Intelligence Adversarial Search: Game Trees, Alpha-Beta Pruning; Imperfect Decisions 30 4-2 4 max min -1-2 4 9??? Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188 31
More informationAlpha-Beta search in Pentalath
Alpha-Beta search in Pentalath Benjamin Schnieders 21.12.2012 Abstract This article presents general strategies and an implementation to play the board game Pentalath. Heuristics are presented, and pruning
More informationAdversarial search (game playing)
Adversarial search (game playing) References Russell and Norvig, Artificial Intelligence: A modern approach, 2nd ed. Prentice Hall, 2003 Nilsson, Artificial intelligence: A New synthesis. McGraw Hill,
More informationLecture 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 informationFinal Project: Reversi
Final Project: Reversi Reversi is a classic 2-player game played on an 8 by 8 grid of squares. Players take turns placing pieces of their color on the board so that they sandwich and change the color of
More informationCS 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 informationEE368 Digital Image Processing Project - Automatic Face Detection Using Color Based Segmentation and Template/Energy Thresholding
1 EE368 Digital Image Processing Project - Automatic Face Detection Using Color Based Segmentation and Template/Energy Thresholding Michael Padilla and Zihong Fan Group 16 Department of Electrical Engineering
More informationReal-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 informationFoundations of AI. 6. Board Games. Search Strategies for Games, Games with Chance, State of the Art
Foundations of AI 6. Board Games Search Strategies for Games, Games with Chance, State of the Art Wolfram Burgard, Andreas Karwath, Bernhard Nebel, and Martin Riedmiller SA-1 Contents Board Games Minimax
More informationArtificial Intelligence 1: game playing
Artificial Intelligence 1: game playing Lecturer: Tom Lenaerts Institut de Recherches Interdisciplinaires et de Développements en Intelligence Artificielle (IRIDIA) Université Libre de Bruxelles Outline
More informationComputer Science and Software Engineering University of Wisconsin - Platteville. 4. Game Play. CS 3030 Lecture Notes Yan Shi UW-Platteville
Computer Science and Software Engineering University of Wisconsin - Platteville 4. Game Play CS 3030 Lecture Notes Yan Shi UW-Platteville Read: Textbook Chapter 6 What kind of games? 2-player games Zero-sum
More informationFoundations of AI. 6. Adversarial Search. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard & Bernhard Nebel
Foundations of AI 6. Adversarial Search Search Strategies for Games, Games with Chance, State of the Art Wolfram Burgard & Bernhard Nebel Contents Game Theory Board Games Minimax Search Alpha-Beta Search
More informationLane Detection in Automotive
Lane Detection in Automotive Contents Introduction... 2 Image Processing... 2 Reading an image... 3 RGB to Gray... 3 Mean and Gaussian filtering... 5 Defining our Region of Interest... 6 BirdsEyeView Transformation...
More informationCheckerboard Tracker for Camera Calibration. Andrew DeKelaita EE368
Checkerboard Tracker for Camera Calibration Abstract Andrew DeKelaita EE368 The checkerboard extraction process is an important pre-preprocessing step in camera calibration. This project attempts to implement
More informationEvolutionary Computation for Creativity and Intelligence. By Darwin Johnson, Alice Quintanilla, and Isabel Tweraser
Evolutionary Computation for Creativity and Intelligence By Darwin Johnson, Alice Quintanilla, and Isabel Tweraser Introduction to NEAT Stands for NeuroEvolution of Augmenting Topologies (NEAT) Evolves
More informationProblem 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 informationLast 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 informationAdversarial Search and Game Playing
Games Adversarial Search and Game Playing Russell and Norvig, 3 rd edition, Ch. 5 Games: multi-agent environment q What do other agents do and how do they affect our success? q Cooperative vs. competitive
More informationGeneralized Game Trees
Generalized Game Trees Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, Ca. 90024 Abstract We consider two generalizations of the standard two-player game
More informationGame Playing: Adversarial Search. Chapter 5
Game Playing: Adversarial Search Chapter 5 Outline Games Perfect play minimax search α β pruning Resource limits and approximate evaluation Games of chance Games of imperfect information Games vs. Search
More informationGame-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 informationME 6406 MACHINE VISION. Georgia Institute of Technology
ME 6406 MACHINE VISION Georgia Institute of Technology Class Information Instructor Professor Kok-Meng Lee MARC 474 Office hours: Tues/Thurs 1:00-2:00 pm kokmeng.lee@me.gatech.edu (404)-894-7402 Class
More informationBiometrics Final Project Report
Andres Uribe au2158 Introduction Biometrics Final Project Report Coin Counter The main objective for the project was to build a program that could count the coins money value in a picture. The work was
More informationModule 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 informationAdversarial Search. Soleymani. Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 5
Adversarial Search CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2017 Soleymani Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 5 Outline Game
More informationAdverserial Search Chapter 5 minmax algorithm alpha-beta pruning TDDC17. Problems. Why Board Games?
TDDC17 Seminar 4 Adversarial Search Constraint Satisfaction Problems Adverserial Search Chapter 5 minmax algorithm alpha-beta pruning 1 Why Board Games? 2 Problems Board games are one of the oldest branches
More informationFPGA based Real-time Automatic Number Plate Recognition System for Modern License Plates in Sri Lanka
RESEARCH ARTICLE OPEN ACCESS FPGA based Real-time Automatic Number Plate Recognition System for Modern License Plates in Sri Lanka Swapna Premasiri 1, Lahiru Wijesinghe 1, Randika Perera 1 1. Department
More informationBlur Detection for Historical Document Images
Blur Detection for Historical Document Images Ben Baker FamilySearch bakerb@familysearch.org ABSTRACT FamilySearch captures millions of digital images annually using digital cameras at sites throughout
More informationGame-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 informationGame Playing AI Class 8 Ch , 5.4.1, 5.5
Game Playing AI Class Ch. 5.-5., 5.4., 5.5 Bookkeeping HW Due 0/, :59pm Remaining CSP questions? Cynthia Matuszek CMSC 6 Based on slides by Marie desjardin, Francisco Iacobelli Today s Class Clear criteria
More informationADVERSARIAL 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 informationAdversarial 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