This program models the spread of a rumor.  It is a variant of the Rumor.1 model.
The rumor is spread by people who know the rumor telling only those people who 
are their nearest neighbors.  In order 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 how many people know the rumor, where the people who know
the rumor are located, and how many "repeated tellings" of the rumor occur.

The size of the total population for the spread of the
rumor is set by defining a square region for the population using
GRID-SIZE.  A small grid of 10 (i.e., 10 x 10) would define a total population of
	WRAP? is a toggle switch which when set on allows the rumor to
wrap top and bottom and left and right, as if the grid were on a torus.
When set off, the rumor spreads as if the grid were a section on an
infinite plane, without wrapping.
	EIGHT-MODE is a toggle switch between spreading the rumor to one
of four randomly chosen neighbors or one of eight randomly chosen neighbors
at each time step.

	As with any rumor, it has to start some where with some one or more
individuals.  There are three ways to control the start of the rumor.  

1) Press the SETUP-ONE button. This starts the rumor at one point in the center 
of the screen.
2) Press the SETUP-LONG button with INIT-CLIQUE set to a value 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) Press the SETUP-LONG button with INIT-CLIQUE set to 0. Then, select the 
"paintbrush" tool and the color red to paint those individuals who know the rumor.

	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 four plot windows associated with this rumor model. 

RUMOR SPREAD BY NUMBER (1) - plots the number of people who know the rumor at
each time step. RUMOR SPREAD BY PERCENT (2) - plots the percentage of people who
know the rumor at each time step. SUCCESSIVE DIFFERENCES (4)- plots the number of
new people who are hearing the rumor at each time step. SUCCESSIVE RATIOS (3)-
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 two coloring buttons on the bottom of the interface window give you
topographic maps of the screen.  The COLOR-BY-TIME-HEARD button colors the screen
different shades of YELLOW according to the first time that location heard the
rumor.  The COLOR-BY-NTIMES button colors the screen different shades of GREEN
according to the number of times that location has heard the rumor.


	1) Things to Notice
The most interesting models to run are those where you select the location
of a small number of individuals who initially know the rumor.  Choose
three or four individuals to know the rumor and place them on the left half
of the grid.  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, 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.

	2) Things to Try
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.


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.)

Here are two ways to extend the model.  The first extension is to
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?

The second extension to this model would be to 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?

Note the special case code for dealing with even and odd grid sizes.


Rumor.1, Virus, Epidemic.

Thanks to Helen Doerr for inspiration for this model.