Skip to content

Latest commit

 

History

History
 
 

epstein_civil_violence

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Epstein Civil Violence Model

Summary

This model is based on Joshua Epstein's simulation of how civil unrest grows and is suppressed. Citizen agents wander the grid randomly, and are endowed with individual risk aversion and hardship levels; there is also a universal regime legitimacy value. There are also Cop agents, who work on behalf of the regime. Cops arrest Citizens who are actively rebelling; Citizens decide whether to rebel based on their hardship and the regime legitimacy, and their perceived probability of arrest.

The model generates mass uprising as self-reinforcing processes: if enough agents are rebelling, the probability of any individual agent being arrested is reduced, making more agents more likely to join the uprising. However, the more rebelling Citizens the Cops arrest, the less likely additional agents become to join.

How to Run

To run the model interactively, run EpsteinCivilViolenceServer.py in this directory. e.g.

    $ python EpsteinCivilViolenceServer.py

Then open your browser to http://127.0.0.1:8521/ and press Reset, then Run.

Files

  • EpsteinCivilViolence.py: Core model and agent code.
  • EpsteinCivilViolenceServer.py: Sets up the interactive visualization.
  • Epstein Civil Violence.ipynb: Jupyter notebook conducting some preliminary analysis of the model.

Further Reading

This model is based adapted from:

Epstein, J. “Modeling civil violence: An agent-based computational approach”, Proceedings of the National Academy of Sciences, Vol. 99, Suppl. 3, May 14, 2002

A similar model is also included with NetLogo:

Wilensky, U. (2004). NetLogo Rebellion model. http://ccl.northwestern.edu/netlogo/models/Rebellion. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.