What a Riot!
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
ABM of protesters who observe instigators throwing rocks to smash windows and join if the number of instigators on adjacent patches reaches or exceeds personal threshold values. Source: Chapter 5 Rioting in David Knoke. 2025. Network Collective Action: Agent-Based Models of Pandemics, Riots, Social Movements, Insurrections and Insurgencies. Cham, Switzerland: Springer Nature.
HOW IT WORKS
Whether bystanders join a riot depends on personal thresholds, the number of instigators within a one-patch radius. Whether rioters defect from the riot also depends on personal thresholds, the number of peacekeepers within a one-patch radius.
HOW TO USE IT
Use sliders to set the numbers of bystanders, instigators, and peacekeepers. Use the N-Thresholds to choose how many threshold levels will be randomly assigned to each bystander. The simulation ends if the percentage of rioting bystanders reaches the value set by the EndSim% slider.
THINGS TO NOTICE
What happens when the number of bystander thresholds are increased or decreased?
THINGS TO TRY
Run the simulation with no peacekeepers present, then experiment with varying numbers of instigators and peacekeepers.
EXTENDING THE MODEL
How could adding law enforcement agents with the power to arrest (remove) rioters affect the outcome?
NETLOGO FEATURES
RELATED MODELS
Clements, Alastair J. and Nabil T. Fadai. 2022. “Agent-Based Modelling of Sports Riots.” Physica A: Statistical Mechanics and Its Applications 597:127279.
Dezecache, Guillaume, James M. Allen, Jorina von Zimmermann and Daniel C. Richardson. 2021. “We Predict a Riot: Inequity, Relative Deprivation and Collective Destruction in the Laboratory.” Proceedings of the Royal Society B 288(1959):20203091.
Pires, Bianica and Andrew T. Crooks. 2017. “Modeling the Emergence of Riots: A Geosimulation Approach.” Computers, Environment and Urban Systems 61:66-80.
CREDITS AND REFERENCES
Comments and Questions
;; What A Riot! - NetLogo Code ;; David Knoke, University of Minnesota ;; June 9, 2023 ;; ;; Use sliders to set N of agents breed [bystanders bystander] breed [instigators instigator] breed [peacemakers peacemarker] globals [ colors ;; Bystanders = green, Instigators = red, Peacemakers = blue initial-green ;; How many turtles green at start? initial-red ;; How many turtles red at start? initial-blue ;; How many turtles blue at start? ] turtles-own [ threshold ; a score to assigned randomly from 1 - K ] to setup clear-all ask patches [set pcolor white] ;; Make all patches white create-bystanders N-Bystanders [ ;; create initial Number of Bystanders setxy random-xcor random-ycor set color green set shape "person" set size 2 ] create-instigators N-Instigators [ ;; create Number of Instigators setxy random-xcor random-ycor set color red set shape "person" set size 2 ] create-peacemakers N-Peacemakers [ ;; create Number of Peacemakers setxy random-xcor random-ycor set color blue set shape "person" set size 2 ] ;; Count how many turtles of each color at start set initial-green count turtles with [color = green] set initial-red count turtles with [color = red] set initial-blue count turtles with [color = blue] reset-ticks ;; Assign bystander turtles a threshold random number 1 to N-THRESHOLDS ask turtles with [color = green] [ set threshold 1 + random N-Thresholds ] end to go ;; Stop the simulation when Percent-Bystanders = EndSim% if (((count turtles with [color = orange]) / initial-green) * 100) >= EndSim% [stop] ;; Stop if nonterminating run exceeds 50,000 ticks if ticks > 50000 [stop] move recruit defect tick end to move ;; Turtles move one patch in randomly selected 360-degree direction. ask turtles [ right random 360 forward 1 ] end to recruit ask turtles with [color = green] [ if count turtles in-radius 1 with [color = red] >= threshold [set color orange] ] end to defect ask turtles with [color = orange] [ if count turtles in-radius 1 with [color = blue] >= threshold [set color green] ] end ;; Create plots & monitors in Interface
There is only one version of this model, created 3 months ago by David Knoke.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
What a Riot!.png | preview | Preview for 'What a Riot!' | 3 months ago, by David Knoke | Download |
This model does not have any ancestors.
This model does not have any descendants.