This is an agent-based model that shows the spread of disease. The user is able to change the
initial amount of the population and the infection rate. If a healthy person is next to a sick
person, there is a chance the healthy person changes into a sick person (infection rate). Also,
healthy people not next to a sick person move randomly part of the time and the other part of the
time they move away from contaminated areas. After a sufficient amount of time, or faster with
rest, a sick person can change back into a healthy person. Lastly, sick people who do not move get
better faster than if they move around.
Background Information
This model shows the spread of diseases that eventually turns into an epidemic because of how
large the population is. Similar to real life when a disease that starts to affect more than a few
people in one area, such as a city, then becomes an epidemic. For example, the swine flu, the
regular flu, and meningitis all started out small but then spread to many people and affected
people from other cities and states. Also, when a sick and healthy person comes into contact, the
healthy person does not become sick immediately. It may take a healthy person interacting with
sick people continuously to become sick. This depends on the infection rate of the disease. This
model also shows contaminated areas in which there is a lot of disease that can infect the healthy
people as represented by a color mapping.
Science/Math
The way the contaminated areas spread in the world is by using the concept, "average of your
neighbors." This means that the world agents average the "sick smell" of the neighboring agents
(top, bottom, left, right) to help diffuse the contamination into the world. Also, the main
modeling concept used is HAVE = HAD + CHANGE where the number of healthy we HAVE is equal to the
number of healthy we HAD plus the CHANGE in the number of healthy people (ie. sick recovering,
healthy becoming sick). This also holds true for the number of sick people.
Teaching Strategies
First, have a discussion with students about various diseases and what is an epidemic. Examples to
show what an epidemic is would be the flu, swine flu and, more historically, the Black Death.
Next, have the students open the model and run it with the default values. Students should run the
model at all speeds to see what is going on in the program. Different infection rates can be
broken down into groups. The groups can be 10, 25, 50, 75, and 90. It will be seen that usually
the higher the infection rate, the faster the disease will spread given a lower mobility and/or a
high enough persistence.
Implementation:
How to use the Model
In this model there are two types of people: healthy (blue) and sick (red). When the sick and
healthy people interact with each other there is a chance that the healthy person will become
sick. Users can manipulate how high or low of a chance that is by moving the slider bar called
infectiousness. The infectiousness of the disease can be 0% to 100%. Users are also able to change
the amount of people in the environment. Mobility is the percent chance the agents are able to
move in the world. Also healthy people will either move away from the contamination areas or will
move randomly. To run the model, click the play button on the bottom of the applet. The user can
adjust the speed of the model using the speed bar located on the bottom in the middle of the page.
To change the simulation attributes (ie. infection rate, mobility, or persistence) click the gray
drop down arrow located on the right side of the page and select, "Simulation Properties."
Persistence is how long the agent remains sick before turning back into a healthy person. For more
information about Agentsheets reference the Agentsheets tutorial
here.
Learning Objectives:
Understand how infection rate affects the model
Understand how the amount of a population and population density affect the model
Objective 1
The infection rate controls the chance of a healthy person becoming sick when they interact with a
sick person. In order to understand the concept of this objective, have students keep the default
population amount but change the infection rate. Have students record the behavior of the program
at infection rates of 5%, 15%, 50%, 75%, and 100%. It will be shown that the higher the
infectiousness rate, the faster the disease spreads as long as the mobility is kept low and the
persistence remains high.
Objective 2
This objective will observe how the population and population density affects how a disease
spreads. Population density is how packed a population is into an environment. In this model, the
higher the population, the higher the population density. Having a higher population is not always
a good representation of population density. For example, 20 people in a small one-bedroom
apartment is a much higher population density than 200 people in the stadium for the Superbowl. To
see how population affects the spread of disease, have students keep the default infection rate
and increase the population amount (by using either the pencil or gray rectangle tool). Have the
students test a low population density, medium and high. The higher the population, the more
people there are to be affected.
Extensions:
Apply this model functionality to other scientific concepts
Add in the possibilities of a sick person dying
Extension 1
This model uses color mapping and the formula, "average of your neighbors" (see Math/Science
section) to depict contamination areas. What other concepts would use similar behaviors? (Heat
maps, radiation/pollution maps, etc.)
What changes would you have to make to the model to turn it into your new simulation?
The purpose of this exercise is to illustrate the ease at which once you learn how to build a
specific model, there may exist similar themes/behaviors that you could apply to other models,
allowing you to build quick duplicates.
Extension 2
Realistically, not everyone who gets sick recovers. Adding in a death rate to the model will make
the model more realistic. The death rate parameter needs to be represented as a global variable so
the user is able to change the rate under the Simulation Properties window. The death rate can be
0% to 100%.
How will this affect the overall population?
Will this reduce the spread of disease?
Did you notice anything unexpected with the model given the new parameter? Are you able to kill
all people within the simulation by simply using an extremely high death rate?
This is an applet where the user starts a fire in one tree and sees how it affects the other
trees. There is the option of resizing the forest, manipulating the burn speed and manipulating
the probability of the trees around the tree on fire to burn.
This is a very basic model that begins with a population of 199 healthy people and one sick
person. When the sick person touches a healthy person they immediately become sick as well. This
model shows how drastic situations can be due to the spread of disease.