The Math of Segregation
My introduction to the Schelling segregation model came via programming languages designed for simulating the interactions of many independent agents. For example, the NetLogo system, created by Uri Wilensky of Northwestern University, includes a demo program based on Schelling’s ideas. On a square grid of a few thousand sites, agents of two colors are scattered at random, with a small percentage of sites left vacant. An agent is unhappy if the proportion of like-colored agents on the eight neighboring sites is less than some specified threshold τ. On each turn, every unhappy agent moves to a randomly chosen vacant site. (The move is made whether or not it improves the agent’s level of satisfaction.)
The illustration at right shows how the NetLogo model evolves for a few values of the intolerance threshold τ. If τ is small (0.25 or less), all the agents quickly find a happy home, and the final configuration looks much like the initial random one. As τ approaches 0.5, the system tends to form mottled patterns reminiscent of camouflage, made up of oppositely colored stripes, blobs, or tentacles. As τ increases further the mottled forms grow larger, and around τ= 0.75 they coalesce into single large regions of each color, separated by an insulating barrier of vacancies. (Note that the square array in NetLogo is actually a torus, with the left edge joined to the right and the top to the bottom.)
What happens at still higher values of τ? The answer surprised me the first time I ran the simulation. There is much frantic motion, as agents of each color try to escape the other, but they make no apparent progress toward the stable, fully segregated state that would satisfy all of them. At any given moment, a snapshot of the system shows that the colors are well mixed. Thus, just as lower τ values create segregation that no one wants, the higher values lead to integration that everyone hates.
NetLogo and similar programming environments encourage an experimental approach to understanding the Schelling model. With these tools it’s easy to generate examples and gather statistics. It’s not so easy to deduce fundamental principles. For example, in all the simulations I have run, the high-τ agents never find a stationary, segregated pattern in which they can cease their turmoil, but I am wary of generalizing from this observation. If the lattice were larger—if the population of agents were allowed to grow to infinity—would the probability of segregation tend toward 0 or toward 1? I don’t know the answer for the NetLogo version of the model, but recent work has addressed questions of this kind in simpler systems.