Minesweeper is a game of logic. It originated from “Relentless Logic,” which was written by Conway, Hong, and Smith around 1985. In Relentless Logic, the.

Slides:



Advertisements
Similar presentations
DCS Lecture how to solve it Patrick Prosser. Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
Advertisements

How To Chord by Fritz Löhr
What is a CAT?. Introduction COMPUTER ADAPTIVE TEST + performance task.
Constraint Systems Laboratory February 18, 2009 CSP Modeling Examples CSP: Examples Industrial applications: scheduling, resource allocation, product configuration,
COMPUTER PROGRAMMING I Understand Problem Solving Tools to Design Programming Solutions.
AE1APS Algorithmic Problem Solving John Drake.  Invariants – Chapter 2  River Crossing – Chapter 3  Logic Puzzles – Chapter 5  Matchstick Games -
Place captured red pieces below Place captured blue pieces below Rules New Game Exit Left mouse click on piece – drag to desired location - left mouse.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Table of Contents Why Play Chess? Setting Up the Board Get to Know the Pieces Check and Checkmate What the Chess Pieces Are Worth Opening Goals Endgame.
Best-First Search: Agendas
Progressively Finite Games
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
Introduction This document describes the design of a single player interactive triangular peg board game with a variable number of pegs.
Representing a Game Board In a game, we represent the action taking place using an array – In a very simple game, we use individual variables to represent.
Domineering Solving Large Combinatorial Search Spaces.
November 10, 2009Introduction to Cognitive Science Lecture 17: Game-Playing Algorithms 1 Decision Trees Many classes of problems can be formalized as search.
 i may require adding new constraints, except for… o i =1  domain filtering o i =   constraint filtering Robert Woodward & Berthe Y. Choueiry Constraint.
1 Recursion  Recursion is a fundamental programming technique that can provide an elegant solution certain kinds of problems  Chapter 11 of the book.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Minesweeper By Allan Cooke Jon Hilliard. Description We set out to recreate the ever so popular Minesweeper game that Windows users love so much.
Chapter 10 Recursion. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Chapter Objectives Explain the underlying concepts of recursion.
Game Mathematics & Game State The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object Overlap.
1 Game Playing Chapter 6 (supplement) Various deterministic board games Additional references for the slides: Luger’s AI book (2005). Robert Wilensky’s.
Constraint Systems Laboratory March 26, 2007Reeson–Undergraduate Thesis1 Using Constraint Processing to Model, Solve, and Support Interactive Solving of.
A game of logic where the player must assign the numbers 1..9 to cells on a 9x9 grid. The placement of the numbers must be such that every number must.
Ken Bayer, Josh Snyder, and Berthe Y. Choueiry Constraint Systems Laboratory University of Nebraska-Lincoln A Constraint-Based Approach to Solving Minesweeper.
THE RENJU GAME BY ABHISHEK JAIN, PRANSHU GUPTA & RHYTHM DAS PCLUB SUMMER PROJECT PRESENTATION JUNE, L7 IIT KANPUR MENTOR – SANIL JAIN.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Fundamentals of Python: From First Programs Through Data Structures
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
Civ89 Instructions for PowerPoint. Getting Started Civ89 is a game of military, technological, and economic conquest played with two people, identified.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Jeff LandgrafSTAR Trigger Workshop: Oct 21, 2002 Trigger Accounting for 2002.
Set Theory Topic 1: Logical Reasoning. I can determine and explain a strategy to solve a puzzle. I can verify a strategy to win a game. I can analyze.
Chapter 4 Recursion. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter Objectives Explain the underlying concepts of recursion.
The ‘game’ is played by 12 players and 2 Accountants. The accountants and the first player can volunteer. Other players Are chosen as the game progresses.
VB Games: Preparing for Memory Brainstorm controls & events Parallel structures (again), Visibility, LoadPicture, User-defined procedures, Do While/Loop,busy.
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Problems, Problem Spaces and Search
11-1 Recursive Thinking A recursive definition is one which uses the word or concept being defined in the definition itself When defining an English word,
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Presented by: Ashgan Fararooy Referenced Papers and Related Work on:
CP Summer School Modelling for Constraint Programming Barbara Smith 4. Combining Viewpoints, Modelling Advice.
A Classic Game of Strategy for the 21 st Century.
More on Logic Today we look at the for loop and then put all of this together to look at some more complex forms of logic that a program will need The.
Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin.
Tetris Agent Optimization Using Harmony Search Algorithm
Solving Kriegspiel endings with brute force: the case of KR vs. K Paolo Ciancarini Gian Piero Favini University of Bologna.
A game based off of the esteemed classic By: Tadziu Kosiara.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Minesweeper Solver Marina Maznikova Artificial Intelligence II Fall 2011.
Chess Strategies Component Skills Strategies Prototype Josh Waters, Ty Fenn, Tianyu Chen.
More on Logic Today we look at the for loop and then put all of this together to look at some more complex forms of logic that a program will need The.
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
Introduction to Game Programming & Design III Lecture III.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
CS162 Week 5 Kyle Dewey.
Introduction to Operations Research
Finding Heuristics Using Abstraction
Christopher Hodgson and Gregory Tyler Loftis
The Alpha-Beta Procedure
Chapter 11 Recursion.
11 Recursion Software Solutions Lewis & Loftus java 5TH EDITION
Solving Sudoku with Consistency: A Visual and Interactive Approach
CS534 Spring 2019: Logic Based Systems with Minesweeper
Java Software Solutions Foundations of Program Design Sixth Edition
Unit II Game Playing.
Presentation transcript:

Minesweeper is a game of logic. It originated from “Relentless Logic,” which was written by Conway, Hong, and Smith around In Relentless Logic, the player is a soldier trying to crawl back to the Command Center, avoiding any mines. The player knows only the number of mines adjacent to his/her current position. The modern form of Minesweeper was developed by Robert Donner and was released with Windows in The player can click on any square to reveal it. If the square has a mine on it, the player loses. If it doesn’t have a mine, the square is replaced with a number indicating how many adjacent squares are mined. Using this information, the player must uncover all safe squares on the board. Relentless Logic Minesweeper, circa 2000 Minesweeper of the future

Our goals are to… Promote our courses on Constraint Processing (CP), and motivate the students for the study of CP. Minesweeper is perfect to this end because it allows us to visualize the operation of CP algorithms. Understand and demystify humans’ fascination with puzzles. Discourage graduate students from losing too much time playing by making a program to play games for them. Our approach is to… Model Minesweeper as a Constraint Satisfaction Problem & explore the application of constraint propagation techniques to interactively determine safe and mined squares. Constraint C 1 : Scope = {A,B,C,D,E,I,J} Exactly 2 must have mines Constraint C 2 : Scope = {D,E,F,G,H,I,J} Exactly 3 must have mines Every square is a variable with two possible values: safe or mined. Every safe square gives a “sum” constraint over its 8 neighbors. For example, a square labeled 3 yields a constraint stating the square be surrounded by 3 mines.

The player can choose a pre-defined level of difficulty or specify the board size and number of mines. The player can also load a predefined game stored in an xml file. The player can trigger constraint propagation at the following consistency levels: GAC, 2-relational consistency, and 3-relational consistency. The player can execute each consistency algorithm either to proceed step- by-step or to run in a loop until quiescence. We use the same rules as the Windows version of Minesweeper. The player left-clicks on squares to reveal them, or right-clicks on them to mark them as mines.

2-RC GAC, 2-RC, and 3-RC are of increasing complexity: GAC ensures the consistency of each single constraint, 2-RC (respectively 3-RC) ensures the consistency of every combination of 2 (respectively 3) constraints with overlapping scopes. Higher levels of consistency are more costly, but can infer more information. Given the computational cost, one always applies GAC first, then 2-RC, followed by 3-RC. GAC 3-RC

In the first configuration the player needs to examine the entire board in order to solve the problem, which Kaye claims to be difficult to do. Note here that 2-RC is sufficient to solve the problem. In his paper “Some Minesweeper Configurations,” Richard Kaye mentions two particularly challenging configurations. Another interesting configuration is the circle of 2’s, which is quite complex: neither GAC nor 2-RC yield any filtering. However, 3-RC is strong enough to solve this puzzle!

In such situations, the player can only guess… While increasing the level consistency allows one to eventually find all possible solutions, constraint propagation cannot enable the player to win every game… … because of situations such as the one pictured here where two possible solutions exist.