Computing Science (CMPUT) 496
|
|
- Geraldine Melton
- 5 years ago
- Views:
Transcription
1 Computing Science (CMPUT) 496 Search, Knowledge, and Simulations Martin Müller Department of Computing Science University of Alberta Winter 2017
2 Part I Intro - Problem Solving for humans and computers
3 496 Today - Jan 12 Topics: Eyes and Life in Go Basic data structures and algorithms for Go Programs Tools for Go programming: GoGui, attaching Go programs, GTP text interface Why talk about Go in the Problem-solving topic? I am doing this early for two reasons: You need it for Assignment 1 For many of the (general purpose) algorithms throughout the course, we will use Go as example
4 About Python Code for Go and Assignment 1 I start using Python 3 code as example today So far, examples are only on slides Source code not released yet I want to do a final check for quality and consistency this weekend You will get the code for our Go1 program I will announce it when ready Plays random moves, but does not fill one point eyes This is also the code you will modify for Assignment 1 (Random NoGo Player)
5 What are Eyes and Why are they Useful? End of last class, we saw a problem with a true random player It keeps playing and playing, and even very strong stones keep dying Games would last VERY long, and result would have no meaning Solution: remove some of the most stupid moves, to make sure the game ends in reasonable time We remove so-called eye-filling moves
6 Eyes and Capturing An eye is a point that is surrounded by one color For the opponent: (illegal) suicide to play there... (A, B, C in top picture)...unless that point is the last liberty of the surrounding stones (bottom picture) - then it becomes a (legal) capture
7 Two Eyes are Safe Here, Black has one block surrounding two eyes A and B White cannot attack, both A and B are suicide Black is safe as long as Black leaves the eyes alone Remember you can always pass, no need to hurt your own stones Black should NEVER play A or B If Black fills second-last eye then White can capture
8 What is an Eye? Simple definition used here There are other kinds of eyes (later) 1 Single empty point 2 All neighbors occupied by stones of the same color 3 All these stones are connected Examples: eye in corner, edge of board, and center
9 Detecting Eyes Locally Most simple eyes can be detected locally Only look at neighbors and diagonals Corner, edge: need all (1 or 2) diagonals to connect Center: need at least 3 of 4 diagonals In principle, can connect along some longer path Pretty rare, ignore in program for now Example: A7 eye Stones A6 and B7 connected over a long path
10 Simple Eyes - Summary Random player keeps playing senselessly......unless we stop it from filling its eyes An eye is an empty point, surrounded by a connected block of stones A simple local definition of eye is good enough for now Very fast to check in program, only look at 8 neighbors and diagonals (at most) Having two (or more) eyes makes a block safe from capture Next topic: implementing Go board and rules
11 Implementing a Go Board and Go Rules Representing the board Updating the board after a move Recognize capture Checking for legal moves Recognize suicide and repetition (simple ko)
12 Why Bother with an Efficient Board Representation? Most game programs are based on search and simulation Billions of moves played and taken back during a game Playing strength strongly depends on amount of search So, make it as fast as possible Our first Python codes may be times slower than state of the art Mostly, that is due to algorithms and data structures, not Python...
13 Representing State of a Point Three possible states: empty, black or white We could use the new-ish Python 3 enumeration type https: //docs.python.org/3/library/enum.html class BoardColor(Enum): EMPTY = 0 BLACK = 1 WHITE = 2 In current program we just use integer codes for colors EMPTY = 0 BLACK = 1 WHITE = 2
14 Representing the Go Board - 2d Array MAXSIZE = 7 board = [[EMPTY for x in range(maxsize)] for y in range(maxsize)] print(board) board[3][4] = BLACK print(board) Most direct representation: 2-dimensional array Store a point on the board at coordinates [x][y] in array
15 Drawbacks of Two-dimensional Array Overhead from 2-d address calculation Need two variables (x, y) to represent a single point Often need two computations, for x, y separately Complex checking for boundary cases if x > 0 and y > 0 and x <= MAXSIZE and y <= MAXSIZE if statements introduce conditional branches and slow down execution
16 Go Board as One-dimensional Array Solution: use a simple 1-dimensional array From (x,y) to single index p = x + y * MAXSIZE Back from p to x, y by integer division and modulo operators x = p % MAXSIZE y = p // MAXSIZE Can also precompute the calculations Lookup tables, e.g. x = xcoord[p] Frequent operations use simple offset, constant time Go to neighbors and diagonals Check if on border, or has neighbor Many more..
17 Drawbacks of Simple One-dimensional Array Edges of board still needs special case treatment (lots of if statements) Index 6 and 7 are not neighbors... There is no neighbor upwards from 4... Similar for bottom edge
18 Solution: Add Padding Image source: gnugo/gnugo_15.html Solution: add extra padding Above board Below board Between rows For these points, store a new code "off the board" BORDER = 3 Many special edge cases can be avoided by only checking the content of the point
19 Summary and Comments for Board Representation Standard way for Go uses 1-d board with extra padding Other special purpose representations are possible: Bitsets, one set per color List of stones Cover board with small patterns, e.g. 3 3 squares Will use this as simple features later Optional - to learn more: see e.g. Board+Representation for detailed discussions for chess Next: Playing and Undoing moves
20 Playing and Undoing Moves play(p, color) Put stone of given color on point p Simplest case: just need board[p] = color Major complication: recognize captures and remove captured stones Closely related: check if move on p is legal, before playing it...
21 Capturing Stones How to find which opponent stones are captured? Black move A captures one stone Black move B does not capture anything... To decide whether B is a capture, we must look at the neighbors of the whole block We must find the liberty at C to decide it s no capture Update board: for stone in capturedby(p, color) board[stone] = EMPTY
22 Capturing Stones Algorithm How to find which opponent stones are captured? Look at all neighbors nb of p which are stones of opponent Check if nb is part of a block that loses its last liberty Algorithm is similar to floodfill in graphics Look at all stones connected to nb If any stone has a liberty (other than p), stop: no capture If no stone in the block has another liberty, then all are captured
23 Checking If Move is Legal islegal(p, color): 1 board[p] == EMPTY 2 not issuicide(p, color) 3 not repetition(p, color)
24 Checking Suicide Very similar to checking capture for the other color Main difference: the move can connect several blocks, and none of them may have another liberty See examples: Black A is suicide, Black B is not because liberty at C
25 Checking Repetition For now, only check for simple ko After capture of a single stone s: set kopoint = s After any other move: set kopoint = NULL When checking islegal(p, color): if p == kopoint and p would capture a single stone : p is illegal
26 Software Demo GoGui Attaching different Go programs Tools that come with GoGui GTP text commands
27 Summary and Outlook Discussed most of the basics of implementing Go Still to come: scoring at the end, taking back moves during search Discussed useful tools and GTP text interface
1010 Moves A move in Go is the action of a player to place his stone on a vacant intersection of the board.
Chapter 2 Basic Concepts 1000 Basic Concepts As for the rules, what was explained in the last chapter was concise enough. You will be able to start playing a game and learn more as you experience many
More informationComputing Science (CMPUT) 496
Computing Science (CMPUT) 496 Search, Knowledge, and Simulations Martin Müller Department of Computing Science University of Alberta mmueller@ualberta.ca Winter 2017 Part IV Knowledge 496 Today - Mar 9
More informationCPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm
CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm Weight: 8% Individual Work: All assignments in this course are to be completed individually. Students are advised to read the guidelines
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 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 informationAssignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm
Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, 2017 11:59pm This will be our last assignment in the class, boohoo Grading: For this assignment, you will be graded traditionally,
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 informationENGR170 Assignment Problem Solving with Recursion Dr Michael M. Marefat
ENGR170 Assignment Problem Solving with Recursion Dr Michael M. Marefat Overview The goal of this assignment is to find solutions for the 8-queen puzzle/problem. The goal is to place on a 8x8 chess board
More informationCMPUT 657: Heuristic Search
CMPUT 657: Heuristic Search Assignment 1: Two-player Search Summary You are to write a program to play the game of Lose Checkers. There are two goals for this assignment. First, you want to build the smallest
More information2. Review of Pawns p
Critical Thinking, version 2.2 page 2-1 2. Review of Pawns p Objectives: 1. State and apply rules of movement for pawns 2. Solve problems using pawns The main objective of this lesson is to reinforce the
More informationColor-matching Non-matching Symmetries Patterns Game
Ages 6 to adult For 1 or 2 players 9 unique four-color squares MiniMatch-ITM Color-matching Non-matching Symmetries Patterns Game A product of Kadon Enterprises, Inc. MiniMatch-I is a trademark of Kadon
More informationCSE548, 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 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 informationAssignment 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 informationCS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger
CSB, Fall 0 Project #: Jumping Cubes(version ) P. N. Hilfinger Due: Tuesday, 8 November 0 Background The KJumpingCube game is a simple two-person board game. It is a pure strategy game, involving no element
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 informationa 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 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 informationIn the game of Chess a queen can move any number of spaces in any linear direction: horizontally, vertically, or along a diagonal.
CMPS 12A Introduction to Programming Winter 2013 Programming Assignment 5 In this assignment you will write a java program finds all solutions to the n-queens problem, for 1 n 13. Begin by reading the
More informationAssignment 2, University of Toronto, CSC384 - Intro to AI, Winter
Assignment 2, University of Toronto, CSC384 - Intro to AI, Winter 2014 1 Computer Science 384 March 5, 2014 St. George Campus University of Toronto Homework Assignment #2 Game Tree Search Due: Mon March
More informationBRITISH GO ASSOCIATION. Tournament rules of play 31/03/2009
BRITISH GO ASSOCIATION Tournament rules of play 31/03/2009 REFERENCES AUDIENCE AND PURPOSE 2 1. THE BOARD, STONES AND GAME START 2 2. PLAY 2 3. KOMI 2 4. HANDICAP 2 5. CAPTURE 2 6. REPEATED BOARD POSITION
More informationAnalyzing Games: Solutions
Writing Proofs Misha Lavrov Analyzing Games: olutions Western PA ARML Practice March 13, 2016 Here are some key ideas that show up in these problems. You may gain some understanding of them by reading
More informationMore Adversarial Search
More Adversarial Search CS151 David Kauchak Fall 2010 http://xkcd.com/761/ Some material borrowed from : Sara Owsley Sood and others Admin Written 2 posted Machine requirements for mancala Most of the
More informationExamples for Ikeda Territory I Scoring - Part 3
Examples for Ikeda Territory I - Part 3 by Robert Jasiek One-sided Plays A general formal definition of "one-sided play" is not available yet. In the discussed examples, the following types occur: 1) one-sided
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 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 informationUNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger. Project #3: Checkers
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS61B Fall 2004 P. N. Hilfinger Project #3: Checkers Due: 8 December 2004 1 Introduction Checkers
More informationAnalyzing the Impact of Knowledge and Search in Monte Carlo Tree Search in Go
Analyzing the Impact of Knowledge and Search in Monte Carlo Tree Search in Go Farhad Haqiqat and Martin Müller University of Alberta Edmonton, Canada Contents Motivation and research goals Feature Knowledge
More informationCMPS 12A Introduction to Programming Programming Assignment 5 In this assignment you will write a Java program that finds all solutions to the n-queens problem, for. Begin by reading the Wikipedia article
More informationCSC 110 Lab 4 Algorithms using Functions. Names:
CSC 110 Lab 4 Algorithms using Functions Names: Tic- Tac- Toe Game Write a program that will allow two players to play Tic- Tac- Toe. You will be given some code as a starting point. Fill in the parts
More informationCPSC 217 Assignment 3
CPSC 217 Assignment 3 Due: Friday November 24, 2017 at 11:55pm Weight: 7% Sample Solution Length: Less than 100 lines, including blank lines and some comments (not including the provided code) Individual
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 informationGo Combinatorics: The Recent Work of Dr. John Tromp and His Colleagues on the Number of Possible Go Positions, Games and their Length
Go Combinatorics: The Recent Work of Dr. John Tromp and His Colleagues on the Number of Possible Go Positions, Games and their Length By Peter Shotwell July 2010 This is a lightly edited version of one
More informationSecond Annual University of Oregon Programming Contest, 1998
A Magic Magic Squares A magic square of order n is an arrangement of the n natural numbers 1,...,n in a square array such that the sums of the entries in each row, column, and each of the two diagonals
More informationHere is a step-by-step guide to playing a basic SCRABBLE game including rules, recommendations and examples of frequently asked questions.
Here is a step-by-step guide to playing a basic SCRABBLE game including rules, recommendations and examples of frequently asked questions. Game Play 1. After tiles are counted, each team draws ONE LETTER
More informationUniversity of Amsterdam. Encyclopedia of AI project. Tic-Tac-Toe. Authors: Andreas van Cranenburgh Ricus Smid. Supervisor: Maarten van Someren
University of Amsterdam Encyclopedia of AI project Tic-Tac-Toe Authors: Andreas van Cranenburgh Ricus Smid Supervisor: Maarten van Someren January 27, 2007 Encyclopedia of AI, assignment 5 Tic-tac-toe
More informationChess Puzzle Mate in N-Moves Solver with Branch and Bound Algorithm
Chess Puzzle Mate in N-Moves Solver with Branch and Bound Algorithm Ryan Ignatius Hadiwijaya / 13511070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
More informationJarl 3 Freeman 3 Spearman Chieftain Vala Berserker
In the long winters between the glorious summers of raids and exploration, warriors scheme and keep their intellects sharp through games of wits and chance. Ragnar, Rollo, Floki and even the Earl challenge
More informationEight Queens Puzzle Solution Using MATLAB EE2013 Project
Eight Queens Puzzle Solution Using MATLAB EE2013 Project Matric No: U066584J January 20, 2010 1 Introduction Figure 1: One of the Solution for Eight Queens Puzzle The eight queens puzzle is the problem
More information2 Textual Input Language. 1.1 Notation. Project #2 2
CS61B, Fall 2015 Project #2: Lines of Action P. N. Hilfinger Due: Tuesday, 17 November 2015 at 2400 1 Background and Rules Lines of Action is a board game invented by Claude Soucie. It is played on a checkerboard
More informationGame Playing in Prolog
1 Introduction CIS335: Logic Programming, Assignment 5 (Assessed) Game Playing in Prolog Geraint A. Wiggins November 11, 2004 This assignment is the last formally assessed course work exercise for students
More informationProgramming Problems 14 th Annual Computer Science Programming Contest
Programming Problems 14 th Annual Computer Science Programming Contest Department of Mathematics and Computer Science Western Carolina University April 8, 2003 Criteria for Determining Team Scores Each
More informationOptimal 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 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 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 informationLab Exercise #10. Assignment Overview
Lab Exercise #10 Assignment Overview You will work with a partner on this exercise during your lab session. Two people should work at one computer. Occasionally switch the person who is typing. Talk to
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 informationUNIT 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 informationDue: Sunday 13 November by 10:59pm Worth: 8%
CSC 8 HF Project # General Instructions Fall Due: Sunday Novemer y :9pm Worth: 8% Sumitting your project You must hand in your work electronically, using the MarkUs system. Log in to https://markus.teach.cs.toronto.edu/csc8--9/en/main
More information3. Bishops b. The main objective of this lesson is to teach the rules of movement for the bishops.
page 3-1 3. Bishops b Objectives: 1. State and apply rules of movement for bishops 2. Use movement rules to count moves and captures 3. Solve problems using bishops The main objective of this lesson is
More informationYourTurnMyTurn.com: chess rules. Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com
YourTurnMyTurn.com: chess rules Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com Inhoud Chess rules...1 The object of chess...1 The board...1 Moves...1 Captures...1 Movement of the different pieces...2
More informationUNIT 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 informationTraining a Back-Propagation Network with Temporal Difference Learning and a database for the board game Pente
Training a Back-Propagation Network with Temporal Difference Learning and a database for the board game Pente Valentijn Muijrers 3275183 Valentijn.Muijrers@phil.uu.nl Supervisor: Gerard Vreeswijk 7,5 ECTS
More informationYourTurnMyTurn.com: Go-moku rules. Sjoerd Hemminga (sjoerdje) Copyright 2019 YourTurnMyTurn.com
YourTurnMyTurn.com: Go-moku rules Sjoerd Hemminga (sjoerdje) Copyright 2019 YourTurnMyTurn.com Inhoud Go-moku rules...1 Introduction and object of the board game...1 Tactics...1 Strategy...2 i Go-moku
More informationMAS336 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 informationTaffy Tangle. cpsc 231 assignment #5. Due Dates
cpsc 231 assignment #5 Taffy Tangle If you ve ever played casual games on your mobile device, or even on the internet through your browser, chances are that you ve spent some time with a match three game.
More informationMovement of the pieces
Movement of the pieces Rook The rook moves in a straight line, horizontally or vertically. The rook may not jump over other pieces, that is: all squares between the square where the rook starts its move
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 informationTac 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 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 informationMODULE: DESIGNING AND DEVELOPING OBJECT-ORIENTED COMPUTER PROGRAMS ASSIGNMENT TITLE: WORDSEARCH MARCH 2014
MDU: DSGG D DVPG BJCT-TD CMPUT PGMS SSGMT TT: WDSC MC 2014 mportant otes: Please refer to the ssignment Presentation equirements for advice on how to set out your assignment. These can be found on the
More informationBy David Anderson SZTAKI (Budapest, Hungary) WPI D2009
By David Anderson SZTAKI (Budapest, Hungary) WPI D2009 1997, Deep Blue won against Kasparov Average workstation can defeat best Chess players Computer Chess no longer interesting Go is much harder for
More informationOthello/Reversi using Game Theory techniques Parth Parekh Urjit Singh Bhatia Kushal Sukthankar
Othello/Reversi using Game Theory techniques Parth Parekh Urjit Singh Bhatia Kushal Sukthankar Othello Rules Two Players (Black and White) 8x8 board Black plays first Every move should Flip over at least
More 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 informationDivorced, Beheaded, Died, Divorced, Beheaded, Survived.
Divorced, Beheaded, Died, Divorced, Beheaded, Survived. A History Repeats Itself game for the piecepack Copyright 2003 By: Eric Witt V3.0 04/14/03 2-4 players, 30 minutes for standard game, longer for
More information! Denver, CO! Demystifying Computing with Magic, continued
2012-03-07! Denver, CO! Demystifying Computing with Magic, continued Special Session Overview Motivation The 7 magic tricks ú Real-Time 4x4 Magic Square ú Left/Right Game ú The Tricky Dice ú The Numbers
More information1, 2,, 10. Example game. Pieces and Board: This game is played on a 1 by 10 board. The initial position is an empty board.
,,, 0 Pieces and Board: This game is played on a by 0 board. The initial position is an empty board. To Move: Players alternate placing either one or two pieces on the leftmost open squares. In this game,
More informationThe 2013 British Informatics Olympiad
Sponsored by Time allowed: 3 hours The 2013 British Informatics Olympiad Instructions You should write a program for part (a) of each question, and produce written answers to the remaining parts. Programs
More informationAI 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 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 informationAfter learning the Rules, What should beginners learn next?
After learning the Rules, What should beginners learn next? Chess Puzzling Presentation Nancy Randolph Capital Conference June 21, 2016 Name Introduction to Chess Test 1. How many squares does a chess
More informationA1 Problem Statement Unit Pricing
A1 Problem Statement Unit Pricing Given up to 10 items (weight in ounces and cost in dollars) determine which one by order (e.g. third) is the cheapest item in terms of cost per ounce. Also output the
More informationgame tree complete all possible moves
Game Trees Game Tree A game tree is a tree the nodes of which are positions in a game and edges are moves. The complete game tree for a game is the game tree starting at the initial position and containing
More informationMind 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 informationCHESS SOLUTION PREP GUIDE.
CHESS SOLUTION PREP GUIDE. Article 1 1minute 46 seconds 5minutes. 1. Can a player capture the opponents king?---------------------------------------------------[1] 2. When does a player have the move?
More informationTic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23
Lars-Henrik Eriksson Functional Programming 1 Original presentation by Tjark Weber Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Take-Home Exam Take-Home Exam Lars-Henrik Eriksson (UU) Tic-tac-toe 2 / 23
More informationLecture 33: How can computation Win games against you? Chess: Mechanical Turk
4/2/0 CS 202 Introduction to Computation " UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department Lecture 33: How can computation Win games against you? Professor Andrea Arpaci-Dusseau Spring 200
More informationGENERALIZATION: RANK ORDER FILTERS
GENERALIZATION: RANK ORDER FILTERS Definition For simplicity and implementation efficiency, we consider only brick (rectangular: wf x hf) filters. A brick rank order filter evaluates, for every pixel in
More informationC SC 483 Chess and AI: Computation and Cognition. Lecture 3 September 10th
C SC 483 Chess and AI: Computation and Cognition Lecture 3 September th Programming Project A series of tasks There are lots of resources and open source code available for chess Please don t simply copy
More informationOver ===* Three games of strategy and chance Unique solitaire puzzles. For I to 4 players Ages 12 to adult. PassTM
Over ===* For I to 4 players Ages 12 to adult PassTM Three games of strategy and chance Unique solitaire puzzles A product of Kadon Enterprises, Inc. Over-Pass is a trademark of Arthur Blumberg, used by
More informationSenior Math Circles February 10, 2010 Game Theory II
1 University of Waterloo Faculty of Mathematics Centre for Education in Mathematics and Computing Senior Math Circles February 10, 2010 Game Theory II Take-Away Games Last Wednesday, you looked at take-away
More informationImage processing. Image formation. Brightness images. Pre-digitization image. Subhransu Maji. CMPSCI 670: Computer Vision. September 22, 2016
Image formation Image processing Subhransu Maji : Computer Vision September 22, 2016 Slides credit: Erik Learned-Miller and others 2 Pre-digitization image What is an image before you digitize it? Continuous
More informationWords Mobile Ready Game Documentation
Words Mobile Ready Game Documentation Joongly games 2016 Words Mobile Ready Game Contents Overview... 3 Quick Start... 3 Game rules... 4 Basics... 4 Board... 4 Tiles... 4 Extra Point Values... 4 Game start...
More informationProblem F. Chessboard Coloring
Problem F Chessboard Coloring You have a chessboard with N rows and N columns. You want to color each of the cells with exactly N colors (colors are numbered from 0 to N 1). A coloring is valid if and
More informationIntroduction to DSP ECE-S352 Fall Quarter 2000 Matlab Project 1
Objective: Introduction to DSP ECE-S352 Fall Quarter 2000 Matlab Project 1 This Matlab Project is an extension of the basic correlation theory presented in the course. It shows a practical application
More informationProject Connect Four (Version 1.1)
OPI F2008: Object-Oriented Programming Carsten Schürmann Date: April 2, 2008 Project Connect Four (Version 1.1) Guidelines While we acknowledge that beauty is in the eye of the beholder, you should nonetheless
More informationComprehensive Rules Document v1.1
Comprehensive Rules Document v1.1 Contents 1. Game Concepts 100. General 101. The Golden Rule 102. Players 103. Starting the Game 104. Ending The Game 105. Kairu 106. Cards 107. Characters 108. Abilities
More informationChess Handbook: Course One
Chess Handbook: Course One 2012 Vision Academy All Rights Reserved No Reproduction Without Permission WELCOME! Welcome to The Vision Academy! We are pleased to help you learn Chess, one of the world s
More informationCSE 332: Data Structures and Parallelism Games, Minimax, and Alpha-Beta Pruning. Playing Games. X s Turn. O s Turn. X s Turn.
CSE 332: ata Structures and Parallelism Games, Minimax, and Alpha-Beta Pruning This handout describes the most essential algorithms for game-playing computers. NOTE: These are only partial algorithms:
More informationMage Tower Rulebook Ver 0.1
Mage Tower Rulebook Ver 0.1 This is a very early version of the rulebook, and is one of the last things being worked on while the Kickstarter is happening. All the text to play the game is here, but the
More informationJohn Griffin Chess Club Rules and Etiquette
John Griffin Chess Club Rules and Etiquette 1. Chess sets must be kept together on the assigned table at all times, with pieces returned to starting position immediately following each game. 2. No communication
More informationLesson 1: The Rules of Pentago
Lesson 1: The Rules of Pentago 1.1 Learning the Rules The Board The Pentago game board is a 6x6 grid of places, each containing a detent or divot (a small round depression in the surface) that can hold
More information5.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 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 informationGame-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA
Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA 5.1-5.2 Games: Outline of Unit Part I: Games as Search Motivation Game-playing AI successes Game Trees Evaluation
More informationCSE 573 Problem Set 1. Answers on 10/17/08
CSE 573 Problem Set. Answers on 0/7/08 Please work on this problem set individually. (Subsequent problem sets may allow group discussion. If any problem doesn t contain enough information for you to answer
More informationComparing 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 informationA Complex Systems Introduction to Go
A Complex Systems Introduction to Go Eric Jankowski CSAAW 10-22-2007 Background image by Juha Nieminen Wei Chi, Go, Baduk... Oldest board game in the world (maybe) Developed by Chinese monks Spread to
More informationRetrograde Analysis of Woodpush
Retrograde Analysis of Woodpush Tristan Cazenave 1 and Richard J. Nowakowski 2 1 LAMSADE Université Paris-Dauphine Paris France cazenave@lamsade.dauphine.fr 2 Dept. of Mathematics and Statistics Dalhousie
More informationThe Basic Rules of Chess
Introduction The Basic Rules of Chess One of the questions parents of young children frequently ask Chess coaches is: How old does my child have to be to learn chess? I have personally taught over 500
More information