FJK Home CPE/CSC 481 News Syllabus Schedule Lecture Notes Assignments Paper Project Teams Other Links
CPE/CSC 481 Knowledge-Based Systems Winter 2010

CPE/CSC 481-W10 Knowledge-Based Systems Mine Sweeper in Jess

Topic

The goal of this assignment is to create a JESS agent that will find mines in a given Minefield. The assignment is based on a game called Minesweeper, originally created by Robert Donner and Curt Johnson. It ships with Microsoft (TM) Windows.

A former 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. You can find the framework for this assignment on the Blackboard discussion forum for the assignment. 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.

Description

Your program should be able to perform the following tasks:

  1. Logically deduce and flag mine locations in a given solvable minefield (one that doesn't require guessing).
  2. Solve all the test cases in the testCasesdirectory.
  3. Solve expert minefields in an efficient and fast manner.

Submission

You must submit the following items:

  1. The minesweeper.clpfile, containing the JESS rules to solve a given minefield.
  2. A README file documenting how your agent deduces mine locations and any known limitation.

Grading

I will use the following grading guidelines:

  1. 10 points for implementing the deffunctions flagAllSurroundingUnknowns and revealAllSurroundingUnknowns
  2. 5 points for performance
  3. 5 points for the test runs
  4. 5 points for the README file and documentation of the source code

FJK Home CPE/CSC 481 News Syllabus Schedule Lecture Notes Assignments Paper Project Teams Other Links
Minesweeper.html
last modified:
Wednesday, February, 10, 2010, 14:06:10 PST
© 2000-2024
Franz J. Kurfess