Swarm Intelligence: Programming Assignment One
Swarm Solutions to the Forest Fire Problem
The purpose of this exercise is to experiment with ant systems
solutions to the forest fire problem.
You are to design and implement software that solves the problem as
described below.
In particular, I would like you to experiment with different strategies
when it comes to the complexity of the agents, the complexity of the
stigmery, and possibly the complexity of the colony of the agents, in
the sense that not all agents have the same behavior.
Your grade will depend on the amount of well-designed experiments that
you conducted.
Please work on this project in pairs.
Problem
In this version of the problem, you control a set of trucks. Your
objective is to fight as many fires as possible, putting them out.
I will not give you a predefined world and instead ask you to
experiment with your own worlds. This domain seems to be a fertile
ground for Swarm Solutions. The goal of this exercise is to get to
know ant systems. As such I am asking you to experiment with the
parameters as suggested below to see about the strength and weaknesses
of the ant approach. You may wish to consider experimenting with
further parameters.
Below is an example state of this world. I will ask you to work
with worlds that are considerable larger (at least 100 by 100 grid.)
+----------+
| F |
| F T |
| B |
|T |
| FFF |
+----------+
In this world there are:
- Trucks (T), bases (B) and fires (F).
- An n x n grid representing the locations of trucks, bases
and fires.
- A state in this world consists of trucks, bases and fires,
placed on mutual exclusive grid positions.
- Fires may grow or shrink. Please experiment with different rates
of growth and fires dying down. Also experiment with new fires starting.
- Trucks are used to fight fires.
- Trucks can move up, down, left, or right by exactly one position
per state transition.
- Two trucks may not occupy the same position.
- A truck extinguishes part of a fire by moving into a grid square
that currently has a fire.
- A base (B) is a safe place, where trucks can get more water and
where no fires can ever appear. You may have more than one base.
- Experiment with different trucks. A default truck should be able
to extinguish one square and then has to go back and get more water.
- As many trucks as you choose may move per turn.
Specifics
- I will ask you to give a brief class presentation, summarizing
what you have learned from your experiments. You may wish to develop a
GUI for your system which enables you to nicely present some of your
experiments.
- The deadline for this project is Monday, December 18th at 8am.
Report Specifications
- Write a report in which you show and discuss your experiments.
- I imagine the report to contain two to three pages of
single-spaced text as well as some charts and tables summarizing your
experiments and findings.
- For the larger problem instances, I am interested in the computing
resources you used (time, and if you have an ingenious data-structure,
space)