Spread of fake news during crisis situation
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IT IS? (ABOUT THE MODEL AND ITS SCOPE)
The model is build to understand the diffusion of information throughout a population during a crisis time. The advent of social media has resulted in this information spreading quicker than ever before since people no longer need to be in face-to-face contact or even know each other to pass on information in an crisis situation. In this context agents are connected in a random network structure. The model is extended version of the diffision model which was dicussed during lectures. In lectures we build diffusion based on BASS model but this model also incorporate diffusion of information based on Independent Cascade model which assumes that information and adoption decisions ripple through a social network in cascades, rather than in long-term exposures such as the Bass model denotes. Cascade model can be activated by swtiching ON the cascade-model? switch. If OFF then it will be Bass model.
The Independent Cascade Model can be described in terms of an agent passing its state to its neighbor. From this perspective, the unit of study is an agent who is already in the adopted state. In this case, the agent can has a single chance to influence each of its neighbors who have not yet adopted. Each of its neighbors adopt with some fixed probability, independently from the other neighbors (hence 'independent' cascade). In addition, there is an exogenous marketing effect as we have incorporated into the Bass model.
Agent description (Types and Properties)
For the purpose of modelling diffusion of information there are primary one type of immobile agents connected by a social network. This agent type can be called as regular agent type. Observer is given choice to set some agents as seed agents who contain information regarding the crisis situation before "go" procedure. Since the purpose of model is just to see the spread of information and all the agents have same amount of influence there is no other type of agents.
All the agents have same properties. Properties of each agent includes: a. agent number b. agent color c. agent shape d. agent breed e. Position in network represented by xcor & ycor f. agent size g. pen size h. pen mode i. label j. label color k. heading l. hidden? m. State of agent: 1) Aware (Color coded "Yellow or Red based on medium of becoming aware) or 2) Unaware (Colour coded "White") n. Seed status: Whether agent act as seed agent or not (Seed agents are the one which have information intially, color coded "orange") o. tick-beocome-aware: time step at which agent become aware about the information (Seed agent have tick-become-aware -1)
Environment Description
All the agents work in Social network environment. For the purpose of the model, random network type of the structure is chosen. In random networks , each individual is randomly connected to other individuals. These networks are created by randomly adding links between agents in the system.
HOW IT WORKS (Actions of agents)
(what actions the agents take to create the overall behavior of the model)
In both independent cascade and bass models at each time step each agent becomes aware due to two circumstances either due to external environment or due to presence of direct aware neighbours. state of each agent is determined probabilistically as follows:
a. Probability of becoming aware due to external environment ‘q’ (set by broadcast-infulence) b. Probability of becoming aware due to internal environment, based on states of neighbours ‘p’ (set by influence rate)
If non-zero value of q is provided which means there is continuous flow of information from outside environment and individual becomes aware due to advertising or external news events. This is valid for both cascade and bass model.
In bass model each agent looks out towards its direct neighbour and check whether they have information or not. Based on this they update their state.
In cascade model except an aware agent can spread the information to its neighbors. The aware agent will query each of its neighbors, and they will adopt with the probability given by the influence rate. Thus, one of these outcomes can occur. Either none of the agents adopt, one or the other adopts, or all adopts the information.
Once an agent become aware it remains aware for the rest of the simulation.
HOW TO USE IT (Input of model)
Before running the model to setup following inputs are required
a. num-agents slider: Number of Agents in the model b. num-seed-informers slider : Number of agents acting as seeding agent for information b. broadcast-inflence slider : Probability of getting information from external environment ‘p’ c. influence-rate slider: Probability of getting influence due to internal environment ‘q’ (neighbour agents) d. cascade-model? switch: ON if cascade mode; OFF if Bass model e. mean-degree-of-network slider: parameter to decide density of the network
After entering inputs hit the Setup button. It will show the random network of agents.
Hit Go for running the model. Model will stop automatically.
If you want to use the same network and same seeders then hit reset-diffusion button. It will reset the model to original satate and you can again hit go or can ON or OFF the switch before hitting go.
If you want to change the distribution of seeders then press reseed network. It will reseed the existing network. You can now hit go or ON and OFF the switch before hitting go.
Outputs
This model is supposed to visualise the diffusion of the information in social network. Based on given inputs the model will able to illustrate how fast an information reaches to agents placed in social network setting. Output of model will consist of a. Number of aware agents at each time step plotted in graph (Total aware agents- black line, Social influenced- Greenline, broadcast influence- Red) b. % coverage of the information in the network
THINGS TO TRY
Cascade model:
Explore: How does the cascade behave when the broadcast-influence is zero? Explore: Can you find a value of social-influence such that the cascade is very likely to spread through the entire network, even when the broadcast-influence is zero?
Bass model:
Explore: How does changing the mean degree of network effect the spread of information diffusion through the network? Explore: How does changing the social influence impact the average time until total spread of information?
EXTENDING THE MODEL
The model can be extended by adding different types of network structures like prerential network. Also a comparative study can be done by plotting Bass model and Cascade model simultenously.
NETLOGO FEATURES
This model uses netlogo network extension.
RELATED MODELS
Spread of disease, diffusion model
Comments and Questions
extensions [ nw ] ;; extension for creating network turtles-own [ aware? ;; awareness status seed? ;; Seed status tick-become-aware ;; time of becoming aware ] globals [previous-count] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Methods to set up the network and initialize the nodes. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup ca reset-ticks let edge-prob (2 * mean-degree-of-network)/(num-agents - 1) ;; density of network decider nw:generate-random turtles links num-agents edge-prob [ ;; create the agents based on the slider in a random network set aware? false ;; adoption property is initialized setxy random-xcor random-ycor ;; separate the turtles spatially set color white ;; consistent appearance set shape "person" set seed? false ] ask n-of num-seed-informers turtles [ ;; setting up seed agents based on slider set aware? true set tick-become-aware -1 set color orange set seed? true ] repeat 30 [ layout-spring turtles links 0.2 10 10 ] set previous-count (count turtles with [aware?]) end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Method to run the model. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to go if (not any? turtles with [not aware?]) [ stop ] ifelse cascade-model? [ ask turtles with [tick-become-aware = (ticks - 1)] [ pass-adopt ] ask turtles with [not aware?][ adopt ] ][ ask turtles with [not aware?] [ adopt-bass-model ] ] ;; To Stop model from running forever when broadcast-infleunce is zero if (previous-count = count turtles with [aware?]) and (broadcast-influence = 0)[ stop ] set previous-count (count turtles with [aware?]) tick end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Method to reset the diffusion in same network ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to reset-diffusion reset-ticks ask turtles with [not seed?][ set aware? false set tick-become-aware -2 set color white ] ask turtles with [seed?][ set color orange set tick-become-aware -1 ] set previous-count (count turtles with [aware?]) clear-all-plots end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Method to reseeding the same network ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to reseed-network reset-ticks ask turtles [ set aware? false set tick-become-aware -2 set seed? false set color white ] ask n-of num-seed-informers turtles [ set aware? true set tick-become-aware -1 set seed? true set color orange ] set previous-count (count turtles with [aware?]) clear-all-plots end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Methods to adopt information in Cascade model ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to adopt if random-float 1 < broadcast-influence[ set aware? true set tick-become-aware ticks set color red ] end to pass-adopt let neighbors-unadopted link-neighbors with [not aware?] if count neighbors-unadopted > 0[ ask neighbors-unadopted[ if random-float 1 < influence-rate [ set aware? true set tick-become-aware ticks set color yellow ] ] ] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Method to adopt information in Bass model ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to adopt-bass-model ifelse random-float 1.000 < broadcast-influence [ set aware? true set color red ][ let neighbors-adopted link-neighbors with [aware?] let total-neighbors link-neighbors if count total-neighbors > 0[ if not aware? and random-float 1.0 < (influence-rate * (count neighbors-adopted / count total-neighbors)) [ set aware? true set color yellow ] ] ] end
There is only one version of this model, created over 5 years ago by Anshul Agrawal.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.