CSSE 413: Forest Fire Rescue Programming Assignment

This assignment is adapted from an assignment given by Andrew W. Moore, in an AI course at Carnegie-Mellon University.

Problem

In the Forest-Fire Rescue problem, you control a set of trucks. Your objective is to rescue people who are trapped in a forest fire in an expeditious manner. Below is an example state of this world.
+----------+
| F  P     |
| F    T   |
|          |
|T       P |
|  FFF     |
+----------+
In this world there are:

Examples

Specifics

Develop a heuristic and a cost function for this problem. Design a data-type for states. Design and implement a program that uses A* to search the search space. Implement your program in either Scheme or Java.

Your grade will depend on the quality of your solution and code. You want to ensure that your algorithm finds an optimal solution with the smallest amount of effort possible.

To make testing easier, please have your program read a file called start.txt which contains data about the start state. Please click on the link for more information. Alternatively, if you want to make life more fun for the graders, provide a clickable GUI, enabling the user to set up a start state.

Your program should output the following:

Turnin

The most important aspect of this problem is the heuristic function and the data-type for representing states. You want to focus a good amount of energy on these up-front. The deadline for the design sketch of your data-type as well as the algorithm for your heuristic and an argument showing that it is admissible is Friday, September 7, at the beginning of class. Turn in a write-up, describing the design of your data-type as well as your heuristic. Furthermore, provide an argument that your heuristic is admissible.

The deadline for the entire project is Wednesday September 12th at midnight.

Name your program forestfire.* zip it up and submit to the appropriate drop box on Angel.