CSSE 413: Reasoning Programming Assignment

The aim of this assignment is to understand and implement the use of knowledge representation and reasoning to solve problems. In particular, we ask you to develop a rule-base system in which knowledge is stored in declarative rules rather than built into procedures. This will later on enable you to develop sophisticated learning algorithms.

Problem

We ask you to develop, implement and test a knowledge representation formalism to represent game states and rules of game play. This will likely result in somewhat of a re-write of the system you developed so far as you will need a different architecture.

Work on this assignment by yourself. The following specifications are added to this more complex version of "Capture the Flag":

The specifications for your software are as follows:

In addition to turning in your software, we ask you to turn in a document in which you list your Java code implementing the productions, a short natural language description of the productions as well as a description of how you implemented your heuristics.

We will attempt to publish the length of shortest paths sometime next week and modify the server and scenarios files to automate this check.

Please add code to print out path information like the one shown here. This enables us to grade your code in a more effective manner.

Turnin