CPE 481
Knowledge-Based Systems
Winter 2004
CPE 481 Knowledge-Based Systems Winter 2004
Assignment 3: Mine Sweeper in Jess
Points |
25 |
Deadline |
Feb. 19 |
The goal of this assignment is to create a JESS agent that will find
mines in a given Minefield. The assignment is based off of a game
called Minesweeper, originally created by Robert Donner and Curt
Johnson. It ships with every version of Microsoft (TM) Windows.
The grader for this course, Hafeez Jaffer, has created a clone of the
game in JAVA and incorporated the RETE engine so agents can be written
to solve a given Minefield. The file that must be modified is
minesweeper.clp,which can be found in the Jess directory. Each rule
that is written in this file will be loaded and executed by the
MineSweeper program to determine mine locations. The comments in the
minesweeper.clpfile contain the defined defglobals, deftemplates,
and hooks to the GUI. In addition, function skeletons have been
provided. The readMe file specifies compilation and execution
instructions, as well as operating system support.
Note: Currently, this Minesweeper clone is in beta form. Therefore,
please use the Blackboard discussion forum to report bugs, problems, or
provide suggestions. And because this is a difficult assignment, you should
start as early as possible.
Your program should be able to perform the following tasks:
- Logically deduce and flag mine locations in a given solvable
minefield (one that doesn't require guessing)
- Solve all the test cases in the testCasesdirectory
- Solve expert minefields in an efficient and fast manner
You must submit the following items:
- minesweeper.clpfile, containing the JESS rules to solve a
given minefield
- A README file documenting how your agent deduces mine locations
and any known limitations
I will use the following grading guidelines:
- 5 points for implementing the deffunctions
flagAllSurroundingUnknowns and revealAllSurroundingUnknowns
- 5 points for performance
- 10 points for the test runs
- 5 points for the README file and documentation of the source code