Patrick Coleman
Period 6
COMPUTER SYSTEMS RESEARCH
Fall/Spring 2007-2008
Computer Systems Project Proposal - September 2007
1. Project definition:
This project will study artificial societies, especially the Sugarscape and the Schelling segrega-
tion model.
2. Purpose of project:
As of yet the Sugarscape society has not been implemented in Ruby and it would be valuable
for this code to be available because of the scope of the Sugarscape research. Sugarscape has
inspired further research concerning agent-based modeling and artificial societies. The Schelling
segregation model was one of the first artificial societies to be implemented on a computer and
has defined the area of study. The combination of these two models can provide valuable insight
into human culture. Perhaps 3 different groups could be put into the Sugarscape instead of the
usual two different groups.
3. Computer language and software:
Ruby will be used as the programming language for this project. Ruby’s Tk toolkit library will
be used for the GUI representation of this Sugarscape project.
4. Algorithms and methods:
First the environment will be built and then the environment will be set to update itself and
redisplay over time. Next agents of one color will be added to the Sugarscape, harvesting and
eating the sugar. Eventually multiple groups of different color agents will be added to the Sug-
arscape to see how they interact according to the principles of Schelling segregation. Lastly,
combat between different groups will be implemented, as this has not yet been done by Tony
Bigbee at George Mason. The project will be broken down into several files: a main file, an
agent file, an environment file, a location file, a display file, and a simulation file. The main file
will initialize aspects of the simulation, environment, and GUI by calling methods in other files.
It will then run a while loop updating the display and running the simulation. The agent file
will contain an agent object which will keep track of its location and its innate characte