Rumor Mill
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.
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 Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, 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 ifelse eight-mode? [ set neighbor one-of neighbors ] [ set neighbor one-of neighbors4 ] ask neighbor [ set just-heard? true ] end to hear-rumor [when] ;; patch procedure if first-heard = -1 [ 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 are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Rumor Mill.png | preview | Preview for 'Rumor Mill' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.