Terror Paranoia
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Wars today are no longer primarily fought between nations. The era of the war on terrorism is upon us. As we become more aware of acts of terror, we start to wonder, is terrorism actually effective? Is it spreading terror as its name suggests?
How does the severity and widespread of terrorism influence the fear and paranoia within a community? Does a terrorist event only cause terror once or does it have lasting effects on community? What can a community do to maintain calamity and reason after an act of terror?
This model serves as an aide in not only thinking about these questions but also asking new ones. It can help visualize the spread of terror as different factors are changed and think about what roles these factors may play.
HOW IT WORKS
In this model, turtles are people with different levels of fear. When they interact with others, either physically or via network, they adjust their own levels to be closer to the person they just interacted with.
Terror events occur when the mouse is clicked on an area, increasing the level of fear of all those within a certain radius of the terror event. Those who then pass by that area are reminded of the event and their level of fear increases.
After a terror event occurs, the community will intervene to help soothe and calm the people.
HOW TO USE IT
Choose the size of the initial population with the POPULATION slider. Choose whether networks will be used with the NETWORK? switch. For more on the network settings, see THINGS TO TRY.
To create the community with these properties, press SETUP.
To run the model, press GO.
To cause a terror event, press anywhere on the view with the GO button running. A terror event will occur centered where the mouse was clicked. For more on the terror event variables, see THINGS TO TRY.
For more on the community intervention variables, see THINGS TO TRY.
The AVERAGE FEAR LEVEL is shown both immediately via a monitor and over time with a plot. The histogram FEAR OF PEOPLE shows the level of fear for each individual person. The histogram FEAR DISTRIBUTION shows how many people are at each level of fear.
THINGS TO NOTICE
Explanations on what each slider and switch does and represents are below in THINGS TO TRY.
Notice how fear generally disperses throughout the population. Follow both histograms to see how the distribution seems to converge as the fear level across all people reaches equilibrium.
Make adjustments to only the actual terror event and then to the effects of those terror events. What seems to have a greater impact on the level of fear after it reaches an equilibrium point, the actual event itself, or its after effects? It may help to visualize the after effects by turning on SHOW-RESIDUAL-FEAR? and slowing down the model to see how the people are interacting with the terror event.
Also play with the community intervention variables. Is faster community intervention more important or better community intervention more important?
THINGS TO TRY
Network Variables
Choose the number of links each person will create with others with the LINKS-WITH-OTHERS slider. (Note: This does not control how many links the person will ultimately have. This slider controls how many people that say Person 1 will connect with when it's first created but other people can also connect to Person 1, so Person 1 may end up with more links than LINKS-WITH-OTHERS denotes.) Choose the number of network groups there will be with the GROUPS slider. Choose the frequency of communication across the networks with the NETWORK-COMMUNICATION-FREQUENCY slider.
Terror Variables
Choose the radius of the terror events with the TERROR-RADIUS slider. Choose the severity of the terror events with the TERROR-SEVERITY slider.
Choose the percentage of fear left by the original event that will be in the area with the RESIDUAL-FEAR slider. Choose how much the residual fear left by the original event decays per tick with the RESIDUAL-DECAY-RATE slider. Choose whether the patches should show the amount of fear left on them with the SHOW-RESIDUAL-FEAR? switch.
Community Intervention Variables
Choose the time it takes for the community to intervene after a terror event with the INTERVENTION-DELAY slider. Choose the number of people that the commmunity intervention affects with the NUMBER-OF-INTERVENTIONS slider. Choose the percentage reduction in fear level in the people who are part of the community intervention with the LEVEL-OF-INTERVENTION slider.
EXTENDING THE MODEL
- Right now the model focuses primarily on how various variables affect the level of fear but not on how quickly the fear spreads. This model could be extended to show how long it takes for a population's fear level to reach equilibrium after terror events.
- Having different types of people that act differently based on their state. Right now, people who have higher levels of fear tend to be more vocal about their fear and attempt to seek out others to share their ideas, while less fearful people are more ambivalent about sharing their sentiments. An extension could be built where there could be people who refuse to be influenced by others or that share their ideas with everyone or people who only communicate with those with similar attributes.
- Create quarantines and see how fear spreads both inside and outside of confinement. The only way to communicate through the quarantine would be with pre-existing networks with others.
NETLOGO FEATURES
One of the most notable workarounds was with the mouse click for terror events. NetLogo only has the primitive of detecting whether the mouse is being pressed down or not and not whether the mouse is simply being clicked. Without the workaround, multiple terror events would be registered while the mouse was clicked, instead of just a single terror event per click. To work around this, we created a variable called mouse-was-down? that tracked the previous state of the mouse. This way, terror events were only executed when the state of the mouse was changed from down to up, or on the release of a click. Bryan Head guided me through this work around.
Another interesting feature for me personally was creating a list from an agentset and then running a procedure with each item of the list as an argument. This was used when adjusting the fear levels based on the people that the current person was linked to. The agentset of the people linked to the current person was converted to a list and then the adjust fear procedure was run within a foreach loop, where each item within the list as an argument.
RELATED MODELS
Rumor Mill Diffusion on Directed Network
CREDITS AND REFERENCES
Much of this model was based on a paper by Professor William Burns which can be found at: http://www.rit.edu/~w-cmmc/literature/Burns_2009.pdf
- Burns, W. J., & Slovic, P. (2007). The diffusion of fear: Modeling community response to a terrorist strike. JDMS: The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology, 4, 298–317
More information on this model can be found at: http://modelingcommons.org/browse/one_model/4359#model_tabs_browse_info
This model would not have been possible without the help of Dr. Uri Wilensky, Arthur Hjorth, Bryan Head, and David Weintrop
Comments and Questions
breed [people person] globals [ mouse-was-down? ;;tracks the previous state of the mouse terror-event? ;;tracks whether a terror event has occurred recently, true after a terror event until community intervention occurs help-timer ;;keeps track of time until community intervention occurs ] turtles-own [ fear-level ;;level of fear of each turtle group ;;which group each turtle is in last-patch-residual ;;keeps track of the last patch's residual fear level so fear does not constantly increase while in area ] patches-own [residual-fear] ;;residual fear from after terror events ;Setup Procedure ;Clears everything and then initializes the variables. Initial FEAR-LEVEL is randommly assigned and ;the group is based on each turtle's WHO and how many groups there should be. ;The ask people call is necessary after the create-people command block because not all the ;people have been assigned to a group yet and so there would be no links created for the first ;few turtles. Initialize the global variables and patch variables as well. to setup clear-all set-default-shape people "person" create-people population [ set size 1.5 setxy random-xcor random-ycor set fear-level random 100 + 1 set group who mod groups update-color ] ask people [ if network? [ let network n-of links-with-others other people with [group = [group] of myself] create-links-with network] ] ask patches [ set residual-fear 0 if show-residual-fear? = true [set plabel residual-fear] ] set mouse-was-down? false set terror-event? false set help-timer 0 reset-ticks end ;Go Procedure ;The go procedure checks if a terror event has occurred. Then it asks the people ;to adjust their FEAR-LEVEL based on the person they physically encounter and if ;this is a network, adjust their FEAR-LEVEL based on the network. ;Then adjust the FEAR-LEVEL based on whether there is any RESIDUAL-FEAR left on the ;patch. Update the color and the LAST-PATCH-RESIDUAL to the RESIDUAL-FEAR of the current ;patch. Then move. Then check the patches to see if they should be showing the residual fear ;and then decay any RESIDUAL-FEAR by the RESIDUAL-DECAY-RATE. Then finally check if ;there is a community intervention on this turn. to go terror-event ask people [ let other-person-here one-of other people-here if other-person-here != nobody [ adjust-fear-levels other-person-here ] if network? = true and ticks mod network-communication-frequency = 0 ;adjust FEAR-LEVEL based on every link neighboor [ foreach [self] of link-neighbors [ adjust-fear-levels ? ] ] residual-fear-effect update-color set last-patch-residual [residual-fear] of patch-here move ] ask patches [ ifelse show-residual-fear? = true [ set plabel residual-fear ] [ set plabel "" ] if residual-fear > 0 [ set residual-fear (residual-fear - residual-decay-rate) ] ] ifelse help-timer > 0 [ set help-timer help-timer - 1 ] [ if terror-event? = true [ set terror-event? false ask n-of number-of-interventions people [ set fear-level round ((1 - level-of-intervention) * fear-level) ] ] ] tick end ;terror-event procedure ;Checks to see if the mouse is currently not down and was previously down. This is done ;so that the only a single click is registered, instead of registering the entire time that the mouse ;is down. If a click is detected, everyone within the radius is increase their FEAR-LEVEL ;by the TERROR-SEVERITY. Set the residual fear for the surrounding patches and then start HELP-TIMER ;whcih keeps track of when community intervention occurs. TERROR-EVENT? is then updated ;as is the current status of the mouse. to terror-event if mouse-was-down? and not mouse-down? [ ask patch round mouse-xcor round mouse-ycor [ ask people in-radius terror-radius [ let boundary fear-level + terror-severity < 100 ifelse boundary [ set fear-level (fear-level + terror-severity) ] [ set fear-level 100 ] set last-patch-residual fear-level ] ask patches in-radius terror-radius [ set residual-fear round (terror-severity * initial-residual-fear / 100) ] ] if terror-event? = false [set help-timer intervention-delay] set terror-event? true ] set mouse-was-down? mouse-down? end ;adjust-fear-levels, a turtle procedure ;The FEAR-LEVELs of the people are adjusted based on what the the FEAR-LEVEL of the ;other-turtle argument. To do this, it takes 5% of the difference in FEAR-LEVELs ;(whether positive or negative) and adds it to its own FEAR-LEVEL. to adjust-fear-levels [other-turtle] if other-turtle != nobody [ let difference round ([fear-level] of other-turtle - fear-level) / 20 let fear-change round (fear-level + difference) ifelse terror-event? = false [ ifelse fear-change < 0 [ set fear-level 0 ] [ ifelse fear-change > 100 [ set fear-level 100 ] [ set fear-level fear-change ] ] ] [ if difference > 0 [ ifelse fear-change > 100 [ set fear-level 100 ] [ set fear-level fear-change ] ] ] ] end ;residual-fear-effect, a turtle procedure ;Increases the FEAR-LEVEL by the current RESIDUAL-FEAR of the patch the turtle is on to residual-fear-effect if [residual-fear] of patch-here != 0 and last-patch-residual = 0 [ let pdifference fear-level + [residual-fear] of patch-here ifelse pdifference > 100 [ set fear-level 100 ] [ set fear-level pdifference ] ] end ;move, a turtle procedure ;If there is a person ahead and a random number is less than the fear-level, ;then go towards them, otherwise turn randomly and then advance forward. to move let person-ahead one-of people in-cone 2 120 ifelse person-ahead != nobody and (random 100 + 1) < fear-level [ face person-ahead ] [ rt random 121 - 60 ] fd 1 end ;update-color, a turtle procedure ;updates COLOR of turtle, lower FEAR-LEVEL is more blue and higher FEAR-LEVEL ;is more red. to update-color ifelse fear-level = 50 [ set color white ] [ ifelse fear-level > 50 [ set color 18 - ((fear-level - 50) / 10) ] [ set color 108 - ((50 - fear-level) / 10) ] ] end
There are 4 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Final Project Proposal.docx | background | Project Proposal | over 10 years ago, by Kevin Jin | Download |
Final Report.pdf | Final Report | over 10 years ago, by Kevin Jin | Download | |
Final Research poster.pptx | powerpoint | final poster | over 10 years ago, by Kevin Jin | Download |
KevinJin_June1.docx | background | Progress Report 3 | over 10 years ago, by Kevin Jin | Download |
KevinJin_May18.docx | background | Progress Report 1 | over 10 years ago, by Kevin Jin | Download |
KevinJin_May25.docx | background | Progress Report 2 | over 10 years ago, by Kevin Jin | Download |
poster SLAM.pdf | powerpoint | PosterSLAM | over 10 years ago, by Kevin Jin | Download |
Terror Paranoia.png | preview | View | over 10 years ago, by Kevin Jin | Download |
Terror Paranoia.png | preview | interface preview | over 10 years ago, by Kevin Jin | Download |