Exercise 1. Schelling's tipping model. Thomas Schelling, who is best known for his work on deterrence theory, was also one of the pioneers in the field of agent-based modeling. He emphasized the value of starting with rules of behavior for individuals and using simulation to discover the implications for large-scale outcomes. He called this "micromotives and macrobehavior" (Schelling, 1978).

One of his models demonstrates how even fairly tolerant people can behave in ways that can lead to quite segregated neighborhoods. This is his famous tipping model (Schelling, 1978, pp. 137-55). It is quite simple. The space is a checkerboard with 64 squares representing places where people can live. There are two types of actors, and they are represented by pennies and nickels. One can imagine the actors as White and Blacks. The coins are placed at random among the squares, with no more than one per square. The basic idea is that an actor will be content if more than one-third of its immediate neighbors are of the same type as itself. The immediate neighbors are the occupants of the adjacent squares. For example, if all the eight adjacent squares were occupied, then the actor is content if at least three of them are the same type itself as itself. If an actor is content, it stays put. If it is not content it moves. In Schelling's original model, it would move to one of the nearest squares where it would be content. For the purposes of this exercise, it is easier to use a variant of the model in which a discontented actor moves to one of the empty squares selected at random.

The exercise is to implement this model, and explore its behavior. In particular, test one of Schelling's speculations about his tipping model. His speculation was, "Perhaps ... if surfers mind the presence of swimmers less than swimmers mind the presence of surfers ... the surfers will enjoy a greater expanse of water (Schelling, 1978, p. 153)."

To make things concrete, assume there are 20 surfers and 20 swimmers. Let the surfers be content if at least a third of their neighbors are surfers, and let the swimmers be content if at least half of their neighbors are swimmers. The actors can be numbered 1 to 40, and activated in the same order each cycle. Run the model for 50 cycles. Then for each of the 24 empty cells, write an A in the cell if more of its neighbors are surfers than swimmers, and write a B in the cell if more of its neighbors are swimmers than surfers. (It will probably be easier to do this step by hand than to automate it.) Then see if the surfers enjoy a greater expanse of water by seeing if there are more A's than B's. Do ten runs to get some idea of the distribution of results.

If you are a beginner, you might want to take advantage of source code and documentation I have written to implement this variant of Schelling's model. The source code is available both in Visual Basic and Pascal. Doing the exercise would then require making some simple modifications in the code to allow the two types of actors to have different requirements to be content.

Back to Appendix B

Back to Complexity of Cooperation Home Page

University of Michigan Center for the Study of Complex Systems

Contact cscs@umich.edu.

Revised *November 4, 1996*.