At the 2016 Winter Simulation Conference, I presented “Active Shooter: An Agent-Based Model of Unarmed Resistance” (PDF) (view/follow project on ResearchGate), coauthored with William G. Kennedy. The paper appeared in WSC 2016’s Social and Behavioral Simulation track, chaired by Ugo Merlone of the University of Torino and Stephen Davies from the University of Mary Washington.
Background and motivation:
I initially undertook this modeling project during a 2015 seminar on agent-based modeling for military applications (ABM) offered by Kenneth Comer at George Mason University. The issue of active and mass shooters is obviously not unique to the military, but the shootings at Ft. Hood and the very few ABMs [1 , 2] I could find on mass shootings suggest more attention from computational modelers is needed.
Examining mass shootings through the lens of complexity science and agent-based modeling raised an additional wrinkle that’s seldom addressed in the literature or training for active shooter events. Specifically, the prescription to “Run, Hide, Fight” (or “Avoid, Deny Defend”) might work for individuals, but what about the impact one individual’s behavior has on another individual’s likelihood of surviving an active shooter incident? To illustrate, imagine an active shooting is unfolding and a potential victim is able to run and hide, barricading himself in a supply closet. What happens when the next potential victim arrives at that same supply closet, having also planned to use it? The individual inside the closet has monopolized the secure hiding space, leaving the second individual at greater risk.
The study of mass shootings is complicated. Despite disproportionate media coverage, mass shootings are extremely rare and each mass shooting is unique and difficult to generalize. Even the definition of “mass shooting” is debated. In my work, I’ve relied on the U.S. Federal Bureau of Investigation for official definitions, not because I think they are necessarily the best possible, but because they provide an authoritative baseline to study the issue. The FBI considered a “mass shooting” a single incident in which four or more individuals are killed (this is the definition of “mass murder”) involving the criminal use of a firearm. Importantly, this definition means that an incident in which three are shot and killed would not rise to the level of “mass shooting,” nor would an incident in which many were shot but less than four died of their wounds.
Compounding the rarity of mass shootings available for study is the fact that many of the primary sources (including the shooter himself) are often deceased. This fact, combined with methodological issues of relying on eyewitness accounts that are subject to recall errors and bias, makes the study of historical mass shootings difficult. Conducting experiments in which participants believed they could possibly die would be unethical and dangerous. Computational modeling and simulation, on the other hand, would offer an infinitely repeatable virtual laboratory in which to study this issue and would have no possibility of harming human subjects.
I had initially imagined a model that would include a variety of agents: shooter(s), victims, and peacekeepers/LEOs. While developing the model, I realized that what was most important was creating a model that allowed users–those with more subject-matter expertise than me–to calibrate the model to their knowledge. The eventual version 1 was a generalized outdoor model in which a shooter targets and fires upon victims, victims flee the shooter, and, if set by the user, and small proportion of victims attempt to subdue the shooter, as occurred during the thwarted attack in 2015 on a Thalys train traveling from Amsterdam to Paris.
User-settable parameters permit the user to control the shooter’s accuracy, armament, and, importantly, the probability of a “fighter” overcoming a shooter.
Initial findings suggest that even with a very small probability of success – a 1 out of 100 chance for each second of the struggle – a very small proportion of “fighters” in a population can potentially subdue an active shooter, even if that shooter has a 50 percent probability per second of disabling the “fighters.”
My model is available under the Apache 2.0 license from OpenABM for others to use in their own research. I encourage other modelers to extend this model and have made several suggestions for doing so in the paper. In particular, I think the idea of rapid collective action–a coordinated group or swarm attack–should be studied as a potential counter to an active shooter.
Mass shootings unfold quickly and are rarely foreseen by victims. Increasingly, training is provided to increase chances of surviving active shooter scenarios, usually emphasizing “Run, Hide, Fight.” Evidence from prior mass shootings suggests that casualties may be limited should the shooter encounter unarmed resistance prior to the arrival of law enforcement officers (LEOs). An agent-based model (ABM) explored the potential for limiting casualties should a small proportion of potential victims swarm a gunman, as occurred on a train from Amsterdam to Paris in 2015. Results suggest that even with a miniscule probability of overcoming a shooter, fighters may save lives but put themselves at increased risk. While not intended to prescribe a course of action, the model suggests the potential for a reduction in casualties in active shooter scenarios.
Keywords: agent-based modeling, ABM, active shooter, mass shooter, military, law enforcement, LEO, firearms, guns, violence, terrorism, security
Briggs, T. W. & Kennedy, W. G. (2016). Active shooter: An agent-based model of unarmed resistance. In Proceedings of the 2016 Winter Simulation Conference (WSC), 3521–3531. https://doi.org/10.1109/WSC.2016.7822381 (PDF)
A colleague recently asked how to get started with agent-based modeling (ABM).
It’s never been easier to learn ABM, whether you’re a social scientist, physical scientist, engineer, computer scientist, or from any discipline, really.
If you want to start right this minute, the very best thing to do is to head over to Uri Wilensky’s NetLogo website, download NetLogo (available for any OS) free of charge, and then work through the three learning tutorials available under “Learning NetLogo” in the User Manual.
The first tutorial is titled “Models” and, as its title suggests, introduces you to interacting with existing NetLogo models such as the Wolf-Sheep Predation model of an ecosystem.
The second tutorial is titled “Commands” and takes you a bit deeper in issuing commands to the NetLogo interface.
The third tutorial is titled “Procedures” and walks you through building a model from scratch – writing the necessary NetLogo code to implement a basic agent-based model.
After the three tutorials, the NetLogo website encourages reading through the guides available in the NetLogo documentation (Interface, Info Tab, Programming) and making use of the NetLogo Dictionary, a comprehensive index of NetLogo methods, procedures, and keywords.
What’s great about NetLogo is that it is fairly intuitive and “programming” or “coding” in NetLogo is very quickly learned, making a first agent-based model possible in a very short time.
If you prefer using a textbook as a guide, my recommendation is Uri Wilensky and Bill Rand’s Introduction to Agent-Based Modeling (find in a library), which uses NetLogo and includes companion code and models to run through all of the essentials of agent-based modeling.
Please see my review of Wilensky and Rand’s Introduction to Agent-Based Modeling for more detail on the book – which is excellent – and what it covers.
If you want to get started with ABM, download NetLogo today.
A short 2009 video describing NetLogo and some capabilities: