Red Shadow. FPGA Trax Design Competition

Size: px
Start display at page:

Download "Red Shadow. FPGA Trax Design Competition"

Transcription

1 Design Competition placing: Red Shadow (Qing Lu, Bruce Chiu-Wing Sham, Francis C.M. Lau) for coming third equal place in the FPGA Trax Design Competition International Conference on Field Programmable Technology 7-9 December 2015 Date: 9 December, 2015 General Chair Design Competition Chair

2 An Architecture-Algorithm Co-Design of Artificial Intelligence for Trax Player Qing Lu, Chiu-Wing Sham and Francis C. M. Lau Department of Electronic and Information Engineering, The Hong Kong Polytechnic University, Hong Kong Abstract Trax is a two-player game of simple rules but strategic depth. This article proposes an FPGA-based artificial intelligence for its endless version called Supertrax. An implementable algorithm is developed by combining several strategies and techniques functioning at various levels of software and hardware. These methods are developed using heuristics, multilevel pattern recognition, Monte-Carlo Tree Search, and pathbased scheduling. A specific architecture has also been described to accommodate this algorithm. The proposal contributes a novel idea on this subject and its performance will be shown in the design competition to be held in FPT 15. I. INTRODUCTION Trax is a modern strategic game of two players with alternate moves. At each turn, one player can place a tile of either curves or straights into a vacant position on the board. On the tile, there is one section of track in each of two colors, typically black or white, representing either player. All tiles must be placed edge by edge so that the tracks of the same color can join up. The game is won when either side has a path forming a loop or line. In almost all tournament games, a variation called Supertrax is played, which sets no limits to the board size and hence never ends with a draw. The ostensible simplicity in its rule indeed endows Trax with tremendous complexity. The bridge over this gap is the forced play rule allowing the players to place multiple tiles in one turn. As a result, the depth of the board state is not in line with the number of turns taken and a structural representation for it can be hardly developed by instinct. What s more challenging, there are no definitive rubrics to evaluate the states since the potential to win is in few cases perceptual. This work describes an artificial intelligence (AI) for Trax where the algorithm and architecture are co-designed with collaboration. The organization is as follows. In Section II, the basic strategies and algorithms are developed according to the game characteristics in a software sense. Next, an edge representation method is proposed in Section III to facilitate the implementation of these algorithm efficiently. Based on this method, Section IV then elaborates how the algorithms are interpreted into an hardware architecture at a block-to-block level. Finally, Section V will conclude our work so far and forecast some issues that is still open for investigation. Some of the terminologies and strategies are quoted or developed from [1]. Due to the lack of precedent works, our idea offers a new approach on this topic. Furthermore, this design can be implemented onto an FPGA and applied in the design competition to be held by FPT 15. A. Move Priority II. STRATEGY AND ALGORITHM Given a board state, the first priority should go to the moves that can complete a win. If such moves are unavailable, the counterpart solutions that will prevent an immediate lose are the most appreciable. This intuitive check-list can continue until there is no identifiable threats in favor of both sides which, once activated, can lead to a win in finite steps. Accordingly, the conditions under which the decisions are made fall into three categories: attacking, defending and waiting. Fig. 1 shows the hierarchy of decision priorities based on the existence of activated threats in play. The potential to win or lose has given a heuristic way of move evaluation. If we assign a k-stage win with a score α (k) and lose with β (k), respectively, the above priority list can be interpreted into the following relations α (1) > β (1) > α (2) > β (2) > α (3) > (1) where α (i) > 0 > β (j), i, j. The more attacking or defending patterns are recognized, the more chances a player is able to manage a win or avoid a lose. α(1) α(2) α(3) β(3) β(2) β(1) 2-stage win 3-stage win 3-stage loss 2-stage loss 1-stage loss attacking waiting defending Fig. 1: The priority list for making decisions. B. Multi-Level Pattern Recognition The attacking and defending patterns in a Trax game are distinctive in that their potentials are very conditional. Take /15/$31.00 c 2015 IEEE

3 (a) (b) searched step by step. In the above example, we start with noticing a 1 1 corner. Then the related positions are checked to see if there is a corner or a side-by-side double-path to make an L. In the latter case, the connection of the black paths is of concern and studied. For different results, some particular steps will be taken further. Actually, this procedure of checking can be represented by a tree structure and it is indeed a fragment of the holistic pattern-recognition algorithm (Fig. 3). (c) Fig. 2: Example of hierarchical pattern combinations: (a) a 1 1 corner, (b) two 1 1 corners, (c) a 1 1 corner and a double path and (d) a 1 1 corner and a double path with a large opponent corner. an L attack for example. As illustrated in Fig. 2a, a 1 1 corner can potentially form a loop but it may be easily defused so it s not a win-threat. However, if another corner exists at the specific position to form L shape with it, the suggested move then makes a two-loop (Fig. 2b). An alternative of a double-path shown in Fig. 2c can perform the same way as the corner. Nevertheless, there is a latent danger of the advantage to be overturned if the black paths are connected at the left side as shown in Fig. 2d because the forced tiles shall give the Black an immediate opportunity to complete a loop. In this case, this pattern contains a 2-stage win and a 1-stage lose and hence it is supposed to be tagged with an very negative score. Check the 2 1 tiles in the positions to form an L 1 1 corner and vacancy connected 1 1 corner side-by-side double-path not connected (d) Check if the opponent paths are connected 1-stage lose Fig. 3: A fragment of the pattern-search tree. This characteristic allows for a hierarchical order of process on pattern recognition so the pattern space is discomposed and C. Monte-Carlo Tree Search While the threats with a small number of stages are identifiable, the patterns in the waiting region are much more difficult to recognize and evaluate due to their complexity. Therefore, we resort to Monte Carlo method [2] to tackle this problem which is commonly applied to approximate the optimal solution when deterministic results are unattainable. In particular, a variation called Monte-Carlo Tree Search (MCTS) is a very useful technique in games where moves follow a tree organization. With MCTS, a game AI can make estimations much more deeply than the traverse method in a given time in spite of small errors. The MCTS is suitable to evaluate the potentials of waiting moves because they are hardly determined within just a few steps. Instead, we predefine them by training which proceeds by generating a random solution for each turn, until an attacking/defending pattern is formed. Then the result is used to calibrate each of the previous solutions. The more samples are trained, the more approximately their strength is measured. By such training, we can as precisely define the waiting part of the priority list by the potential to win or lose as possible. D. Path-Based Scheduling Given the predefined rubrics for pattern evaluation, the schedule of solution search is still problematic because the space grows after each turn. Observationally, the useful information is always on the edge of the playing area where the ends of every existing path are located. By contrast, the details of inner tiles are negligible as long as we know which two ends are connected by a same path. Therefore we search the playing area along with the paths in it for two conspicuous benefits. First, the possible solutions must be an extension from one existing path so that the search is complete and efficient. Second, we notice that at each turn no more than one path can be added into the playing area since the forced tiles cannot introduce new paths. This means that the search complexity is linearly bounded by the number of turns taken. Specifically, each path is investigated by the positions of its two ends. The distance between them clearly reveals its potential to join inward into a loop or stretch outward into a line. An example given in Fig. 4 has two 14-section paths for the White player concertedly indicating a. One is a potential loop and the other is a line. This fatal threat is easily identified by comparing the distance between the ends of these paths and examining the size of the playing area.

4 Loop end Loop end Line end Line end Fig. 4: The threat of a formed by two 14-section paths. III. EDGE RRESENTATION Concisely, we represent the board by encoding the edges of its grid. Similar techniques have been used to handle the routing problem in VLSI design methodologies [3], [4]. Accordingly all the sections of track are recorded by two bits corresponding to adjacent edges. In our representation method, the horizontal and vertical edges are denoted by X and Y, respectively, and positioned in two orthogonal coordinate systems. We assign two bits for each edge X/Y, the first bit x 1 /y 1 for the occupancy status and the second bit x 2 /y 2 for the color. Referring to Fig. 5, the four edges enclosing the same tile are X (i, j) on the top, Y (j, i) on the left, X (i, j + 1) on the bottom and Y (j, i + 1) on the right. According to the rule, each edge X/Y (i, j) is able to join one of six proximate edges including X/Y (i, j 1), Y/X (j 1, i), Y/X (j 1, i + 1) and X/Y (i, j + 1), Y/X (j, i), Y/X (j, i + 1). Note that these edges belong to two adjacent tile positions while X (i, j) is the center edge shared by both positions. Y Y2 X X X1/2:1 st /2 nd coordinate of edge X Y1/2:1 st /2 nd coordinate of edge Y : horizontal edge X : vertical edge Y Fig. 5: The edge-based representation system. Then we can scan the possible solutions from the edges perspective by regarding a new tile as equivalent to extending a path from the center edge to one of the 6 proximate edges that is untapped. Therefore, the possibility of path extension is determined by the occupancy status of both the related edges. For example, if X (i, j) can extend to Y (j, i), we must have x 1 (i, j) = 1 and y 1 (j, i) = 0. After one move from either player is launched, the forced play needs to be performed by simulation. For the same example, there are 6 symmetric cases where X (i, j) is supposed to be forced. One of them is when edge X (i, j 1) joins Y (j 1, i). In this case, the following Boolean equation is true: x 1 (i, j 1) y 1 (j 1, i) x 2 (i, j 1) y 2 (j 1, i) = 1. (2) Specially, an illegal move occurs when all the three proximate edges enclosing one position are occupied with the same color so that the tracks herein cannot join the others. We can easily detect it by finding or y 1 (j, i) x 1 (i, j + 1) y 1 (j, i + 1) = 1 y 2 (j, i) = x 2 (i, j + 1) = y 2 (j, i + 1) y 1 (j 1, i + 1) x 1 (i, j 1) y 1 (j 1, i) = 1 y 2 (j 1, i + 1) = x 2 (i, j 1) = y 2 (j 1, i). IV. ARCHITECTURE The architecture to fulfill our algorithm is illustrated in Fig. 6. It mainly consists of the board simulator (BS), the solution analyzer (SA) and the main processor (MP). The strategy is programmed into the MP which directs the operation of the BS and SA. When the universal asynchronous receiver/transmitter (UART) receives a data package, the move translator will decode it into our representation and send it into the MP. Under its control, the BS changes its state as the data described and gets ready for the scan of possible solutions. According to the path-based search scheduling, all the paths are stored in the memory by their end positions. After one path is retrieved from the memory, either end is taken at each time as the center edge and its six proximate edges are examined, of which at least two are possible solutions. Next, the BS computes the prospective board state if the possible solution is appointed, and gives a sample for the SA to evaluate. The SA analyzes the board state and computes a score for it. During the evaluation, the MP keeps adjusting the region of investigation when the playing area is too large. When a possible solution is finished, the BS returns to its original state and the MP checks the next proximate edge until all the 12 relevant edges are tried. After that, the next path will be read out and the above procedure repeated. When all the possible solutions are scanned or the time is up, the analyzing process stops and the up-to-date best solution is fed into the MP. It will compute the updated state and rewrite the memory followed by reseting all the other blocks. Finally the solution is translated and sent to the host computer by the move translator (MT) and UART, respectively. A. Board Simulator According to the representation system, the BS can be assembled by edge processors (s) each corresponding to (3) (4)

5 Depth 1 GR Board Simulator Solution Register Main Processor Path Memory Move Translator 2-stage win 3-stage win 2-stage lose 1-stage lose Score Synthesizer UART Solution Analyzer RS232 Fig. 6: The architecture overview. one edge. Each of the stores the current state of the edge and computes the next. Following the relationship among the edges, every communicates with six proximate s. For four s enclosing one position, there is a switching node to route their connections. Fig. 7 shows how the BS is related to the virtual board and how they are sampled. At each time, only the regional state is investigated and sampled to the SA. To move the region, the s perform a row-/column-wised shift operation. When the investigation region is right, the sample state may match a predefined pattern. In Fig. 7, the highlighted five PEs match the pattern of L -threat that will be identified by the SA. Fig. 7: Regional investigation of the board simulator and its implementation structure. B. Solution Analyzer The SA comprises the pattern recognizers (s), the general rater (GR), the score synthesizer (SS) and solution register (SR). The s are arranged in a structure following the specification of the pattern-search tree. In this way, the identification of different patterns can be processed in parallel. At the end, recognition results are output from the depth-k s, each indicating one principal pattern of threat. Meanwhile, the GR provides a summary of the potential to win or lose based on the training results stored in it. With the same architecture, the AI can be modified by using different initial training results. Therefore, we can easily improve the intelligence of the player. All the information concerning threats and potentials are combined to generate a score by the SS before sending the it to the SR. The SR always keeps track of the best solution that has been found and only replaced when a higher score is generated. V. CONCLUSION In this report, an AI of Trax is designed with collaborative algorithm and architecture. Generally, this design provides a flexible framework to accommodate intelligence adaption of the player. To strengthen this AI, however, we still need to delve into several issues. First, given a stage limit, many patterns or possible variations have not been found and we may develop an algorithm to help find them. Second, the rating formula should be refined to reflect the balance of all the factors. Third, the implementation trade-offs in relation to the AI s performance will be studied and accordingly optimized. REFERENCES [1] D. Bailey, Trax: Strategy for Beginners (2 ed.). D.G. Bailey, [2] Wikipedia, Monte carlo method, Carlo method. [3] J. Lou, S. Thakur, S. Krishnamoorthy, and H. S. Sheng, Estimating routing congestion using probabilistic analysis, Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol. 21, no. 1, pp , [4] C.-W. Sham, E. F. Young, and J. Lu, Congestion prediction in early stages of physical design, ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. 14, no. 1, p. 12, 2009.

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

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

a b c d e f g h 1 a b c d e f g h C A B B A C C X X C C X X C C A B B A C Diagram 1-2 Square names

a b c d e f g h 1 a b c d e f g h C A B B A C C X X C C X X C C A B B A C Diagram 1-2 Square names Chapter Rules and notation Diagram - shows the standard notation for Othello. The columns are labeled a through h from left to right, and the rows are labeled through from top to bottom. In this book,

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

Playing Othello Using Monte Carlo

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

More information

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

Foundations 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 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 information

Your Name and ID. (a) ( 3 points) Breadth First Search is complete even if zero step-costs are allowed.

Your Name and ID. (a) ( 3 points) Breadth First Search is complete even if zero step-costs are allowed. 1 UC Davis: Winter 2003 ECS 170 Introduction to Artificial Intelligence Final Examination, Open Text Book and Open Class Notes. Answer All questions on the question paper in the spaces provided Show all

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

SEARCHING is both a method of solving problems and

SEARCHING is both a method of solving problems and 100 IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 3, NO. 2, JUNE 2011 Two-Stage Monte Carlo Tree Search for Connect6 Shi-Jim Yen, Member, IEEE, and Jung-Kuei Yang Abstract Recently,

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

CS221 Project Final Report Gomoku Game Agent

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

More information

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

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

Towards Strategic Kriegspiel Play with Opponent Modeling

Towards Strategic Kriegspiel Play with Opponent Modeling Towards Strategic Kriegspiel Play with Opponent Modeling Antonio Del Giudice and Piotr Gmytrasiewicz Department of Computer Science, University of Illinois at Chicago Chicago, IL, 60607-7053, USA E-mail:

More information

SCRABBLE ARTIFICIAL INTELLIGENCE GAME. CS 297 Report. Presented to. Dr. Chris Pollett. Department of Computer Science. San Jose State University

SCRABBLE ARTIFICIAL INTELLIGENCE GAME. CS 297 Report. Presented to. Dr. Chris Pollett. Department of Computer Science. San Jose State University SCRABBLE AI GAME 1 SCRABBLE ARTIFICIAL INTELLIGENCE GAME CS 297 Report Presented to Dr. Chris Pollett Department of Computer Science San Jose State University In Partial Fulfillment Of the Requirements

More information

UNIT 13A AI: Games & Search Strategies. Announcements

UNIT 13A AI: Games & Search Strategies. Announcements UNIT 13A AI: Games & Search Strategies 1 Announcements Do not forget to nominate your favorite CA bu emailing gkesden@gmail.com, No lecture on Friday, no recitation on Thursday No office hours Wednesday,

More information

Hierarchical Controller for Robotic Soccer

Hierarchical Controller for Robotic Soccer Hierarchical Controller for Robotic Soccer Byron Knoll Cognitive Systems 402 April 13, 2008 ABSTRACT RoboCup is an initiative aimed at advancing Artificial Intelligence (AI) and robotics research. This

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

Learning from Hints: AI for Playing Threes

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

More information

50 Graded Trax Problems with solutions. Collected and annotated by Martin Møller Skarbiniks Pedersen

50 Graded Trax Problems with solutions. Collected and annotated by Martin Møller Skarbiniks Pedersen 50 Graded Trax Problems with solutions Collected and annotated by Martin Møller Skarbiniks Pedersen Second edition September 2011 Dear reader, I started collecting trax puzzles several years ago and now

More information

5.4 Imperfect, Real-Time Decisions

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

More information

Games and Adversarial Search II

Games and Adversarial Search II Games and Adversarial Search II Alpha-Beta Pruning (AIMA 5.3) Some slides adapted from Richard Lathrop, USC/ISI, CS 271 Review: The Minimax Rule Idea: Make the best move for MAX assuming that MIN always

More information

An Experimental Comparison of Path Planning Techniques for Teams of Mobile Robots

An Experimental Comparison of Path Planning Techniques for Teams of Mobile Robots An Experimental Comparison of Path Planning Techniques for Teams of Mobile Robots Maren Bennewitz Wolfram Burgard Department of Computer Science, University of Freiburg, 7911 Freiburg, Germany maren,burgard

More information

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol

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

More information

An Intelligent Agent for Connect-6

An Intelligent Agent for Connect-6 An Intelligent Agent for Connect-6 Sagar Vare, Sherrie Wang, Andrea Zanette {svare, sherwang, zanette}@stanford.edu Institute for Computational and Mathematical Engineering Huang Building 475 Via Ortega

More information

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

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 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 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

MAS336 Computational Problem Solving. Problem 3: Eight Queens

MAS336 Computational Problem Solving. Problem 3: Eight Queens MAS336 Computational Problem Solving Problem 3: Eight Queens Introduction Francis J. Wright, 2007 Topics: arrays, recursion, plotting, symmetry The problem is to find all the distinct ways of choosing

More information

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

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

More information

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

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

Robo-Erectus Jr-2013 KidSize Team Description Paper.

Robo-Erectus Jr-2013 KidSize Team Description Paper. Robo-Erectus Jr-2013 KidSize Team Description Paper. Buck Sin Ng, Carlos A. Acosta Calderon and Changjiu Zhou. Advanced Robotics and Intelligent Control Centre, Singapore Polytechnic, 500 Dover Road, 139651,

More information

Analysis and Implementation of the Game OnTop

Analysis and Implementation of the Game OnTop Analysis and Implementation of the Game OnTop Master Thesis DKE 09-25 Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science of Artificial Intelligence at the Department

More information

Design of Parallel Algorithms. Communication Algorithms

Design of Parallel Algorithms. Communication Algorithms + Design of Parallel Algorithms Communication Algorithms + Topic Overview n One-to-All Broadcast and All-to-One Reduction n All-to-All Broadcast and Reduction n All-Reduce and Prefix-Sum Operations n Scatter

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

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

Theory and Practice of Artificial Intelligence

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

More information

The Basic Kak Neural Network with Complex Inputs

The Basic Kak Neural Network with Complex Inputs The Basic Kak Neural Network with Complex Inputs Pritam Rajagopal The Kak family of neural networks [3-6,2] is able to learn patterns quickly, and this speed of learning can be a decisive advantage over

More information

Reinforcement Learning in Games Autonomous Learning Systems Seminar

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

More information

EXPLORING TIC-TAC-TOE VARIANTS

EXPLORING TIC-TAC-TOE VARIANTS EXPLORING TIC-TAC-TOE VARIANTS By Alec Levine A SENIOR RESEARCH PAPER PRESENTED TO THE DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE OF STETSON UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR

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

Variations on the Two Envelopes Problem

Variations on the Two Envelopes Problem Variations on the Two Envelopes Problem Panagiotis Tsikogiannopoulos pantsik@yahoo.gr Abstract There are many papers written on the Two Envelopes Problem that usually study some of its variations. In this

More information

A Robotic Simulator Tool for Mobile Robots

A Robotic Simulator Tool for Mobile Robots 2016 Published in 4th International Symposium on Innovative Technologies in Engineering and Science 3-5 November 2016 (ISITES2016 Alanya/Antalya - Turkey) A Robotic Simulator Tool for Mobile Robots 1 Mehmet

More information

Ar#ficial)Intelligence!!

Ar#ficial)Intelligence!! Introduc*on! Ar#ficial)Intelligence!! Roman Barták Department of Theoretical Computer Science and Mathematical Logic So far we assumed a single-agent environment, but what if there are more agents and

More information

Application of UCT Search to the Connection Games of Hex, Y, *Star, and Renkula!

Application of UCT Search to the Connection Games of Hex, Y, *Star, and Renkula! Application of UCT Search to the Connection Games of Hex, Y, *Star, and Renkula! Tapani Raiko and Jaakko Peltonen Helsinki University of Technology, Adaptive Informatics Research Centre, P.O. Box 5400,

More information

Utilization-Aware Adaptive Back-Pressure Traffic Signal Control

Utilization-Aware Adaptive Back-Pressure Traffic Signal Control Utilization-Aware Adaptive Back-Pressure Traffic Signal Control Wanli Chang, Samarjit Chakraborty and Anuradha Annaswamy Abstract Back-pressure control of traffic signal, which computes the control phase

More information

CS295-1 Final Project : AIBO

CS295-1 Final Project : AIBO CS295-1 Final Project : AIBO Mert Akdere, Ethan F. Leland December 20, 2005 Abstract This document is the final report for our CS295-1 Sensor Data Management Course Final Project: Project AIBO. The main

More information

Handling Search Inconsistencies in MTD(f)

Handling Search Inconsistencies in MTD(f) Handling Search Inconsistencies in MTD(f) Jan-Jaap van Horssen 1 February 2018 Abstract Search inconsistencies (or search instability) caused by the use of a transposition table (TT) constitute a well-known

More information

Automatic Wordfeud Playing Bot

Automatic Wordfeud Playing Bot Automatic Wordfeud Playing Bot Authors: Martin Berntsson, Körsbärsvägen 4 C, 073-6962240, mbernt@kth.se Fredric Ericsson, Adolf Lemons väg 33, 073-4224662, fericss@kth.se Course: Degree Project in Computer

More information

UNIT 13A AI: Games & Search Strategies

UNIT 13A AI: Games & Search Strategies UNIT 13A AI: Games & Search Strategies 1 Artificial Intelligence Branch of computer science that studies the use of computers to perform computational processes normally associated with human intellect

More information

CS 188 Introduction to Fall 2014 Artificial Intelligence Midterm

CS 188 Introduction to Fall 2014 Artificial Intelligence Midterm CS 88 Introduction to Fall Artificial Intelligence Midterm INSTRUCTIONS You have 8 minutes. The exam is closed book, closed notes except a one-page crib sheet. Please use non-programmable calculators only.

More information

The Mathematics of Playing Tic Tac Toe

The Mathematics of Playing Tic Tac Toe The Mathematics of Playing Tic Tac Toe by David Pleacher Although it has been shown that no one can ever win at Tic Tac Toe unless a player commits an error, the game still seems to have a universal appeal.

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

Mind Ninja The Game of Boundless Forms

Mind Ninja The Game of Boundless Forms Mind Ninja The Game of Boundless Forms Nick Bentley 2007-2008. email: nickobento@gmail.com Overview Mind Ninja is a deep board game for two players. It is 2007 winner of the prestigious international board

More information

Foundations of Artificial Intelligence

Foundations 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 information

Adversarial Search and Game Theory. CS 510 Lecture 5 October 26, 2017

Adversarial Search and Game Theory. CS 510 Lecture 5 October 26, 2017 Adversarial Search and Game Theory CS 510 Lecture 5 October 26, 2017 Reminders Proposals due today Midterm next week past midterms online Midterm online BBLearn Available Thurs-Sun, ~2 hours Overview Game

More information

TEMPORAL DIFFERENCE LEARNING IN CHINESE CHESS

TEMPORAL DIFFERENCE LEARNING IN CHINESE CHESS TEMPORAL DIFFERENCE LEARNING IN CHINESE CHESS Thong B. Trinh, Anwer S. Bashi, Nikhil Deshpande Department of Electrical Engineering University of New Orleans New Orleans, LA 70148 Tel: (504) 280-7383 Fax:

More information

Jamie Mulholland, Simon Fraser University

Jamie Mulholland, Simon Fraser University Games, Puzzles, and Mathematics (Part 1) Changing the Culture SFU Harbour Centre May 19, 2017 Richard Hoshino, Quest University richard.hoshino@questu.ca Jamie Mulholland, Simon Fraser University j mulholland@sfu.ca

More information

Keywords: Multi-robot adversarial environments, real-time autonomous robots

Keywords: Multi-robot adversarial environments, real-time autonomous robots ROBOT SOCCER: A MULTI-ROBOT CHALLENGE EXTENDED ABSTRACT Manuela M. Veloso School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213, USA veloso@cs.cmu.edu Abstract Robot soccer opened

More information

Anavilhanas Natural Reserve (about 4000 Km 2 )

Anavilhanas Natural Reserve (about 4000 Km 2 ) Anavilhanas Natural Reserve (about 4000 Km 2 ) A control room receives this alarm signal: what to do? adversarial patrolling with spatially uncertain alarm signals Nicola Basilico, Giuseppe De Nittis,

More information

Applicable Game Theory

Applicable Game Theory Chapter Two: The GamePlan Software * 2.1 Purpose of the Software One of the greatest challenges in teaching and doing research in game theory is computational. Although there are powerful theoretical results

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

Dragon Canyon. Solo / 2-player Variant with AI Revision

Dragon Canyon. Solo / 2-player Variant with AI Revision Dragon Canyon Solo / 2-player Variant with AI Revision 1.10.4 Setup For solo: Set up as if for a 2-player game. For 2-players: Set up as if for a 3-player game. For the AI: Give the AI a deck of Force

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

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

Foundations 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 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 information

Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal).

Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal). Search Can often solve a problem using search. Two requirements to use search: Goal Formulation. Need goals to limit search and allow termination. Problem formulation. Compact representation of problem

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

Design and Implementation of Magic Chess

Design and Implementation of Magic Chess Design and Implementation of Magic Chess Wen-Chih Chen 1, Shi-Jim Yen 2, Jr-Chang Chen 3, and Ching-Nung Lin 2 Abstract: Chinese dark chess is a stochastic game which is modified to a single-player puzzle

More information

5.4 Imperfect, Real-Time Decisions

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

More information

Extending the STRADA Framework to Design an AI for ORTS

Extending the STRADA Framework to Design an AI for ORTS Extending the STRADA Framework to Design an AI for ORTS Laurent Navarro and Vincent Corruble Laboratoire d Informatique de Paris 6 Université Pierre et Marie Curie (Paris 6) CNRS 4, Place Jussieu 75252

More information

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

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

More information

Procedural Play Generation According to Play Arcs Using Monte-Carlo Tree Search

Procedural Play Generation According to Play Arcs Using Monte-Carlo Tree Search Proc. of the 18th International Conference on Intelligent Games and Simulation (GAME-ON'2017), Carlow, Ireland, pp. 67-71, Sep. 6-8, 2017. Procedural Play Generation According to Play Arcs Using Monte-Carlo

More information

Chess Rules- The Ultimate Guide for Beginners

Chess Rules- The Ultimate Guide for Beginners Chess Rules- The Ultimate Guide for Beginners By GM Igor Smirnov A PUBLICATION OF ABOUT THE AUTHOR Grandmaster Igor Smirnov Igor Smirnov is a chess Grandmaster, coach, and holder of a Master s degree in

More information

Gomoku Player Design

Gomoku Player Design Gomoku Player Design CE126 Advanced Logic Design, winter 2002 University of California, Santa Cruz Max Baker (max@warped.org) Saar Drimer (saardrimer@hotmail.com) 0. Introduction... 3 0.0 The Problem...

More information

PROBLEMS & INVESTIGATIONS. Introducing Add to 15 & 15-Tac-Toe

PROBLEMS & INVESTIGATIONS. Introducing Add to 15 & 15-Tac-Toe Unit One Connecting Mathematical Topics Session 10 PROBLEMS & INVESTIGATIONS Introducing Add to 15 & 15-Tac-Toe Overview To begin, students find many different ways to add combinations of numbers from

More information

Proposed Method for Off-line Signature Recognition and Verification using Neural Network

Proposed Method for Off-line Signature Recognition and Verification using Neural Network e-issn: 2349-9745 p-issn: 2393-8161 Scientific Journal Impact Factor (SJIF): 1.711 International Journal of Modern Trends in Engineering and Research www.ijmter.com Proposed Method for Off-line Signature

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

Sudoku goes Classic. Gaming equipment and the common DOMINARI - rule. for 2 players from the age of 8 up

Sudoku goes Classic. Gaming equipment and the common DOMINARI - rule. for 2 players from the age of 8 up Sudoku goes Classic for 2 players from the age of 8 up Gaming equipment and the common DOMINARI - rule Board Sudoku goes classic is played on a square board of 6x6 fields. 4 connected fields of the same

More information

International Journal of Informative & Futuristic Research ISSN (Online):

International Journal of Informative & Futuristic Research ISSN (Online): Reviewed Paper Volume 2 Issue 4 December 2014 International Journal of Informative & Futuristic Research ISSN (Online): 2347-1697 A Survey On Simultaneous Localization And Mapping Paper ID IJIFR/ V2/ E4/

More information

Monte Carlo tree search techniques in the game of Kriegspiel

Monte Carlo tree search techniques in the game of Kriegspiel Monte Carlo tree search techniques in the game of Kriegspiel Paolo Ciancarini and Gian Piero Favini University of Bologna, Italy 22 IJCAI, Pasadena, July 2009 Agenda Kriegspiel as a partial information

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

Comparison of Monte Carlo Tree Search Methods in the Imperfect Information Card Game Cribbage

Comparison of Monte Carlo Tree Search Methods in the Imperfect Information Card Game Cribbage Comparison of Monte Carlo Tree Search Methods in the Imperfect Information Card Game Cribbage Richard Kelly and David Churchill Computer Science Faculty of Science Memorial University {richard.kelly, dchurchill}@mun.ca

More information

Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter

Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter 2011 1 Computer Science 384 February 20, 2011 St. George Campus University of Toronto Homework Assignment #2 (Part 1 of 2)

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

Foundations of Artificial Intelligence

Foundations 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 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

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, Connect Four 1

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, Connect Four 1 Connect Four March 9, 2010 Connect Four 1 Connect Four is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally,

More information

Computational Intelligence for Network Structure Analytics

Computational Intelligence for Network Structure Analytics Computational Intelligence for Network Structure Analytics Maoguo Gong Qing Cai Lijia Ma Shanfeng Wang Yu Lei Computational Intelligence for Network Structure Analytics 123 Maoguo Gong Xidian University

More information

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software lars@valvesoftware.com For the behavior of computer controlled characters to become more sophisticated, efficient algorithms are

More information

Latin Squares for Elementary and Middle Grades

Latin Squares for Elementary and Middle Grades Latin Squares for Elementary and Middle Grades Yul Inn Fun Math Club email: Yul.Inn@FunMathClub.com web: www.funmathclub.com Abstract: A Latin square is a simple combinatorial object that arises in many

More information

Creating a Havannah Playing Agent

Creating a Havannah Playing Agent Creating a Havannah Playing Agent B. Joosten August 27, 2009 Abstract This paper delves into the complexities of Havannah, which is a 2-person zero-sum perfectinformation board game. After determining

More information

Game Playing. Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial.

Game Playing. Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial. Game Playing Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial. 2. Direct comparison with humans and other computer programs is easy. 1 What Kinds of Games?

More information

Comparing Methods for Solving Kuromasu Puzzles

Comparing Methods for Solving Kuromasu Puzzles Comparing Methods for Solving Kuromasu Puzzles Leiden Institute of Advanced Computer Science Bachelor Project Report Tim van Meurs Abstract The goal of this bachelor thesis is to examine different methods

More information

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

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

More information

Programming Project 1: Pacman (Due )

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

More information

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

Multi-Radio Channel Detecting Jamming Attack Against Enhanced Jump-Stay Based Rendezvous in Cognitive Radio Networks

Multi-Radio Channel Detecting Jamming Attack Against Enhanced Jump-Stay Based Rendezvous in Cognitive Radio Networks Multi-Radio Channel Detecting Jamming Attack Against Enhanced Jump-Stay Based Rendezvous in Cognitive Radio Networks Yang Gao 1, Zhaoquan Gu 1, Qiang-Sheng Hua 2, Hai Jin 2 1 Institute for Interdisciplinary

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