SugarScape in Swarm

sss is a Swarm implementation of some of the models from Joshua
Epstein and Robert Axtell's book "Growing Artificial Societies".
  http://www.brookings.edu/SUGARS~1/DEFAULT.HTM

This code should be used in conjunction with the book; the text
describes the various models, and in general is an interesting
exercise in agent based modelling of social systems. This Swarm code
implements the basics of the Sugarscape model, mostly the versions in
chapter 2. In particular, the growth rule G_alpha, the movement rule
M, and the replacement rule R are implemented here. These are the
basics of an ecosystem - the rest of the book covers adding more
social features to the system such as combat, sex, cultural exchange,
etc.

This code could serve as a base for implementing more sophisticated
versions of the Sugarscape models. It was originally written for a
series of lectures on Swarm and complex systems modelling. See the
file Exercises.html for some suggested exercises.

There are two basic types of objects in the system. One is SugarAgent,
the actors in the model. The other is SugarSpace, the state of the
world. Both of these objects are hybrids of a lot of different
functions and behaviours.

There are a couple of nice Swarm coding tricks here. One is the
SugarSpace method
  -(int) setDiscrete2d: (Discrete2d *) a toFile: (char *) filename;
It's used to read the file sugarspace.pgm into the SugarSpac as data.
PGM is a simple greyscale image format.

The other trick is the parameterFile in the ObserverSwarm. It uses the
ObjectLoader to override the probe windows if asked to. The files in
the subdirectory parameters/ can then be used to load in parameter
sets in a GUI swarm.

This code is free software. It is distributed under the GPL, see the
file LICENSE for details. All code is Copyright (c) Nelson Minar,
1997. It was written while kindly being hosted by the Systems Lab at
the Central European University (http://www.syslab.ceu.hu/)

Nelson Minar              nelson@media.mit.edu
http://nelson.www.media.mit.edu/people/nelson/
Budapest                               7/26/97
