Complex Systems, Spring 1998
Bio 367: Computational Models of Biological Organization
CS 246: Programming Paradigms
Paul Grobstein, Bryn
Mawr College Department of Biology
Clare Congdon, Bryn Mawr
College Computer Science Program
Lab 1: Introduction to Complex Systems
"Relatively simple interactions of relatively simple things can yield complex
behavior"
What does this mean?
Is it worth thinking about?
How does one think about it productively?
Our objective for the first week is to develop some general intuitions about
these questions, which we can use as a basis for more focused inquiry and
discussion in weeks to come. "Starlogo"
is a programming environment for exploring the workings of decentralized
systems -- systems that are "organized without an organizer, coordinated
without a coordinator" ... and gives us a good place to start.
Starlogo provides, for the Macintosh environment, a way to build one's own
models of complex systems, a capability which we will make use of later in the
semester. Starlogo is also a Macintosh program for running models created by
others. We will begin by using three such existing models:
- Traffic, a model created by the Starlogo developers
"demonstrates how traffic jams can form even without any accidents,
broken bridges, or overturned trucks".
- Pattern, a model created at Penn
State, "simulates vertebrate skin patterns", such as spots and
stripes.
- Firefly, a model also created at Penn State, "simulates the self-organized synchronization of firefly flashing".
Each of these models shows that simple elements interacting locally can produce significant broader patterns which are not immediately obvious either in the properties of the elements or the rules of their interactions. Equally or more importantly, each model shows that the occurrence and character of such broader patterns varies depending on specific parameters of the model, and hence makes it possible to develop more concrete statements about the genesis of the broader patterns.
After looking at each of the three models, you should pick one for further study during the week. Your focus should be on providing a characterization of the dependence of broader patterns on model parameters and, if you can, an explanation of such dependence. You should also think about one or more of the following questions:
- What phenomena, other than that for which the particular model you are studying was specifically developed, might be similarly accounted for?
- Are there ways you would like to be able to manipulate the model to gain additional insights which are not available? (later in the course, we will look into how such models are created, and you may want to modify the one you have been studying at that time).
- How good do you think the model is in providing an explanation for the phenomena for which it was developed? How and why would you modify it? (again, you may want to do so later in the course).
- How does your exploration of this particular model and set of phenomena affect the ways you might go about trying to explain other phenomena? Are there things you have wondered about, or thought you understood, which might be more amenable to explanation in terms of some relatively simple set of elements with relatively simple local interactions?
- Are there "general rules of complex systems", useful statements that could be applied in a wide range of circumstances?
Maintained by:
Clare Bates Congdon (ccongdon@brynmawr.edu)
Paul Grobstein (pgrobste@brynmawr.edu)