Ce rêve est devenu réalité.

Similar documents
Ce rêve est devenu réalité.

Jamie Mulholland, Simon Fraser University

Graphs of Tilings. Patrick Callahan, University of California Office of the President, Oakland, CA

Notes ~ 1. Frank Tapson 2004 [trolxp:2]

Notes ~ 1. CIMT; University of Exeter 2001 [trolxp:2]

TILING RECTANGLES AND HALF STRIPS WITH CONGRUENT POLYOMINOES. Michael Reid. Brown University. February 23, 1996

AI Approaches to Ultimate Tic-Tac-Toe

Jeu Find your best friend! Niveau Lieu Classroom Vocabulaire Classe! Grammaire Durée >15min Compétence Expression orale Matériel Doc

Programming an Othello AI Michael An (man4), Evan Liang (liange)

CS 771 Artificial Intelligence. Adversarial Search

Artificial Intelligence Search III

Tribute to Martin Gardner: Combinatorial Card Problems

Adversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I

ARTIFICIAL INTELLIGENCE (CS 370D)

Game-Playing & Adversarial Search

Analyzing Games: Solutions

Odd king tours on even chessboards

Sun Bin s Legacy. Dana Mackenzie

Solving All 164,604,041,664 Symmetric Positions of the Rubik s Cube in the Quarter Turn Metric

New Values for Top Entails

A Move Generating Algorithm for Hex Solvers

Spiral Galaxies Font

Polyominoes. n

2 person perfect information

TVB-2 INSTRUCTION SHEET. Test Verification Box

Adversarial Search. CMPSCI 383 September 29, 2011

The mathematics of Septoku

Chameleon Coins arxiv: v1 [math.ho] 23 Dec 2015

1. Introduction. 12 black and white hexominoes (made with 6 adjacent squares):

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search

The Tilings of Deficient Squares by Ribbon L-Tetrominoes Are Diagonally Cracked

Monte Carlo based battleship agent

V. Adamchik Data Structures. Game Trees. Lecture 1. Apr. 05, Plan: 1. Introduction. 2. Game of NIM. 3. Minimax

Backtracking. Chapter Introduction

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

An Optimal Algorithm for a Strategy Game

Documentation and Discussion

Narrow misère Dots-and-Boxes

Artificial Intelligence. Minimax and alpha-beta pruning

Sujets MATHLAN Lycée d'altitude & Colégiul National Emil Racovita. Page 1/10

Grade 6 Math Circles Combinatorial Games - Solutions November 3/4, 2015

mywbut.com Two agent games : alpha beta pruning

Optimal Rhode Island Hold em Poker

LEARNING ABOUT MATH FOR K TO 5. Dorset Public School. April 6, :30 pm 8:00 pm. presented by Kathy Kubota-Zarivnij

Today. Types of Game. Games and Search 1/18/2010. COMP210: Artificial Intelligence. Lecture 10. Game playing

CPS331 Lecture: Search in Games last revised 2/16/10

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

Generalized Game Trees

Adversarial search (game playing)

CMPUT 657: Heuristic Search

2048: An Autonomous Solver

Local Search. Hill Climbing. Hill Climbing Diagram. Simulated Annealing. Simulated Annealing. Introduction to Artificial Intelligence

Flux gratuit On the silent heights of memory pas d'inscription soustitres anglais putlockers mkv

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( )

COMP219: Artificial Intelligence. Lecture 13: Game Playing

4.2.4 What if both events happen?

AI Plays Yun Nie (yunn), Wenqi Hou (wenqihou), Yicheng An (yicheng)

TC6 : Gamification and free to play Mickaël Martin Nevot

Grade 7/8 Math Circles Game Theory October 27/28, 2015

For slightly more detailed instructions on how to play, visit:

Week 1. 1 What Is Combinatorics?

CS 188: Artificial Intelligence Spring Game Playing in Practice

Game Design Verification using Reinforcement Learning

Mathématiques + jeu = combinaison gagnante Math + Game = Fun

Restoring Fairness to Dukego

Reflections on the N + k Queens Problem

Adversarial Search (Game Playing)

Adversary Search. Ref: Chapter 5

18.204: CHIP FIRING GAMES

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi

Kenken For Teachers. Tom Davis January 8, Abstract

Experiments on Alternatives to Minimax

Gradual Abstract Proof Search

CS221 Project Final Report Gomoku Game Agent

SIZE OF THE AFRICAN CONTINENT COMPARED TO OTHER LAND MASSES

Adversarial Search. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 9 Feb 2012

CSC 396 : Introduction to Artificial Intelligence

Have Elisha and Emily ever delivered food? No, they haven t. They have never delivered food. But Emily has already delivered newspapers.

Senior Math Circles February 10, 2010 Game Theory II

Announcements. CS 188: Artificial Intelligence Fall Local Search. Hill Climbing. Simulated Annealing. Hill Climbing Diagram

Game Tree Search. CSC384: Introduction to Artificial Intelligence. Generalizing Search Problem. General Games. What makes something a game?

TILLING A DEFICIENT RECTANGLE WITH T-TETROMINOES. 1. Introduction

Puzzles to Play With

game tree complete all possible moves

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am

Tilings with T and Skew Tetrominoes

Mistilings with Dominoes

Analyzing ELLIE - the Story of a Combinatorial Game

Grade 6 Math Circles Combinatorial Games November 3/4, 2015

Adversarial Search Aka Games

Goal threats, temperature and Monte-Carlo Go

Sylvain Guillaumet Composer, Interpreter, Teacher

Five-In-Row with Local Evaluation and Beam Search

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask

Python for education: the exact cover problem

CS 188: Artificial Intelligence Spring 2007

Othello/Reversi using Game Theory techniques Parth Parekh Urjit Singh Bhatia Kushal Sukthankar

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

Second Annual University of Oregon Programming Contest, 1998

Table of Contents. Table of Contents 1

Transcription:

Vous venez de trouver une règle mise en ligne par un collectionneur qui, depuis 1998, partage sa collection de jeux de société et sa passion sur Internet. Imaginez que vous puissiez accéder, jour et nuit, à cette collection, que vous puissiez ouvrir et utiliser tous ces jeux. Ce rêve est devenu réalité. Chantal et François vous accueillent à Sologny (Saône-et-Loire), au cœur du Val Lamartinien, entre Mâcon et Cluny, à 1h de Lyon ou Châlon-sur-Saône, 1h30 de Roanne ou Dijon, 2h de Genève, Grenoble ou Annecy et 4h de Paris (2h en TGV). L'Escale à jeux est un gîte ludique, réunissant un meublé de tourisme pour 6 à 15 personnes et une ludothèque de plus de 7 000 jeux de société. Au total, 260 m² pour jouer, ripailler et dormir. http://escaleajeux.fr 09 72 30 41 42 francois.haffner@gmail.com

Règle du jeu Pentamino Pentomino Au départ, le tablier de 64 cases est vide. Les 12 pièces (pentaminos) sont placées à la disposition des deux joueurs. À tour de rôle, chaque joueur prend une pièce et la pose sur des cases libres, sans nécessairement toucher une pièce déjà posée. Le premier joueur qui ne peut pas jouer a perdu.

Games of No Chance MSRI Publications Volume 29, 1996 Pentominoes: A First Player Win HILARIE K. ORMAN Abstract. This article reports on a search-based computer proof that the game of pentominoes is a first-player win. Three search strategies were used in this proof, with dramatically different effects on the running time of the search. The two most effective strategies are compared and discussed. The Short History of Pentominoes Pentominoes is a two-player game involving twelve pieces the regular 5- ominoes shown in Figure 1 and an 8 8 board. Players alternate placing pieces on the board, covering whole squares and without overlap. The player who cannot make a move loses. The game was first proposed by Solomon W. Golomb in the mid-fifties. Martin Gardner [1959] popularized it, also citing Golomb s work [1954] about polyominoes and checkerboards. See also [Golomb 1962; 1965]. In 1971, it was suggested that the game could be solved by computer search [Beeler et al. 1972], but no attempts to implement such a solution are known to me. In 1975 I wrote a computer program that played pentominoes, and used a PDP-11/45 computer to investigate the feasibility of a complete solution. Although the program was an excellent player against human opponents, at that time a complete solution was unattainable. Today, high-speed workstations have changed the picture. A new search program exhaustively examined the game subtrees arising from certain two first moves. One of the moves was proved to be a win, and this assertion was verified by an independent program. The winning move was determined in about two weeks of execution time on a 64-bit 175 MHz DEC Alpha processor. The verification was done on a Sun IPC Sparcstation in about five days. Figure 1. The twelve regular pentominoes. 339

340 HILARIE K. ORMAN Figure 2. Left: One of the first-player moves that allows the minimum number of responses. Right: That move turns out to be losing, if the second player counters as shown. The Search Begins The computer program used to search the game tree is written in C and uses a simple backtracking search method. The moves and board state are represented as bit vectors. At the beginning of the game all possible moves are in the legal move list. At each ply, the legal move list is reduced, eliminating moves that are no longer possible. If all moves at depth n are losses, the value Win is returned to depth n 1. If some move at depth n evaluates to Win, the value Loss is returned to depth n 1. A Losing Move. At the start of the game, there are 2308 possible moves, or 296 when symmetries are discounted. After the first move there are between 1181 and about 2000 replies. The search was originally conducted for one of the optimally restrictive moves, using the long L piece (Figure 2, left). There are 1181 replies to this move. All replies to this first move were analyzed, the work being divided among several computers: an Intel Paragon, six Hewlett-Packard 720 s, and four DEC RS3000 model 600 (Alpha) machines. The program ran for about two months. Of the 1181 replies, exactly two of them refute the opening move. In addition to the reply shown in Figure 2 (right), the straight piece can be moved down one square. It is interesting to note the importance of the straight piece in this. A possibly related fact is that all solutions for packing all twelve pentominoes onto the board involve placing the this piece along an edge. While this program was running, a few inefficiencies in its implementation were discovered. The program always sorted the move list by the number of replies available; in effect, one move lookahead was used. This is useful if there are a large number of moves available, but it is wasteful if there are few. Also,

PENTOMINOES: A FIRST PLAYER WIN 341 Figure 3. A winning move. the program did not take advantage of the 64-bit wordsize of the DEC Alpha machines. With the 64-bit words, testing a possible move takes only one instruction. The program was rewritten to correct both deficiencies before proceeding. The sorting was restricted to the first few plies. A Winning Move. Using the new program, the search was restarted with the opening move shown in Figure 3, one of the second most restrictive (1197 replies). Using two DEC Alphas, almost all replies were examined in two weeks of running time. The remaining replies were examined using other machines. This provided strong evidence that the move illustrated is a win for the first player. To validate the move, Richard Schroeppel wrote an independent program to check the claimed win. The original program recorded the winning third-ply move that it found for each second-ply move, and the checking program took as input three plies and then solved the game with the usual backtracking search. The checking program ran on a Sun IPC Sparcstation for about five days. Statistics on Strategies The solving program and the checking program kept statistics about the amount of effort expended for each validation, which revealed interesting facts about the game tree. The most important contributor to the speed of the program is the ability to choose a winning move for the first player quickly at each first-player ply. Based on examining two opening moves, we might conjecture that about half of the possible opening moves are wins for the first player. But the fact that the first move is only very narrowly defeated by the second player indicates that it is unreasonable to expect the game tree to be well balanced. The statistics recorded were the number of third-ply moves that were examined before finding a winning move for the first player, and the total number of board positions examined at the third and fourth plies.

342 HILARIE K. ORMAN lower limit of bucket 1 2 2 2 2 3 2 4 2 5 2 6 2 7 2 8 frequency 121 235 252 181 198 134 80 17 1 Table 1. Distribution of third-ply moves examined by the solving program. Overall, the solving program examined 22 billion board positions. Empirical evidence indicates that a typical game involves ten moves; it is known that the smallest possible number of moves is five, and the largest is twelve [Gardner 1959]. On the average, for each second-ply move, the program examined eighteen third-ply moves for the first player before finding a winning move. A good strategy for selecting the third-ply move is the key to minimizing the running time of the program. Table 1 shows the distribution of third-ply moves examined by the solving program. Each column represents a bucket (range of trials); the bottom row gives the number of times that a winning move was found using a number of trials in the range. Although the program often found a win within seven tries (the first three buckets), it sometimes had to examine nearly half the available moves. The sum of the entries in the bottom row is slightly greater than the number of replies (1197) because there was some overlap in the ranges examined by the computers running the solving program. Table 2 shows the distribution of number of board positions examined after each third-ply move. Each column represents a range of board positions, and the two bottom rows give the number of instances of counts in this range for the solving and checking programs. For example, the checking program needed to examine fewer than 1,048,576 positions in four cases; the solving program never examined this few. (Again, the counts reflect some overlap in the positions examined.) It is interesting to note that the checking program did less work than the solving program as measured by the number of board positions examined. This means that it is more effective at finding a winning move for the first player. This was surprising, because the checking program does not have the moves sorted by number of replies; it tries the first piece at all possible board locations, then the next piece, etc., in a fixed pattern (pruned at each ply by eliminating illegal moves). This latter algorithm avoids some of the very long searches done by the first method. A third simple search strategy is to try each piece at board position (0, 0), then each piece at position (0, 1), etc. This turns out to be at lower limit of bucket 2 19 2 20 2 21 2 22 2 23 2 24 2 25 2 26 2 27 solver frequency 5 41 256 481 282 127 24 3 checker frequency 4 9 58 289 527 279 49 3 Table 2. Distribution of total evaluations for the solving and checking programs, which used different strategies.

PENTOMINOES: A FIRST PLAYER WIN 343 Figure 4. Another winning move, suggested by Golomb. least ten times slower than the first two methods, and it is definitely not suitable for solving the game. There are two plausible explanations for the checking program s search strategy being faster than that of the solving program. One reason might be that, in general, occupying a critical region of the board is more important than which piece is used for the occupation. The checking program does this by attempting to place pieces quickly without regard for which piece it is placing. A second explanation is based on noting that the program tries the thin pieces (having a linear block of four squares) first. The key to the game might be the placement of these pieces; the importance of the straight piece in refuting the most restrictive opening move is corroborating evidence. Another Winning Move Golomb (personal communication) suggested another winning move, one that comes closest to dividing the board symmetrically (Figure 4). This move indeed survives examination by the checking program. Schroeppel s validating program has not been used, because experience in double-checking the two moves described above has given us confidence in the first program. The strategy of dividing the board symmetrically may be a sound one, and it would be interesting to see if it applies through the game tree. Other Problems It should be possible to determine all opening moves that are first-player wins, thus determining how much of an advantage the first player has. This task becomes much more difficult as less restrictive opening moves are examined. However, the checking program s strategy for move selection might offset this effect enough to make the overall running time reasonable.

344 HILARIE K. ORMAN A computationally challenging problem is to solve the similar game involving 35 hexominoes and a 15 15 board. References [Beeler et al. 1972] M. Beeler, R. Gosper, and R. Schroeppel, HAKMEM, Technical Report Memo 239, MIT Artificial Intelligence Laboratory, 1972. [Gardner 1959] M. Gardner, Mathematical Puzzles and Diversions, Simon and Schuster (sixth edition), 1959. [Golomb 1954] S. W. Golomb, Checker boards and polyominoes, Amer. Math. Monthly 61 (Dec. 1954), 672 682. [Golomb 1962] S. W. Golomb, General theory of polyominoes, Recreational Math. Mag. 4 (Aug. 1961), 3 12; 5 (Oct. 1961), 3 12 (see also Notes 12 14); 6 (Dec. 1961), 3 20; 8 (Apr. 1962), 7 16. [Golomb 1965] S. W. Golomb, Polyominoes, Scribner, New York, 1965; second edition by Princeton Univ. Press, Princeton, 1994. Hilarie K. Orman 1942 W. Camino Bajio Tucson AZ, 85737 ho@cs.arizona.edu