Institutional Preference Dynamics

Institutional Preference Dynamics preview image

1 collaborator

Mfriesen_head_shot_4 Milton Friesen (Author)



Tagged by Milton Friesen over 4 years ago


Tagged by Milton Friesen over 4 years ago


Tagged by Milton Friesen over 4 years ago


Tagged by Milton Friesen over 4 years ago


Tagged by Milton Friesen over 4 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0.4 • Viewed 282 times • Downloaded 19 times • Run 0 times
Download the 'Institutional Preference Dynamics' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


When density is at 75% and preference is at 75% full segregation happens. When preference is above 75%, it stays dynamic and does not settle. when preference is below 75%, it quickly reaches a static state. 74% takes 132 ticks 73% takes 123 ticks 71% takes 71 ticks 70% takes 64 65% takes 34

Worth noting that the patches are larger toward the larger percentage of preferences Patches are much smaller as the percentage of preferences goes down. Static state is achieved more quickly as preference for own goes down but more fragmented


Individual preference for others like themselves (micro-motives) leads to large scale pattern emergence (macro-behaviour) as Schelling (1978) observed. In this model, individuals with a preference are stick figures colowhite white and blue. An individual is unhappy until with enough others to meet their preference requirement. When that requirement is met, a new entity, an institution, is formed. The model begins with a random distribution of the two types of agents.


Click the SETUP button to set up the agents. There are approximately equal numbers of blue and white agents, one per patch. Agents will keep moving if their preferences are not met. Once they are met, they become a house that is the same colour as their preference. Although it is a bounded square, the model runs as if it where on the surface of a sphere so there are no edges - the top interacts with the bottom, each side interacts with the other side.

The DENSITY slider controls the occupancy density of the landscape (and thus the total number of agents). The %-SIMILAR-WANTED slider controls the percentage of same-color agents that each agent wants among its neighbors. For example, if the slider is set at 30, each blue agent wants at least 30% of its neighbors to be blue agents.

The % SIMILAR monitor shows the average percentage of same-color neighbors for each agent. It starts at about 50%, since each agent starts (on average) with an equal number of white and blue agents as neighbors. The NUM-UNHAPPY monitor shows the number of unhappy agents, and the % UNHAPPY monitor shows the percent of agents that have fewer same-color neighbors than they want (and thus want to move). The % SIMILAR and the NUM-UNHAPPY monitors are also plotted. The landscape itself provides feedback about this as well. As long as there are individual agents, they are not happy. When they are happy, the house is settled.

The VISUALIZATION chooser gives two options for visualizing the agents. The OLD option uses the visualization that was used by the segregation model in the past. The Institutions option visualizes the agents as stick figures (unhappy) and houses (happy).


When you execute SETUP, the white and blue agents are randomly distributed throughout the neighborhood. Some agents randomly end up with their threshold met and instantly become houses. This is why you'll see some houses on the initial set-up. Unhappy agents don't have enough same-color neighbors and remain as stick figures. The unhappy agents move to new locations in the vicinity. But in the new locations, they might tip the balance of the local population, prompting other agents to leave. If a few white agents move into an area, the local blue agents might turn back into a stick figure and leave. But when the blue agents move to a new area, they might prompt white agents to leave that area so cascading and disturbance patterns occur.

Over time, the number of unhappy agents decreases. But the neighborhood becomes more segregated, with clusters of white agents and clusters of blue agents.


Try different values for preferences which is %-SIMILAR-WANTED. How does the overall degree of segregation change?

In general, it is best to hold one slider at a given point and move the other to look for dynamics.

You can also run the model and change the sliders dynamically as the model is running to more quickly determine where threshold effects may be.

The number of colours can be varied. If preference is set at 50% and density at 75% the following occurs with the addition of colours.

2 colours takes 16 ticks to reach complete segregation. 3 colours takes 41 ticks to reach complete segregation. 4 colours takes 61 ticks to reach complete segregation. 5 colours takes 136 ticks to reach complete segregation. 6 colours takes 301 ticks to reach complete segregation.


sprout is used to create agents while ensuring no patch has more than one agent on it.

When an agent moves, move-to is used to move the agent to the center of the patch it eventually finds.

Note two different methods that can be used for find-new-spot, one of them (the one we use) is recursive.


Schelling, T. (1978). Micromotives and Macrobehavior. New York: Norton.

See also: Rauch, J. (2002). Seeing Around Corners; The Atlantic Monthly; April 2002;Volume 289, No. 4; 35-48.


If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.

For this version of the model:

  • Milton Friesen - Institutional Preference Dynamics (2018)

For the base model:

Please cite the NetLogo software as:


Copyright 1997 Uri Wilensky.


This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at

This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers white #9552950 and REC #9632612.

This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2001.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals [
  percent-similar  ;; on the average, what percent of a turtle's neighbors
                   ;; are the same color as that turtle?
  percent-unhappy  ;; what percent of the turtles are unhappy?

turtles-own [
  happy?           ;; for each turtle, indicates whether at least %-similar-wanted percent of
                   ;;   that turtle's neighbors are the same color as the turtle
  similar-nearby   ;; how many neighboring patches have a turtle with my color?
  other-nearby     ;; how many have a turtle of another color?
  total-nearby     ;; sum of previous two variables

to setup
  ;; create turtles on random patches.
  ask patches [
    if random 100 < density [   ;; set the occupancy density
      sprout 1 [
        set color one-of [blue white] ;; Try adding colours -eg. red green yellow orange gray one at a time.

;; run the model for one tick

to go
  if all? turtles [ happy? ] [ stop ]

;; unhappy turtles try a new spot

to move-unhappy-turtles
  ask turtles with [ not happy? ]
    [ find-new-spot ]

;; move until we find an unoccupied spot

to find-new-spot
  rt random-float 360
  fd random-float 10
  if any? other turtles-here [ find-new-spot ] ;; keep going until we find an unoccupied patch
  move-to patch-here  ;; move to center of patch

to update-turtles
  ask turtles [
    ;; in next two lines, we use "neighbors" to test the eight patches
    ;; surrounding the current patch
    set similar-nearby count (turtles-on neighbors)  with [ color = [ color ] of myself ]
    set other-nearby count (turtles-on neighbors) with [ color != [ color ] of myself ]
    set total-nearby similar-nearby + other-nearby
    set happy? similar-nearby >= (%-similar-wanted * total-nearby / 100)
    ;;add visualization here
  if visualization = "old" [ set shape "stick" ]
  if visualization = "Institutions" [
   ifelse happy? [ set shape "house" ] [ set shape "stick" ]

to update-globals
  let similar-neighbors sum [ similar-nearby ] of turtles
  let total-neighbors sum [ total-nearby ] of turtles
  set percent-similar (similar-neighbors / total-neighbors) * 100
  set percent-unhappy (count turtles with [ not happy? ]) / (count turtles) * 100

; Copyright 1997 Uri Wilensky.
; See Info tab for full copyright and license.

There are 3 versions of this model.

Uploaded by When Description Download
Milton Friesen over 4 years ago Adding instructions for number of colours. Download this version
Milton Friesen over 4 years ago Improvement of selector values Download this version
Milton Friesen almost 5 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Institutional Preference Dynamics.png preview Preview for 'Institutional Preference Dynamics' almost 5 years ago, by Milton Friesen Download

This model does not have any ancestors.

This model does not have any descendants.