by Dirk Brockmann
This explorable illustrates the dynamics of the Schelling model named after economist and Nobel laureate Thomas Schelling (1921-2016). Although this model has been applied in different contexts, it is best known for its ability to capture geographical ethnic segregation of human populations and cities based on very simple principles.
In the model individuals of a specific type (e.g. ethnicity, religion, political view, etc.) migrate to different locations if the proportion of people of other types in their current neighborhood is above a tolerance threshold. If the tolerance threshold is slightly less than a maximum tolerance of 100% an initially mixed population segregates into patches of uniform type.
Press play and keep on reading.
This is how it works
Many variants of the Schelling model exist and have been analysed and explored. Here we discuss a lattice version very similar to the original model. Each lattice site is a place where a single person (little dots) can reside. The overall population density can be either 30, 50 or 80% which you can select using the buttons. So, in addition to the occupied lattice sites, there are always vacant locations that individuals can move to.
Individuals also have a type. The number of different types can be selected as well, the choices are 2, 3 or 4. By default only two types exist colored in black and white, respectively.
Initially all individuals are distributed at random on the lattice, so the overall population is spatially mixed.
When you start the simulation individuals first determine their happiness. When happy they remain where they are. When unhappy they move to a vacant random site anywhere in the system.
Happiness is determined by what's going on in a person's neighborhood (8 lattice sites surrounding the person's location). Two rules determine a person's happiness. A person is always happy unless ...
- ... the neighborhood is empty, so when no other person lives there.
- ... The fraction \(F\) of people of a different type is larger than a critical tolerance level \(F_ c\).
More important to the model is the second rule. It turns out that even when the critical tolerance is fairly high, over time the entire system will converge to a state of homogeneous patches, i.e. sub-populations of individuals of one type only.
When you press play at the initial configuration for two types of individuals, a small fraction of unhappy people starts moving around until the eventually find a place that suits them. Initially the tolerance level is pretty high. When you follow the curve in the control panel that monitors the fraction of unhappy people, it decreases until eventually everyone is happy and the simulation stops.
Now pick a population density at 50%, decrease the tolerance a bit, say by one third of the slider range, and press play. The system will take some time to equilibrate and individuals need longer to find a suitable location. You should see that the system converges to a state of uniform black and white regions.
When you have more than one type, making everyone happy takes even longer but for lower tolerance you should also see homogeneous regions emerge.
Qualitatively, the emergent patterns are fairly robust against changes in the population density and variations in the tolerance once you are below the critical value.
When tolerance is very low, individuals just keep moving arround because they can't find an acceptable location.