Rumor Mill- Sam's Extension
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This program models the spread of a rumor. The rumor spreads when a person who knows the rumor tells one of their neighbors. In other words, spatial proximity is a determining factor as to how soon (and perhaps how often) a given individual will hear the rumor.
The neighbors can be defined as either the four adjacent people or the eight adjacent people. At each time step, every person who knows the rumor randomly chooses a neighbor to tell the rumor to. The simulation keeps track of who knows the rumor, how many people know the rumor, and how many "repeated tellings" of the rumor occur.
HOW TO USE IT
EIGHT-MODE? is a switch that determines whether at each time step the rumor spreads to one of four randomly chosen neighbors, or one of eight such neighbors.
As with any rumor, it has to start somewhere, with one or more individuals. There are three ways to control the start of the rumor:
1) Single source: Press the SETUP-ONE button. This starts the rumor at one point in the center of the world.
2) Random source: Press the SETUP-RANDOM button with the INIT-CLIQUE slider set greater than 0. This "seeds" the rumor randomly by choosing a percentage of the population that knows the rumor initially. This percentage is set using the INIT-CLIQUE slider.
3) Choose source with mouse: Press either SETUP-ONE or SETUP-RANDOM, then press the SPREAD-RUMOR-WITH-MOUSE button. While this button is down, clicking the mouse button on a patch in the view will tell the rumor to that patch.
To run the model, you can either "step" through each time step using the STEP button or allow the model to simply run continuously using the GO button. The model will stop when everyone in the population knows the rumor.
There are three plots:
RUMOR SPREAD - plots the percentage of people who know the rumor at each time step.
SUCCESSIVE DIFFERENCES - plots the number of new people who are hearing the rumor at each time step.
SUCCESSIVE RATIOS - plots the percentage of new people who are hearing the rumor at each time step.
The monitor CLIQUE% is the percentage of the patches that have heard the rumor.
The three coloring buttons to the right of the view give you topographic maps of the world. The COLOR: WHEN HEARD button colors the patches different shades of YELLOW according to the first time that location heard the rumor. The COLOR: TIMES HEARD button colors the patches different shades of GREEN according to the number of times that location has heard the rumor.
THINGS TO NOTICE
The most interesting models to run are those where only a small number of individuals who initially know the rumor. Use the SPREAD-RUMOR-WITH-MOUSE button to make an initial setup where only three or four patches know the rumor, and all of these patches are in the left half of the world. Run your model once with "Wrap" off and then again with "Wrap" on. notice the difference in how the rumor is spread. Which version seems more realistic to you?
Similarly, run the same model in eight-mode and then in four-mode. Before you run the model, try to decide, will this make a difference in the spread of the rumor? Why or why not?
An interesting thing to notice about the spread of the rumor is that the "speed" with which the rumor spreads slows down as more and more people know the rumor. Why is that? How is that related to the number of "repeated" or "wasted" tellings of the rumor? How do the two "differences" plot windows help you to understand the dynamics of the rumor spread?
THINGS TO TRY
Change the shape of the world (by changing the wrap settings in edit World & View) and see how the spread of the rumor changes in a box or a cylinder.
Use SPREAD-RUMOR-WITH-MOUSE to place four "seeds" for the rumor centered in each of the four quadrants of the grid. Notice the pattern of "repeated tellings." Move the four "seeds" closer into the center of the grid. How does the pattern or "repeated tellings" change? Move the "seeds" away from the center of the grid. How does the pattern of repeated tellings change? How will it change if you turn "wrap" on or off?
Explore other patterns of seeding the rumor and its impact on the pattern of repeated tellings.
REFLECTION
The current model shows the spread of a rumor through spatial proximity. In each step, the rumor will spread to one of its neighbors. The model demonstrates who currently knows the rumor, how many people know the rumor, and how many times that the rumor is repeated. In my extended model, I investigate two additional areas: (1) the probability of the people who will continue spreading the rumor and (2) what will happen when the rumor is spread via telephone. The existing model has eight-mode switch; by turning it on, the rumor spreads faster since there are more potential targets to spread the rumor to. It also has the init-clique slider; when its value is more than 0, the rumor will also spread faster since there are more people who already know about the rumor. The part that fascinated me the most is the Successive Differences graph. I realized the speed of the rumor is accelerated in the beginning and decelerated toward the end. This graph shows the rate of spreading of the rumor. The early increase is easy to explain, as more people hear about the rumor means more people spreading the rumor. The deceleration towards the end is because as time goes on, more people have already heard about the rumor, so there are less potential candidates to hear the rumor for the first time. Which means that most people spreading the rumor end up talking to others who have already heard the rumor. The first extension I made is the slider that indicates the probability of people who will continue spreading the rumor. If the probability is set at a 100, everyone who heard of the rumor passes on the rumor. It takes 131 ticks until the rumor is all spread; whereas if I were to set the probability at 50, it will take 218 ticks. If I set my probability at 0, nothing will happen. Instead of spreading the rumor through spatial proximity, I decided to add an option of spreading the rumor through telephone on my second extension. I edited the eight-mode code—spreading the rumor to four of the neighbors—to any random patches (or person). It only takes 25 ticks until everyone knows about the rumor if the probability is set as a 100. When I click the step button instead of the go button, I realized that the rumor spreads exponentially. Another interesting point when switching to telephone-mode is that the chance of telling the rumor to the person who already knows the rumor is very low since we are picking from all potential persons. Whereas with the old eight-mode model, we are only picking from one of the 8 neighbors.
EXTENDING THE MODEL
Here are some suggestions for ways to extend the model.
Introduce physical barriers into the simulation. These spatial barriers would be obstacles around which the rumor would have to spread. One could imagine a room where there was only a one cell entry. How long would it take to reach the entire population in this case? And how would that curve (the function of the number of people who know the rumor versus time) compare to the spread of the rumor when there was no such barrier?
Assign a probability with which the rumor is told. In the current model, each time a person meets his/her neighbor, s/he tells the neighbor the rumor. How would the spread of the rumor change if the telling of the rumor took place only 50% of the time? or 30% of the time?
Currently, person A might keep telling person B the rumor over and over again. Does the rumor spread differently if no one tells the rumor to someone they've already told or someone who told them?
Can you make a rumor model that does not spread the rumor through spatial proximity?
NETLOGO FEATURES
Note the use of the neighbors and neighbors4 primitives to implement 8-mode and 4-mode, respectively.
RELATED MODELS
Virus, AIDS
CREDITS AND REFERENCES
This model is itself an extension of a physical experiment where spatial proximity was not a factor in the spread of the rumor. Contact Helen M. Doerr at hmdoerr@syr.edu regarding papers in preparation. Thanks to Dr. Doerr for inspiration for this model.
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
Wilensky, U. (1997). NetLogo Rumor Mill model. http://ccl.northwestern.edu/netlogo/models/RumorMill. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
Copyright 1997 Uri Wilensky.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.
This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2001.
Comments and Questions
globals [ color-mode ;; 0 = normal, 1 = when heard, 2 = times heard clique ;; how many patches have heard the rumor previous-clique ;; value of clique from last tick, for use in the "successive" plots ] patches-own [ times-heard ;; tracks times the rumor has been heard first-heard ;; clock tick when first heard the rumor just-heard? ;; tracks whether rumor was heard this round -- resets each round ] ;;; setup procedures to setup [seed-one?] clear-all set color-mode 0 set clique 0 ask patches [ set first-heard -1 set times-heard 0 set just-heard? false recolor ] ifelse seed-one? [ seed-one ] [ seed-random ] reset-ticks end to seed-one ;; tell the center patch the rumor ask patch 0 0 [ hear-rumor 0 ] end to seed-random ;; seed with random number of rumor sources governed by init-clique slider ask patches with [times-heard = 0] [ if (random-float 100.0) < init-clique [ hear-rumor 0 ] ] end to go if all? patches [times-heard > 0] [ stop ] ask patches [ if times-heard > 0 [ spread-rumor ] ] update tick end to spread-rumor ;; patch procedure let neighbor nobody ;;find neighbors ifelse telephone? [ set neighbor one-of patches ] [ set neighbor one-of neighbors ] ask neighbor [ if (random-float 100.0) < probability-spread-rumor [set just-heard? true] ] ;;set probability end to hear-rumor [when] ;; patch procedure if first-heard = -1 ;;just heard neighbors [ set first-heard when set just-heard? true ] set times-heard times-heard + 1 recolor end to update ask patches with [just-heard?] [ set just-heard? false hear-rumor ticks ] set previous-clique clique set clique count patches with [times-heard > 0] end ;;; coloring procedures to recolor ;; patch procedure ifelse color-mode = 0 [ recolor-normal ] [ ifelse color-mode = 1 [ recolor-by-when-heard ] [ recolor-by-times-heard ] ] end to recolor-normal ;; patch procedure ifelse first-heard >= 0 [ set pcolor red ] [ set pcolor blue ] end to recolor-by-when-heard ;; patch procedure ifelse first-heard = -1 [ set pcolor black ] [ set pcolor scale-color yellow first-heard world-width 0 ] end to recolor-by-times-heard ;; patch procedure set pcolor scale-color green times-heard 0 world-width end ;;; mouse handling to spread-rumor-with-mouse if mouse-down? [ ask patch mouse-xcor mouse-ycor [ hear-rumor ticks ] display ] end ; Copyright 1997 Uri Wilensky. ; See Info tab for full copyright and license.
There is only one version of this model, created about 10 years ago by Sawaros Thanapornsangsuth.
Attached files
| File | Type | Description | Last updated | |
|---|---|---|---|---|
| Rumor Mill- Sam's Extension.png | preview | Preview for 'Rumor Mill- Sam's Extension' | about 10 years ago, by Sawaros Thanapornsangsuth | Download |
This model does not have any ancestors.
This model does not have any descendants.
Download this model