logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
William LongMathematics
(5/5)

561 Answers

Hire Me
expert
John GrettonSociology
(5/5)

620 Answers

Hire Me
expert
Edwin BenningLaw
(5/5)

566 Answers

Hire Me
expert
Neville StevensMarketing
(5/5)

995 Answers

Hire Me
Python Programming

In this assignment, you will be tasked with implementing a Minesweeper AI agent, which should be able to play and solve the Minesweeper game.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Instruction

In this assignment, you will be tasked with implementing a Minesweeper AI agent, which should be able to play and solve the Minesweeper game.

The only thing you need to write is your AI.

Game Mechanics

Wikipedia : https://en.wikipedia.org/wiki/Minesweeper_(video_game) Youtube : https://www.youtube.com/watch?v=7B85WbEiYf4

In Minesweeper, you are given a board that is set up as a 2D grid of tiles. Each tile covers either:

  1. A hint number (that tells how many mines are around that tile

  2. A mine

Ultimately, your agent’s goal is to uncover all tiles which do not contain a mine. A more concrete definition of the game is given by the following description.

The first tile for you will be uncovered with a ‘0’ indicating that the nearby tiles don’t have any mines. That is to prevent your AI from failing on the first move.

Performance Measure

The performance measure of your agent will be a score calculated based on the number of worlds your agent has completed. Points are awarded to your agent only if it successfully solves the entire world. Each difficulty level has a different weight.

The game ends when your agent chooses to leave the game or if your agent uncovers a mine. In either of these cases, you’ll get a zero.

Environment

Refer to the WorldGenerator folder for any further clarification/implementation.

  • Each difficulty level has a different dimension and number of mines (generateTournament.sh generates these boards):

    • Beginner : 8 row x 8 column with 10 mines

    • Intermediate : 16x16 with 40 mines

    • Expert : 16x30 with 99 mines

The board begins with 1 random tile already uncovered and presumably safe. Mines are randomly placed throughout the board.

Your agent dies when it uncovers a mine.

Actuators

Refer to the file Agent for any further clarification/implementation.

  • Your agent has 4 moves:

    • 1 : UNCOVER, reveals a covered tile

    • 2 : FLAG, places a flag on a tile

    • 3 : UNFLAG, removes a flag from a tile if that tile has a flag

    • 4 : LEAVE, ends the game immediately

Sensors

Your agent will receive only one percept:

  • Following an UNCOVER action, your agent will perceive the hint number associated with the previous UNCOVER action. This number represents how many mines are within that tile’s immediate

  • Following a FLAG or UNFLAG action, your agent will perceive -1.

 

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme