{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This example implements the first model from \"Modeling civil violence: An agent-based computational approach,\" by Joshua Epstein. The paper (pdf) can be found [here](http://www.uvm.edu/~pdodds/files/papers/others/2002/epstein2002a.pdf).\n", "\n", "The model consists of two types of agents: \"Citizens\" (called \"Agents\" in the paper) and \"Cops.\" Agents decide whether or not to rebel by weighing their unhappiness ('grievance') against the risk of rebelling, which they estimate by comparing the local ratio of rebels to cops. \n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "from civil_violence.agent import Citizen, Cop\n", "from civil_violence.model import CivilViolence" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "model = CivilViolence(height=40, \n", " width=40, \n", " citizen_density=.7, \n", " cop_density=.074, \n", " citizen_vision=7, \n", " cop_vision=7, \n", " legitimacy=.8, \n", " max_jail_term=1000, \n", " max_iters=1000) # cap the number of steps the model takes\n", "model.run_model()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The model's data collector counts the number of citizens who are Active (in rebellion), Jailed, or Quiescent after each step." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "model_out = model.datacollector.get_model_vars_dataframe()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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f9u2bb3Lu7q69msFN8bIpZdeWn///fdX9F23YcOGTc8//3ziQw89lPH000+nPvLII6X9xWCM4Wtf+1rlt771rbrw5Vu3bnW5XK7eWrvdbjednZ2H1BKvzfhhetptjF79qZRSUe38889v9Xq9tvvuuy8NwO/385WvfGXs5z//+ZrCwsLujRs3egKBAMXFxc5169bF9d3/rLPOann55ZdTKioqHADV1dX2bdu2uSorKx2BQIDrrruu6cc//nHF+vXrPSkpKcHs7OzuJ554Ihmgs7NTWltbbcuWLWt54okn0pubm20Au3btcvYcbyDx8fGB5ubmg74aQJN9GAlle032SikV3Ww2Gy+88ELxc889lzJu3LiZKSkpx9tsNn76059WnXnmmW1jx47tKiwsnPHlL385f/r06R199583b573u9/9bsUZZ5wxefLkydNPP/30yWVlZc6SkhLnSSedNGXq1KnTr7766gn33HNPOcCTTz656/7778+cPHny9Pnz508tKytzXHzxxS2XXnppwwknnDB18uTJ0y+66KKJTU1Ngybya665pu6rX/3quKlTp05va2s74NiCHmKiMLPNnz/fDGdu/PXlzZx33zv87pr5nDk9KwKRKaXUkUtE1hhj5ke6nLVr15bMnj277sBbHj7//Oc/46699toJzzzzzI6TTjppv+R+NFi7dm367NmzC/pbp332YfbW7KPvBEgppdTAzjzzzPY9e/asH+04IkWb8cP0JvvRDUMppZQaUZrsw0hoiJ7W7JVSSkUTTfZhdICeUkqpaKTJPow24yullIpGmuzD7G3GH+VAlFJKqRGkyT7M3pq9ZnullIp2TzzxRLKIzPv444/dg23X97ayl19++bg1a9YMus+RRpN9GJ1BTymljh1/+ctfUufOndu2fPny1MG263tb2aeffnr3vHnzvJGPcOTodfZhtM9eKaUOsxduHkvNphG9xS2Z0zu48P5Bb7DT3Nxs+/DDD+P/9a9/bT3//PMn3XvvvXsA7rrrruwVK1akighnnHFG8wknnNDR97ayp59++uRf/OIXZatXr47bsWNHzMMPP1wOVgtAUVFR3PLly0v7u/2twzF6KVeT/T700jullDoW/PnPf04+9dRTm4877riulJQU/9tvv+2prKx0vPrqq8lr1qzZkpCQEKyurrZnZWUFHnzwwcxf/OIXZaec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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = model_out.plot()\n", "ax.set_title('Citizen Condition Over Time')\n", "ax.set_xlabel('Step')\n", "ax.set_ylabel('Number of Citizens')\n", "_ = ax.legend(bbox_to_anchor=(1.35, 1.025))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 1 }