Rumor Mill
- Networks
(By Forrest Sondahl, 2005)
The applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4. (Safari works, IE does not. Mac OS X comes with Safari. Open Safari and set it as your default web browser under Safari/Preferences/General.) On other operating systems, you may obtain the latest Java plugin from Sun's Java site.
Created with NetLogo
* Download model:
Rumor Mill - Networks.nlogo
* Download model (updated for NetLogo v3.1.2):
Rumor Mill - Networks-updated.nlogo
* Download model (updated for NetLogo v4.0):
Rumor Mill - Networks-4.0.nlogo
-----------
This program models the spread of a rumor. The rumor spreads when a
person who knows the rumor tells someone they are connect to in their
social network.
Each person is represented as a circle in the network, and the lines
drawn between the circles represent social ties. If there is a line
between circle A and circle B, it means that A and B are good enough
friends that they share gossip with each other.
At each time step, every person who knows the rumor randomly chooses a
friend 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. (Of course, in real life, people probably
remember who they've told the rumor to, and don't tell the same person
more than twice or so...)
HOW TO USE IT
-------------
RANDOMIZE-EDGES? is a switch that determines whether the social network
is a completely symmetrical circle of people connect to the two nearest
people on either side of them, or whether it has been randomized to be
something close to a "small world network". (Using the same algorithm
used in the Small World Networks model, with rewiring probability 20%)
NUM-FRIENDS determines the initial number of friends each person has in
the graph. If RANDOMIZE-EDGES? is on, this will be the average number
of friends each person has, otherwise this will be the exact number.
(Warning: If NUM-FRIENDS = 2, then disconnected networks often result.
The simulation will run indefinitely, since there is no way for the
whole population to learn the rumor.)
SPRING-LAYOUT? is purely a display option. Would you like the network
drawn as a perfect circle, or would you like it spaced out some by
using the "spring placement" algorithm for drawing graphs?
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 random person in the social network.
2) Random sources: Press the SETUP-RANDOM button with the INIT-CLIQUE
slider set greater than 0. This "seeds" the rumor randomly by having
each person have a percentage chance of knowing thing rumor initially.
This percentage is set using the INIT-CLIQUE slider.
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 plot windows associated with this rumor model.
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 - at each time step, plots the ratio of people who
just learned the rumor to people who already knew it.
The monitor CLIQUE% is the percentage of the people that have heard the
rumor.
The three coloring buttons to the right of the view give you
topographic maps of the screen. The COLOR: WHEN HEARD button colors the
network different shades of YELLOW according to the first time that
location heard the rumor. The COLOR: TIMES HEARD button colors the
network different shades of GREEN according to the number of times that
location has heard the rumor.
THINGS TO NOTICE
----------------
There is a significant difference in behavior of this model, depending
on whether the RANDOMIZE-EDGES box is checked. Which is the more
accurate model of how rumors are spread? Which spreads the rumor more
quickly? Why?
With the RANDOMIZE-EDGES box checked:
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?
When you color the graph by the "number of times heard", remember that
you are getting two different levels of information. The color of the
circles tells you how many times the given person has heard the rumor.
The color of the lines tells you how many times the rumor has passed
between these two people. Which are generally brighter, the circles or
the lines? Why?
Look at the colorings of "times heard" and "when heard". There is a
correlation between them. How strong is it, and why does it exist? Are
the differences between the graphs attributably solely to chance, or
are there contributing factors that make one circle more like to be
bright green even if it isn't bright yellow? What about when comparing
lines, instead of circles?
THINGS TO TRY
-------------
Try varying the number of friends each person has. How does this affect
the speed of rumor dispersal? How does it it affect the plots?
Try it with RANODOMIZE-EDGES off, 100 people, 4 friends per person.
Then try with 20 friends per person. Which produces graphs that are
closer to those created when randomness is enabled? Why?
Look at the original Rumor Mill model in the model library. It uses
spatial proximity to demonstrate the spread of rumors. How is the
behavior of this model the same as the original Rumor Mill model? How
is it different? Can you explain the similarities? Which approach
(networks or spatial) do you think is a better one for modeling the
spread of rumors?
EXTENDING THE MODEL
-------------------
Here are some suggestions for ways to extend the model.
- Try using a new algorithm to create the original graph layout,
different from both the symmetrical one, and the "small world" one. How
do rumors spread if your graph is a tree (there is only one path of
friendship between any two given people in the society)? If it is a
complete graph (every people is friends with every other people).
- 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?
- Add mouse support. Make it so that you can use the mouse to choose
precisely which people know the rumor initially.
- Try using a directed graph, instead of an undirected one. i.e. Alice
might tell rumors to Bobby, but Bobby doesn't pass rumors back to Alice
-- he only passes them along to Cynthia.
NETLOGO FEATURES
----------------
This model makes use of the network primitives in NetLogo, to create
non-spatial relationships between turtles.
RELATED MODELS
--------------
Virus, AIDS, Small World Networks
CREDITS AND REFERENCES
----------------------
This model is an extension of the Rumor Mill model from the model
library in NetLogo. Below are the credits and references for that
model.
The Rumor Mill 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.
To refer to this model in academic publications, please use: Wilensky,
U. (1998). NetLogo Rumor Mill model.
http://ccl.northwestern.edu/netlogo/models/RumorMill. Center for
Connected Learning and Computer-Based Modeling, Northwestern
University, Evanston, IL.
In other publications, please use: Copyright 1998 by Uri Wilensky. All
rights reserved. See
http://ccl.northwestern.edu/netlogo/models/RumorMill for terms of use.
Back to Forrest's NetLogo Main
Page.