In 1969, Thomas Schelling showed that even a modest preference for one’s neighbors to be of the same race could lead to a significant degree of segregation. He showed this with pennies and nickles on a board, moving each coin in turn if its “happiness” rule was not satisfied — for instance, if fewer than 40% of the coin’s neighbors were the same type of coin it was.
This demonstrated how very simple micro-level behavior (individual people who were mostly tolerant) could result in unanticipated macro-level outcomes (segregation). We might conclude from the observed macro-level segregation that people don’t like those of other races to live by them. Yet at the micro level, it could be only a desire for just 30% or 40% of neighbors to be of the same race.
This unexpected macro-level behavior based on simple micro-level rules is known as emergence. Schelling’s model represents an early use of what has become known as agent-based modeling to investigate emergent behaviors in complex systems.
This SSM program is my own implementation of Schelling’s Segregation Model.
(Click to view larger)
SSM lets you run, pause, and step through the execution one step at a time. (In each step, any agent whose “happiness” rule is not satisfied moves to a randomly selected unoccupied spot.) You can also reset to randomly generate a new population of agents.
You can change the grid size (number of rows and columns in the grid), the density (percentage of cells in a grid that will be occupied), and the move threshold — the “happiness” rule for each agent.
SSM was developed under Windows 7, but should run under Windows 2000 and later.