Tony Bigbee's sugarscape using MASON
I am making available via the link below a package containing an
implementation of the classic Sugarscape model as described in
Growing Artificial Societies (Epstein and Axtell, 1996). The
package contains extensive documentation, including a significant
README, commented source code, the original thesis, and a concise
conference paper. A majority of the rules described in GAS are
implemented. The package may be useful for teaching, class projects
and possibly research projects via various extensions or
improvements suggested in the Sugarscape README. The current
package contains all MASON 12 classes and required .jar libraries.
The README_SUGARSCAPE.txt file has a section with bunch of concrete
suggestions regarding projects along with time estimates -- I've
pasted that section below. One major and one minor one might be the
right level for a year's effort and I would take the upper time bound
as a starting point for them.
Growing Artificial Societies is probably the best single source as far
as I'm concerned for this area. If you think it would be helpful, I
could make a presentation at some point to your students regarding my
implementation and computational social science things in general. I
made it to state and international science fairs as a high school
student so I have some idea of advanced high school student mindsets.
For what it's worth, I also work for MITRE and we're always on the
look out for high school and college interns.
----------------------------------------------------------------------
[8] FUTURE RESEARCH,STUDENT PROJECTS
Here are some things that could and should be done to improve or
explore this implementation or advance research in general. I
estimate time required based on a Bachelor's degree, general Java
competence, and focused effort (i.e. several hours a day).
0. Refactor Sugarscape.java. It is unnecessarily large. Maybe
Agent.java as well. [1-2 weeks]
1. Implement Chapter 5, Disease Processes. [1-3 weeks]
2. Implement Social Network statistics and visualization. MASON has
an adjunct module that would probably be good place to use. [2-4
weeks]
3. Implement Foresight, Credit (GAS, p. 129-135). [2-4 weeks]
4. Implement Ringworld (GAS, p. 170-176). [1-3 weeks]
5. Explore in much greater depth differences between the original
Sugarscape source code, ASCAPE, and MASON Sugarscape. Account for all
simulation outcome differences between the original Sugarscape and
MASON Sugarscape. [1-3 months]
6. Generalize the use of JFreeChart to any state value or combination
of values. [1-3 months]
7. Generalize the number of resources and welfare estimate to N. [1-2 months]
8. Implement the Combat rule (GAS, p. 82-92). [2-4 weeks]
9. Explore the differences in simulation outcomes between different
scheduling metaphors. [1-3 months]
o see a draft of the latest MASON Sugarscape paper for a description of these
10. Implement fractal dimension measurement support to try to detect
differences in state variable changes when source code or parameters
are changed. This should help understand how emergent features are
linked to source code and parameters in a novel and perhaps very
useful way. See: http://citeseer.ist.psu.edu/jr00fast.html [2-4
weeks]