Chapter 4

Global Dynamics Emerging from Local Interactions: Agent-Based Modeling for the Life Sciences

David Gammack*, Elsa Schaefer* and Holly Gaff, *Department of Mathematics, Marymount University, Arlington, VA, USA, Department of Biological Sciences, Old Dominion University, Norfolk, VA, USA, [email protected]

4.1 Introduction

4.1.1 Agent-Based Modeling and the Biology Mind Set

Agent-based (or individual-based) models (ABMs) are stochastic simulations built on interactions between individuals in a population (agents) or a set of populations and their environment. The modeler defines an ABM by identifying a set of autonomous agents, each defined by individual characteristics, who interact locally using adaptive behavior that is based on their characteristics, their neighbors’ characteristics, and the local environment. The culmination of the model design ultimately leads to emergence: local interactions leading to global phenomena. Bonabeau writes that agent-based modeling is “a mind set more than a technology” [1]. Indeed, ABMs are particularly helpful because of the intuitive nature of their structure and approach. Biological research seeks to identify truths about biological systems at the most fundamental level. This often involves a great amount of detail that is not easily incorporated into population-level models. Biologists appreciate the ability of the ABM to include intricate details at multiple scales. The rules applied to agents within a model are intuitive analogies to biological interactions. Additionally, ABMs can be built with language that is easily understood, in contrast to modeling efforts that abstract populations and interactions to mathematical constructs.

As we will explore in more detail in Section 4.3, ABM frameworks also encourage repeated simulations mimicking the replication of a typical experimental setup. This parallel helps scientists understand how a model is simulating the experiment and how one can interpret the results. ABMs allow for agents to adapt and grow, which also mimics most biological systems. While error propagation is a concern with many calculations, careful model development and sensitivity analysis can help reduce the likelihood of spurious results from accumulating errors [2]. Overall, ABMs provide a natural translation of biological experiments into computer-simulated models that allow the exploration of research questions and hypotheses beyond what can be done in a lab or field setting because of cost, time, biological or ethical constraints.

4.1.2 A Brief Note About Platforms

Agent-based modeling in its most simple form can be accomplished using human agents performing hands-on experiments. A fun activity is to use colored marbles or beads to simulate a disease spreading through a classroom population (the full details are available in the article by Gaff et al. [3]). These experiments provide a light introduction to the concept of global phenomena that can result from individual behaviors.

4.1.2.1 ABM Modeling Exercise: Disease Spread

Let’s simulate a disease moving through a population. Gather a bunch of beads, marbles, or balls in three different colors. In our explanation, we’ll follow Gaff’s model [3] and assume that blue balls represent people who have not caught this disease, the susceptible people. We will assume that pink balls represent people who are infected with the disease, and we’ll assume that yellow balls represent people who have recovered from this disease, and are now immune from re-infection (see Figure 4.1).

image

Figure 4.1 We use blue, pink, and yellow balls to represent susceptible, infected, and recovered humans in our hands-on agent-based modeling activity.

Each person or pair in the class will conduct a simulation on a population of 20 balls that are hidden in an open container, such as a paper bag. How would the number of infected balls that we start with change the dynamics of how the disease moves through the population? We suggest dividing up as follows:

• Last names that start with A-I, place 19 blue balls and 1 pink ball in the bag.

• Last names that start with J-P, place 18 blue balls and 2 pink balls in the bag.

• Last names that start with Q-Z, place 16 blue balls and 4 pink balls in the bag.

We are going to simulate a disease spreading through a population by moving through a series of chance encounters. We will play a “game” in which each “turn” consists of removing and replacing two balls from our bag, and in this way we’ll mimic a series of chance daily encounters between humans who may be infected with the disease.

For the first turn, without looking, randomly pull two balls out of the bag. If the two balls are the same color, then put them back in the bag. If one ball is blue and the other is pink, replace the blue ball with a pink ball, and put the two pink balls back into the bag.

Exercise 4.1

What assumption are we making when we replace the blue ball with a pink ball? Do you think we should always replace the blue ball with a pink ball when we draw a pink and blue ball together? How else might we create rules for this turn?

Let’s modify our rule for drawing a pink ball and a blue ball together so that some of the disease simulations will assume a lower probability of catching the disease through contact with an infected person.

• If your birthday is in January – June, then always replace the blue ball with a pink ball.

• If your birthday is in July – December, then flip a coin and only replace the blue ball with a pink ball if you flip a heads.

As we take repeated “turns” of drawing and replacing pairs of balls, we wish to simulate disease recovery by periodically replacing a single pink “infected” ball with a single yellow “recovered” ball.

Exercise 4.2

What real-life assumption is mimicked by replacing a pink ball with a yellow ball every 10 turns?

We suggest dividing assumptions for length-to-recovery through the class as follows:

• First names that start with A-I: every 5th turn, before drawing your pair of balls, first replace one of the pink balls with a yellow ball.

• First names that start with J-P: every 10th turn, before drawing your pair of balls, first replace one of the pink balls with a yellow ball.

• First names that start with Q-Z: every 15th turn, before drawing your pair of balls, first replace one of the pink balls with a yellow ball.

At this point, we’re ready to repeat the simulation steps through many “days,” until there are no pink balls left in the cup. Note that if a yellow ball is chosen with a pink or blue ball, no replacements are to be made. At the end of each “turn,” record the number of blue, pink, and yellow balls that are in the bag.

Exercise 4.3

What real-life assumption is mimicked by not replacing the yellow ball with a pink ball when we draw a pink and yellow ball together?

Exercise 4.4

Complete your simulation. How many “turns” did it take for the simulation to end?

Exercise 4.5

What are the agents in this model? What characteristic(s) does each agent have? What are the rule(s) governing the system?

Exercise 4.6

Class project: Compare the results of the simulations as a class. Which of the three choices that guided the individual simulations seemed to most impact the duration and severity of the disease spread, and what are the real-life implications of your observations?

While the activity above makes for a fun day of class, if we introduce repetition of the experiments to correct for chance outcomes or if we introduce new complications to our model and repeat, the activity becomes tedious, and we begin to hope for a piece of software that can easily play the game for us. ABMs can be coded using any object-oriented language, but a number of platforms including SWARM, RePast, or its simplified component ReLogo, and NetLogo, are available that make it easier to jump in and to visualize results without programming skills. These platforms simplify the processes of creating and observing movement through space, formation of patterns among individuals, effects of diffusion and mixing, and evolutionary processes. NetLogo, in addition to being freely distributed online [4], is well documented and easy to learn and use, and is a fine tool for even serious ABM initiatives with the exception of models that are particularly computationally intensive or for which the NetLogo conceptual style of short-term local interactions of agents on a discrete grid is not appropriate [5,6].

The NetLogo library has an extensive repository of biological and other user-contributed models that are useful both as an end-product for classroom simulation/experimentation and as starting-points for the creation of new models. Several examples are included in Figure 4.2, and we will explore several other models following.

image

Figure 4.2 The NetLogo program includes multiple ready-to-use models. Pictured here are (a) a model which shows how a set of simple behavioral rules cause moths to circle a light [72], (b) a model exploring the interlocking spirals found in seeds and petals that occur naturally as the flower grows [73], (c) a model that mimics a disease moving through a population; here the user can control the movements of one individual [74].

The NetLogo environment is not difficult to use. The agents by default are called “turtles” and syntactically one typically begins a command “ask turtles” to perform various actions. Students can learn the language and environment through exploration of the NetLogo library models, but there is also an excellent text by Grimm and Railsback that thoroughly walks a new ABM explorer through model development and the NetLogo platform [7].

Exercise 4.7

Google “NetLogo” to find its Northwestern University homepage, and download the free software onto your computer.

4.1.3 A Brief History of Agent-Based Modeling

Although ABMs became widely popular for computation in the 1990s, their first instantiations were modest. In the 1940s, Von Neumann created a simple grid on paper to emulate a machine whose sole purpose was to copy itself [8]. Each cell in this grid has a state, “on” or “off” (see Figure 4.3). The cell’s neighborhood is defined with respect to each individual cell, e.g., any cell less than two cells away. With each time step, a new generation of each cell’s state is defined using a function of the current state of the cell and the states of the cell’s neighbors. Thus, the cell’s current state influences and is influenced by its neighbors’ states. Global patterns can be found based on the function used to create each new generation of cells. This process is now known as cellular automata.

image

Figure 4.3 An illustration of a basic cellular automata grid.

The next innovation in ABMs is from Conway and his Game of Life [9]. Despite its grand moniker, the Game of Life is a simple zero player game, meaning that its only human input is in its initialization. A grid of Von Neumann’s cells is encoded with some very basic rules concerning the state of the cell, i.e., “live” or “dead”, and the generation function, which, as above, changes the state based on the current state and the state of its neighbors. Despite its simplicity, the Game of Life perfectly demonstrates emergent behavior: patterns and self-organization evolve from simulations of various initial conditions.

Another early pioneer in the development of agent-based modeling is Thomas Schelling, who in 1978 published what is now known as Schelling’s Tipping Model. The model highlighted the process of observing large-scale societal ramifications for the behavior choices made by individuals as he explored the causes of segregation in a society which he perceived to not express outright racism [10,11]. Schelling’s model consists of a checkerboard, with each grid space representing a possible home. The agents can be thought of as red and green turtles that fit onto a checkerboard grid, and who are given an opportunity to move to a new grid space at each time step. The turtle will choose to move if some proportion of its neighbors are not the same color as itself. Schelling found that very low levels of personal preference can lead to the global phenomenon of segregation. Schelling won the 2005 Nobel Prize in Economic Sciences “for having enhanced our understanding of conflict and cooperation through game-theoretic analysis,” an award which Schelling believes was at least in part due to this work [11].

4.1.3.1 ABM Modeling Exercises: Segregation

We can experiment with Schelling’s ideas using the NetLogo Models Library which is located under the “File” directory in NetLogo. There, in the Social Sciences section, we find the model “Segregation,” which is inspired by Schelling’s work on housing patterns in cities [12]. The model consists of green and red turtles who prefer to live near their own kind. The model allows us to choose the number of turtles that we begin with, as well as the percentage of like-turtles that need to be present to keep a turtle from moving. The model reports the average percentage of same-color neighbors for each turtle, as well as the percent of turtles who are forced into an “unhappy” situation of too many turtle neighbors with differing colors. Open the Segregation model, and familiarize yourself with the three tabs “Interface,” “Information,” and “Procedures.” The “Interface” tab is where we run our simulations for this multicolor turtle dilemma. The “Information” tab explains the model’s assumptions and outputs. Finally, the “Procedures” tab shows the code that generates the model. Let’s begin by exploring the model using the Interface tab.

Exercise 4.8

Using the number slider, choose to start with 1000 turtles, and assume that turtles will be happy if at least 20% of their neighbors are their same color by setting the %-similar-wanted slider. Click the setup button, followed by the go button.

a. If this process is repeated three times, will the output change for the percent of same-colored turtle neighbors?

b. What percentage of turtles seem to be happy at the end of each simulation? (Note that sliders should be set as stated in the exercise.)

c. Did the end-proportion of numbers of like-colored turtle neighbors mirror the minimum requirement for each turtle to be happy?

Exercise 4.9

This exercise explores the effect of turtle density to the resulting segregation. How do the output measures change as the number of turtles increases and decreases on this fixed grid? Do not change the assumption of 20% as the %-similar-wanted.

Exercise 4.10

This exercise considers the sensitivity of outputs to the choice of the preference-level of each turtle to have its neighbors be the same color. Return to the setting of 1000 turtles on the grid. By the way, it will be helpful here to notice that the simulation only stops if every turtle is happy. If you want to stop the simulation yourself, just click on the go button.

a. Is it possible to choose a %-similar-wanted level at which some turtles are not happy at the end? If so, about what value of %-similar-wanted seems to be the breaking-point between all-happy and some-unhappy turtles? Also, what is the corresponding end percent of like-colored turtle neighbors?

b. Without running any simulations, conjecture what you think would happen if the turtles were more crowded. How would the results above likely change if we fit 2000 turtles into the same space?

c. Repeat the simulations and analysis from part (a) for the problem with 2000 turtles. Did any of the results surprise you?

The remaining exercises provide an introduction to the syntax within the NetLogo code. Click on the “Procedures” tab. The commands following the phrase to setup in the code for the simulation tell NetLogo what to do when the user clicks the setup button. In this case, we see:

 Ask n-of number patches

 [sprout 1

 [set color red]] Note that number has been defined

 with a specific numerical value elsewhere in the code.

Exercise 4.11

Highlight sprout and click on the Help menu to look this up in the NetLogo Dictionary. What does the command sprout 1 accomplish?

Exercise 4.12

Look up the phrases n-of and set color similarly. What do the three lines of code above accomplish all together?

Exercise 4.13

How does the code determine if a turtle is happy?

Exercise 4.14

How far can a turtle move in a given step to try to find happiness?

Exercise 4.15

Did the assumption of how far the turtles could move have a big influence on results? Would any of the outcomes of this simulation change if the turtle could move as far as 20 units each time? Make this change, and repeat a few of your experiments.

Exercise 4.16

Change the code so that there are only a tenth as many green turtles as red turtles and repeat some of your experiments. Does this make a difference?

Exercise 4.17

What are the agents in this model? What characteristic(s) does each agent have? What are the rule(s) governing the system?

Exercise 4.18

Project: Modify the model code so that there are three colors of turtles. Do any of the conclusions change in this situation?

Another significant contributor to the development of ABMs is Craig Reynolds, who, while he has not yet earned a Nobel prize, does have a 1998 Academy Award for “pioneering contributions to the development of three dimensional computer animation for motion picture production” [13]. In 1986, Reynolds created a computer animation that simulated flocking by having each of his animated birds make its choices for movement based only on the positions and velocities of its neighboring birds, providing a strong illustration of how global properties emerge from local choices. An interesting and unexpected property of his work is the unpredictability of a flock’s motion past short time scales [14]. Reynolds maintains a nice movie and description of the flocking project on his personal webpage [14], where he also provides an extensive list of his and others work in ABM creation and other computational models of group motion.

4.1.3.2 ABM Modeling Exercises: Flocking

An example inspired by Reynold’s work with flocking is also available as a sample model within NetLogo under the Biology models [15]. The model gives each bird the same set of instructions — there are no leaders with unique rules — and yet we observe an emergent flocking behavior as the model runs. There are three sets of rules: alignment, separation, and cohesion.

Exercise 4.19

Open the model and click the setup button. Do you see any pattern in the alignment of the triangles?

Exercise 4.20

In what way(s) do you observe a uniform flocking throughout the grid over time, and in what ways do you see individual variation affecting the global patterns?

Exercise 4.21

What changes can you make to the sliders that increases the global organization of the birds?

Exercise 4.22

Explore the “Procedures”1 tab and give detailed, intuitive descriptions of what is meant by alignment, separation, and cohesion.

Exercise 4.23

What are the agents in this model? What characteristic(s) does each agent have? What are the rule(s) governing the system?

Since the work of the pioneers, agent-based models have been used extensively to explore patterns in biology at various system granularities. The models allow us to consider how the nature of individual variation, including variability in space, demographic variability or life cycle details, phenotypic variation or behavior, experience and learning, and/or genetics and evolution combine to create population-level “emergent” patterns or characteristics. A great resource for many specific examples is SwarmWiki [16]. ABMs are used at the cellular level to understand intracellular signaling and metabolic pathways [1720], cancer [21,22] or infectious diseases [23,24]. At the cellular level, ABMs may be used to model vascular biology [25,26]or acute inflammation [27]. At the organismal level, we may use ABMs to consider disease transmission vectors [28,29], and social and cultural effects and consequences for infectious diseases [30].

In the following three sections, we show how agent-based models may be appropriate for any level of research. In Section 4.2, we walk through the creation of a simple ABM that mimics some of the neuronal connections made in our brains. This is a model that was originally developed by an undergraduate student. We then present in Section 4.3 a more complex model that suggests how the disease cholera might spread through a small village. A more detailed version of this model was developed by a team of undergraduate students, and within Section 4.3 we dive into how we can use the Behavior Space function within NetLogo to replicate experiments. This will allow us to separate the chance events that occur in a single simulation from broader trends that accurately reflect the impact of modifications to the model or its parameters. In Section 4.4, we describe how ABMs are complex enough to support a full-fledged research effort, and we give a quick overview of the way in which such models should be presented.

4.2 Axon Guidance

In this section we will develop a model of axon guidance. The motivation for this comes from an undergraduate honors thesis titled: “Agent-based Modeling of Commissural Axon Guidance along the Midline” by Worku [31].

4.2.1 Background

Healthy brain development in the embryo is, in part, determined by correct electrical and chemical pathways being established. These pathways are used by brain cells to communicate effectively with all the other parts of the brain and the body. The human central nervous system is bilateral; thus the transfer of information between the sides of the body must be conducted across the midline of the brain. Neurons (nerve cells) in the brain have axons that grow away from the cell body (Figure 4.4) and can cross the midline. These axons facilitate communication between cells. To accomplish this, the “head” of an axon (the growth cone) uses filopodia (spikes) that monitor the local environment and uses this information to guide the direction and development of the axon. To be affected by a given guidance cue a neuron must express a specific receptor: think of this as a lock (receptor) and key (guidance cue), the key is useless if it fits the wrong lock.

image

Figure 4.4 Neuron structure.

There are trillions of neurons in the brain, and the complexity of the connections between all the cells is incredible. Therefore, undergraduate research tends to study either a single guidance cue, or a neuron expressing receptors that are thought to respond to a specific guidance cue. The aim here is to investigate complex mechanisms involved in the developing brain, where multiple cues are released and guide a neuron expressing multiple receptors.

To develop an ABM of this (or any) specific system, the researcher must understand the system as a whole, break the system down into its salient features, and then develop an ABM which describes the whole system as the combination of its features. Therefore, one needs to understand the biological domain (axon biology), break the problem down, make assumptions, and then develop and implement a model within an ABM framework.

4.2.2 Understanding the Domain: Axon Biology

Neurons are found in the peripheral and central nervous system and are responsible for a functioning body and mind. They control everything, from the beating of the heart, to pain sensation, to the ability to communicate. The structure of a neuron is shown in Figure 4.4; following is a brief description of the axon components. The trillions of neurons communicate with one another via axons (long nerve fibers) that extend from the cell body to other parts of the brain [32]. The dendrites, finger-like protrusions around the cell body, receive signals from the local environment and pass that information to the cell body, and to other cells via the axon. Axons transmit signals via synapses protruding off the growth cone. The growth cone is a specialized structure that contains receptors enabling neurons to recognize and respond to environmental chemical cues. It continually monitors the environment via filopodia and this information causes it to grow in a particular direction [33].

Exercise 4.24

Open the NetLogo model Diffusion1.nlogo. Answer the following questions (these are also listed in the Information tab for the model):

a. What are the agents in this model? What characteristic(s) does each agent have? What are the rule(s) governing the system?

b. How is diffusion being modeled?

c. What happens to the particles when they get to the edge of the environment?

d. The “Settings…” tab is located near the top of the Interface screen. Alter the “Settings…” so that particles bounce off the walls.

e. Click on the “Procedures” tab in NetLogo. You will see sections of the code with the following form:

;; COMMENT

;; what does this do?

NetLogo Code

;; END COMMENT

For each occurrence, delete the phrase ;; what does this do? and replace it with a clear description of what that part of the NetLogo code does. (This is called commenting your code.)

f. Alter the code so that there is a constant source of 25 particles in the center of the environment (at the origin). Hint: use create-particles.

 ent

In the body, the growth cone responds via four main mechanisms: contact-mediated attraction or repulsion, chemotaxis (attraction up gradients of the cue) or chemorepulsion (repulsion down gradients in the cue) [32]. Contact-mediated responses depend on the amount of guidance cue in the environment and the gradient of the guidance cue. The guidance cues, governing the direction of axon growth, originate and then diffuse out from the midline [34].

There are various guidance molecules that have been identified and divided into different families, namely Ephrin, Semaphorin, Netrin, and Slit [35]. In an effort to create a manageable initial model, we will focus on two types of guidance cues (Netrin and Slit) and three types of neuronal receptors (DCC, UNC5, and Robo 1). Netrin both attracts and repulses axons, depending on the type of receptor on the axon. Axons expressing the DCC receptor are attracted to areas with higher levels of Netrin, which acts as a chemoattractant, whereas axons expressing the UNC-5 receptor are repelled from high concentrations of Netrin, which acts as a chemorepellent [32,34]. Axons expressing the Robo 1 receptor are repelled by Slit. For some axons, the Robo 1 receptor is upregulated once the axon has crossed the midline resulting in the axon being unable to return to the other side [36]. In short, one chemical (Netrin) acts as both a chemo-attractant and -repellant, the other (Slit) acts as a chemorepellant, with both of these being dependent on the receptor(s) expressed by the neuron. A schematic of the known responses of different growth-cone types is shown in Figure 4.5.

image

Figure 4.5 Diagram of the growth cones modeled. Netrin and Slit are produced at the midline and then diffuse into the rest of the environment. There are four growth cones that will be modeled, three of which have known responses: a - attracted over the midline (by Netrin) and then repelled away from the midline (by Slit); b - repelled from the midline (by Netrin and Slit); c - repelled from the midline (by Netrin, when concentration is large enough); d - unknown. (Adapted from: Evans and Bashaw [75])

Certainly the description above represents a significant simplification. Axons usually have more than one kind of receptor, and there are multiple guidance cues. For example, one axon might express both DCC and Robo 1 receptors, and it will behave according to a combined response to the multiple cues.

Exercise 4.25

Open the NetLogo model Diffusion2.nlogo. Answer the following questions after reading the code in the “Procedures” tab.

a. What is the difference between diffusion in this model and the model in Diffusion1.nlogo?

b. Fill in all the sections requiring comments.

c. Use the find-gradients command to make the agents move up positive gradients of particles (chemotaxis).

d. Use the find-gradients command to make the agents move down negative gradients of particles (chemorepulsion). ent

4.2.3 Breaking Down the Problem

An essential part of research is being able to take complex phenomena and break them down into their most important attributes. ABMs require the hard coding of how agents interact with each other and their environment, which forces the developer to restrict the information to its most important features.

In the following exercise you will develop the assumptions that will help build the agent-based model to study the unknown response of a neuron to given guidance cues. The guidance cues diffuse out from the midline of the brain, therefore the rate of diffusion of these cues is an essential parameter of the system.

Exercise 4.26

Make sure you refer to §4.2.2 to help answer these questions.

a. What are the environmental features?

b. Which part of the biology should be identified as the agent?

c. How should the agent interact with the environmentent

These assumptions can now be transferred into an ABM.

4.2.4 Constructing a Model of Axon Development

Figure 4.6shows output from the model of Worku, taken from her Honors Thesis “Agent-based Modeling of Commissural Axon Guidance along the Midline” [31]. The midline is represented by black and gray circles which indicate where Netrin and Slit are produced. The four bug shaped agents (a–d) represent the four types of growth cones discussed earlier, see Figure 4.5. A basic simulation, where a single axon of each receptor type is modeled, can be seen in Figure 4.6, and the results can be summarized as follows:

a. growth cones which initially express only DCC receptors are able to cross the midline, whereupon the Robo 1 receptor is expressed, restricting the growth cone to the opposite side of the midline and repulsing it away.

b. growth cones expressing both UNC5 and Robo 1 receptors are repelled from the midline and grow away from it.

c. growth cones expressing only the UNC 5 receptor move randomly until they are close to the midline (where the Netrin levels are high) whereupon the guidance cue gradient repels the growth cone.

d. growth cone expressing both DCC and Robo 1 receptors initially moves toward the midline, then away.

image

Figure 4.6 Basic view of the Agent Based Model. On the left is the initial setup with black and gray circles representing Netrin and Slit sources and bug-like shapes (agents) representing the four growth cone types a–d, labeled as in Fig. 4.5 and §4.2.4. The right hand picture shows the results of a single run of the code (see text for information).

Before you proceed with building a model on axon development, let us recap some of the assumptions we have made:

• the agents in the ABM mimic the behavior of the developing axons, see exercise 4.25;

• the diffusion of Netrin and Slit is modeled via the diffuse command in NetLogo, see exercise 4.25;

• the response to the chemicals is dependent on the type of axon, see exercise 4.26.

There are some important aspects of the biology that we have not yet worked out how to code in NetLogo, for example:

1. tracking the path of the axon (the agent): we need to visualize the path of the developing growth cone (the agent) because it needs to represent whole neuron (cell body, axon and growth cone, see Figure 4.4);

2. contact-mediated chemo-attraction/repulsion (this requires there to be “enough” chemical in the environment before the axon will respond to gradients);

3. in some cases, the axonal response changes once the axon crosses the midline (see axon a in Figure 4.5);

4. how can the simulation be stopped? (We do not want the simulation to carry on indefinitely.)

Exercise 4.27

Tracking the path of the axons:

a. Which command traces the path of an agent? (Hint: search for pen in the Netlogo dictionary.)

b. Use the command from (a) in Diffusion2.nlogo to display the paths of the agents. (You should probably restrict the number of agents to 5.) ent

Exercise 4.28

Contact-mediated movement:

Adapt your program so that the agent only responds to chemical gradients when there are at least 10 particles the agents patch. (This mimics contact-mediated chemotaxis.) ent

Exercise 4.29

a. Adapt your program so that a single agent starting at (30,0) is attracted up gradients of the “chemical.” However, when the agent crosses image the response changes and the chemical acts as a chemorepulsant.

b. Alter the code so that you can change how fast the agent moves. ent

Exercise 4.30

Stopping the code:

Look up the stop command and use it to stop the simulation after 500 ticks. ent

Exercise 4.31

In this question, you will develop code that models two axons that (due to differences in their receptors) respond react differently to the effect two chemicals in the environment. Use your previous work to create a program to the following specifications:

a. There are two (C1 and C2) chemicals, with sources at (0, 10) for chemical C1 and at (0, −10) for chemical C2, both of which have diffusion rates that are user-defined via a slider.

b. There are two agents:

The first agent starts at (30,10) and reacts to chemical C1 via chemotaxis and is unaffected by chemical C2. The second agent starts at (30, −10) and initially acts in the same way as the first agent. However, when this agent crosses the middle of the environment (image) the response switches and the agent no longer responds to chemical C1 and is chemorepulsed by chemical C2. ent

Exercise 4.32

Project: Construct a model of axon guidance.

Important aspects that you will need to include are: A midline where there are two sources of chemical (C1 and C2) that can act as chemoattractants/chemorepulsants.

• C1 and C2 both diffuse through the environment.

Four types (A-D) of axon (agent) that act in the following ways:

• type A: attracted to C1, until it crosses the midline, then repulsed by C2

• type B: repulsed by C1 and C2, however the repulsion by C2 is contact mediated

• type C: repulsed by C2 (contact mediated)

• type D: attracted to C1, repulsed by C2

Make sure there are sliders for the diffusion rates. (A slider can be added using Button on the NetLogo Interface: an example can be found in the model Diffusion1.nlogo.) ent

4.3 An Agent-Based Model for Cholera and the Importance of Replication

Cholera is a diarrheal disease caused by human ingestion of the bacteria Vibrio cholerae, a bacteria that can live in environments that lack proper sanitation. An outbreak typically begins through contact with a contaminated water source, but becomes amplified by a fecal-oral spread among humans [37]. The rapid dehydration that accompanies a cholera illness can lead to death within a few hours if not treated. Cholera causes millions of illnesses each year, and leads to more than 100,000 annual deaths worldwide, primarily in countries which lack the infrastructure to provide clean water and adequate sanitation [38]. As an illustration of how an ABM might be used to implement the scientific method, we consider the setting of an outbreak of cholera in a small village, such as one in a developing African country, and the hypothesis that household cleaning can stop an outbreak from growing in a village even while the water supply remains contaminated [39]. In exploring the hypothesis, we first describe our physical space — we create a landscape with divisions, e.g., households, schools, markets, etc., needed to simulate a village as well as the water supply that is contaminated with the cholera-causing bacteria. We then create our “agents,” the humans inhabiting the space, and define daily activities of these agents within the village according to household, gender, and age. We incorporate the ways in which the cholera-causing bacteria might spread through the community as a result of fecal-oral contamination, including rules for how humans become infected and how they in turn may contaminate their environment. From these relatively intuitive rules, a simulation is built from which global properties of the disease spread emerge. Once satisfied that our basic simulation matches what is known about the dynamics of cholera, we can explore options for decreasing the course of the disease. In this ABM model, we introduce of household sanitation. We can test whether this household change was able to affect the village-wide measure of numbers of people who become ill. Because of the probabilistic nature of each simulation, each model experiment is repeated many times to determine the “average” baseline behavior and the “average” improvement with the sanitation effort.

4.3.1 Model Description

In the online materials we have included the NetLogo file “cholera.nlogo” which is the result of the discussion herein. It may be helpful to open this file in NetLogo while working through the model description that follows.

For the purposes of this initial exploration, we consider a simplified setting of three extended households and one common space for our “village.” We additionally make the simplification of ignoring gender- and age-specific activities or behavior. We will assume that the village shares a water source that is contaminated with cholera. The level of contamination can be varied in our simulations using the slider-set parameter environmental-reservoir. Each household visits the water regularly, and each household member is in contact with the contaminated water at “dinner.” Each household has a sleeping area and a latrine area, and its residents are identified by a common color. The configuration described above is also pictured with a simulation screenshot in Figure 4.7.

image

Figure 4.7 This figure shows a partial screenshot from the NetLogo simulation screen of the cholera model. The sliders on the left represent input parameters that can be altered by the user. The graphic shows three households sharing a common space. Each household obtains its water from an environmentally contaminated water source. Each household has a sleeping, eating, and latrine area and set activities that combine pre-determined placement with random movement. Patch colors show the current level of bacterial contamination; bright to dark patches show the concentration. In the color version seen during a simulation or in the online version of the text, pink shows highly infectious bacteria and green shows less-infectious bacteria.

Cholera is known to spread in several ways [37]. There is generally a small chance of contracting cholera from the local water supply. In fact, with the baseline choices of parameters chosen for our simulation, the model generally runs for many “days” before any inhabitants become infected. However, it is known that once one or two people in a village contract cholera, they become active spreaders of the bacteria as a result of shared contact with household objects and linens, and even by amplifying the environmental contamination of the water supply due to a lack of sanitary latrines [37]. Additionally, researchers have shown that the bacteria coming from freshly shed feces, waste less than 5 h old, may be 700 times more infectious than is the bacteria in the water supply [40]. We refer to the bacteria in this 5-h window as being highly infectious.

Our model only considers the spread of bacteria through the environment as humans move about, and ignores the potential for amplification of the contamination of the water supply. The model watches humans moving through interactions with their environment in 5-min timesteps. We assume that humans who have cholera may leave behind highly infectious bacteria in the spot where they stand with probability prob-spread. Humans who encounter a spot that has been contaminated by the water source or by infected or contaminated humans have the same probability prob-spread of picking up the bacteria and moving it to another spot. Each time step, only rate-bacteria-remain of the bacteria survive, so gradually the contamination fades from the grid patches as well as from the humans in the grid. Each grid block’s color shows the contamination levels: the high-infectious patches are white–pink when they hold the maximum-allowed concentration of bacteria, and they shift to dark-pink as the concentration fades. Likewise, the patches contaminated with less-infectious bacteria move from white-green to dark-green as the concentrations fade. The patch colors showing contamination can be observed during a simulation or in the online color version of the text, and a grayscale version can be seen in Figure 4.7.

The model assumes that humans contract the disease through contact with a patch that has been contaminated with bacteria. The likelihood of contracting disease is found through the product of the contamination level of the patch and the slider-set parameter prob-inf. Due to the difference in infectivity of the freshly-shed bacteria, the probability of infection from contact with a patch that has only the low-infectious bacteria is found by dividing the product above by 700. The current value for that slider has been chosen with other initial slider values so that some, but not all, humans become infected in our baseline experiments. Humans are pictured as red in the simulation once they are infected. Recovered humans are immune, and are pictured as white. Since the disease is transmitted through shared contact with patches, we hypothesize that the amount of time the residents spend in the common space versus in their individual homes might contribute to the spread of disease, and this is regulated with the slider time-in-common. We additionally hypothesize that human density could be a significant factor. Since shrinking the NetLogo grid requires significant re-coding, to increase density in our experiments we must change the population size. The number of humans in each household is set by the slider num-in-house. Finally, we suspect that the amount of individual movement would also change the likelihood of cross-contamination of patches and thus the number of infections. This parameter is adjusted using the slider prob-mvmt.

There are several unknown parameters that may have great impact on the dynamics of a cholera outbreak. The parameters are often not known because the regions of the world affected by cholera are those with little infrastructure and few resources for the careful study and recording of outbreak data, but additionally the bacteria mutate and do not behave in the same way in all outbreaks [37]. Hence, a key motivation for an agent-based study of cholera is to gain insight into the significance of the choice of various ranges of parameter values, and to better understand how daily activities might contribute to the spread of cholera.

A parameter of debate is the proportion of people who may be infected with cholera and show no symptoms [37,41,42]. Those with asymptomatic infections are most likely ill for less time than those with symptoms; however, because they are not suffering, they are moving around more within their population and may have a greater opportunity to spread the bacteria. Our agent-based simulations will give us an opportunity to explore under what conditions having a high number of asymptomatic illnesses might increase or decrease the spread of disease. The model assumes that that humans who have symptomatic cholera are spending all of their time in the household, and most of that time near the latrine, as pictured in Figure 4.7, while those who have asymptomatic illnesses leave the house along with other villagers during common times. We will vary the parameter asymptomatic-prob to discern the effect of asymptomatic disease sufferers. Additionally, while there is varying information about the length of time a human will be sick with cholera — anywhere from 1–2 days to 1–2 weeks and set by our slider days-sick, most certainly, asymptomatic infections are significantly more brief. We may vary ratio-asy-days to see if a smaller length of illness for asymptomatic infected humans changes our conclusions.

Finally, the slider-set parameter clean-likelihood will allow us to test our main hypothesis which that some level of individual cleaning could control an outbreak of cholera even in the case that the local water remains contaminated. Some examples of individual household cleaning include frequent washing of hands, household objects, and linens, and the levels of clean-likelihood can reflect typical adherence to the rules for cleaning.

4.3.2 ABM Modeling Exercises: Cholera and the NetLogo BehaviorSpace

We begin with a series of exercises that will help us understand the behavior and sensitivities of our model as the parameters change value. We suggest that all students complete exercises 4.33, 4.34, 4.35, and for the remaining exercises, either divide the tasks among the class to report back to the groups as a whole, or allow students to refer to the online file “Master Summary of Simulations.pdf” to interpret the results of the simulations requested. These exercises are time-consuming if students are required to perform all simulations, but otherwise take only a minute or two to consider.

Exercise 4.33

Download our cholera.nlogo model from the textbook’s online materials. Observe the “Interface” tab. In addition to the slider-set parameter values we discussed previously, you will see eight gray boxes at the bottom of these screen. These are “Monitors” allow us to display the values of any expressions, such as the number of agents which have a certain characteristic. Click “setup” and then “go,” and stop the model after about 100 days have passed. How much variation do you observe in the reported values in the gray monitor boxes as you run the simulation a few times? ent

In a single simulation, the results depend on the probabilities of where each agent moves, and the probabilities of each agent picking up, spreading, and/or becoming infected with bacteria. While we can observe general behaviors by observing a series of disease simulations, we cannot draw firm conclusions about specific quantitative measures of the spread of the disease (as measured by the numbers in the gray boxes) based on a single simulation, or even based on several simulations.

Fortunately, NetLogo has a terrific tool built in that allows us to repeat and record multiple simulations while we step away from the computer. We will use this tool, the BehaviorSpace, to carefully analyze our model.

Exercise 4.34

From within the cholera model interface, click on “Tools” followed by “BehaviorSpace,” and in the window that pops up you will see a number of experiments that we have already created. Click on the top experiment, baseline experiment, and click the “Edit” button (see Figure 4.8a). Here is a detailed list of the options we will use in the “Experiment” interface that pops up (see Figure 4.8b):

• In the box that follows the instructions “Vary variables as follows” we have already listed all values that we want to hold for our baseline experiment.

• To the right of “Repetitions,” we have entered 100, because you typically need at least 100 repetitions so that the average of the quantitative results do not reflect outlying individual simulations. However, it takes a long time to run 100 simulations on most normal computers, so you might want to change this to from 100 to 10 here and following since we are only exploring and learning, and not trying to produce scientific results.

• Under the heading “Measure runs using these reporters” we have listed the variables that we measure in the gray boxes on the interface screen. You will not need to modify these.

• We do not check the box for “Measure runs at every step.”

• To the right of “Time Limit” we’ve entered 28800 which is how many 5-min intervals are in 100 days.

Click the “OK” button at the bottom of the “Experiment” interface, which returns you to the “BehaviorSpace” interface. Click the “Run” button while the baseline experiment is still highlighted. When you come to the “Run options” box (see Figure 4.8c), you should uncheck the “Spreadsheet output” box and check the “Table output” box. Ignore the third box, and click the “OK” button. This will take you to a box where you can save your file. We recommend giving the file a name and folder you will remember and be sure to add the extension .csv (see Figure 4.8d). Once you are finished saving the file, you finally make it to the interface “Running Experiment.” Go ahead and move the speed slider to the right (fastest) and uncheck “Update view” and “Update plots and monitors” (see Figure 4.8e). At this point, you just wait for your simulations to complete. ent

image

Figure 4.8 These screenshots illustrate the steps for using NetLogo’s BehaviorSpace to run multiple simulations. We edit the baseline experiment (a); observe the input parameters, the number of repetitions, the output measures, and the time limit (b); run the experiment and select Table output (c); save the file with an easy name, a nice folder, and a csv extension (d); and select the fastest speed with no updates to allow the simulations to run (e).

Exercise 4.35

After the simulation is complete, open the file you’ve created in a spreadsheet software such as Excel, OpenOffice Calc, or Google Spreadsheet. We suggest that you save the file within your spreadsheet software at this point so that you don’t lose the work that follows. The spreadsheet has columns for all of the input and output variables that we set up in the BehaviorSpace. We want to calculate the averages of the output measures so that we have a basis for comparison in the exercises that follow. The following instructions assume that you ran 100 simulations, and you should modify them accordingly if you chose to run fewer. Click your mouse on the cell B110. Type  = average (B8..B107). Obviously, you did not need to average this value because it is the same in all runs, but now we can copy that formula over to the columns where it is needed. Click and hold your mouse on the small dot that’s in the bottom-right corner of cell B110, and, still holding the mouse button, drag your mouse over to cell U110. Release and you’ll see that you have copied the formula across all rows. Save this file for future reference. Compare the results of these averages to the simulations that you ran in Exercise 4.33ent

Exercise 4.36

Redo the previous two exercises so that you have new averages from a new set of simulations (or compare the results of your simulations to our results in the outline materials accompanying our chapter). How much variation is there between the two sets of runs, and in the case where the input parameters differed, what kind of difference in outcome values would you need to see to be convinced that the end behavior had truly changed? ent

Exercise 4.37

There are a number of experiments pre-programmed into the BehaviorSpace. Because the individual repeated simulations are time-consuming, it is most helpful to divide these experiments throughout the class so that results can be compared as a whole. Each experiment should be run following the instructions above, and then averaged, using a modification of the spreadsheet instructions. You’ll see that column A, [run number], often has its entries a little scrambled, and as a result, when multiple experimental values are used, the spreadsheet sometimes ends up with rows that need to be moved so that all like-values are listed together. Be mindful of this task before averaging the experimental results as you complete any exercises below.

a. Run the experiment effect of environmental-reservoir, and create a spreadsheet that contains only the header row, and the averaged output from each separate reservoir value, including the baseline averages. (The command paste special-values in spreadsheet is helpful here to copy the averaged values and not the formulas.)
What does this slider change, in real-life terms, in the simulation? (In answering this question, it may be helpful to both look at how environmental-reservoir is defined in the Procedures as well as to watch portions of several simulations in which differing values for environmental-reservoir are chosen.).
What effect, if any, did changing the reservoir value have? What would happen if the reservoir value was set to 0?

b. Run the experiment prob-mvmt-exp, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What does this slider change, in real-life terms, in the simulation?
What effect, if any, did changing the movement slider have?
How can you make intuitive meaning of this perhaps surprising result?

c. Run the experiment population size, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What slider does this experiment change?
What conclusions can you draw from this experiment?

d. Run the experiment effect of time-in-common, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What does this slider change, in real-life terms, in the simulation?
What effect, if any, did changing the time-in-common slider have?
Do you think the effect is significant?

e. Let’s see if the results are the same above if the village is more crowded. Click the mouse on the experiment effect of time-in-common, but before you run the experiment, edit it and change the value of num-in-house to 40. Run this new experiment. Of course, more will be sick than before because there are more people, but is it a greater percentage? Also, does the slider effect of time-in-common have any more impact now? Any thoughts?

f. Run the experiment rate-bacteria-remain, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What does this slider change, in real-life terms, in the simulation?
What conclusions can you draw from this experiment?

g. Run the experiment prob-inf, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What does this slider change, in real-life terms, in the simulation?
What conclusions can you draw from this experiment?

h. Where might there be some gaps to the numbers suggested for prob-inf. Modify the experiment to include a few needed values (and do not repeat the values for which you have already run simulations). How did this improve your understanding of the choice of values for this parameter?

i. Run the experiment asymptomatic-prob, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. Why might increasing the probability of asymptomatic cases cause the spread of disease to slow? Why might increasing the probability of asymptomatic cases cause the spread of disease to increase? What is the actual result of changes to the probability of asymptomatic infections?

j. Run the experiment prob-spread, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What does this slider change, in real-life terms, in the simulation?
What conclusions can you draw from this experiment?

k. Run the experiment days-sick, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What does this slider change, in real-life terms, in the simulation? What conclusions can you draw from this experiment?

l. Create an experiment by choosing Duplicate with the experiment baseline experiment. Set random-mvmt to be true. Run the experiment. What does this change in real-life terms, and what do the results suggest about the household and common space boundaries and individual behaviors?

m. Create an experiment by choosing Duplicate with the experiment baseline experiment. Set dinner to be true. Run the experiment. What does this change in real-life terms, and what do the results suggest about the importance of creating the dinner space as it is?

 ent

Let’s now turn to the main hypothesis. If individuals clean in their homes, could that slow or end an outbreak?

Exercise 4.38

Run the experiment clean-likelihood, and create a spreadsheet that contains only the header row, and the five averaged output rows for each separate movement value. What exactly does this slider change, in real-life terms, in the simulation? What conclusions can you draw from this experiment? ent

Exercise 4.39

Modify the experiment clean-likelihood to set Purple-Cleaning-Only to false. Run the experiment, adding the value originally covered by the baseline experiment. Does one clean household prevent illnesses in the other households? Can one clean household have the same impact as three clean households? Explain. ent

Finally, there are numerous changes that could be made to the simple model for cholera, with or without consideration of the question of cleaning.

Exercise 4.40

Save the NetLogo cholera file with a new name, and modify the code so that individuals with symptomatic cholera are only confined to the home, and not constantly heading for the latrine. Rerun the baseline experiment with the new behavior. Does the in-home behavior of symptomatic individuals affect the outcome measures? ent

Exercise 4.41

Save the NetLogo cholera file with a new name, and modify the code so that the Purple household always begins with one turtle who is infected and symptomatic. Run the baseline experiment twice: once with the environmental-reservoir at 50 and once with the reservoir at 0. Compare to the original baseline, and discuss the results. ent

Exercise 4.42

Modify the assumptions for cleaning so that individuals clean where ever they roam, and not just inside the home. Does this change make any difference to the conclusions in Exercises 4.38 and 4.39ent

There are a number of complications you could add to the model for a much more in-depth project, such as increasing the number of households or including genders and ages within the households, with appropriate activities such as markets and schools. These would be appropriate to consider as part of a long-time-frame project that compares results with those already discovered within the exercises.

4.4 Use and Description of ABM in Research: Tick-Borne Disease Agent-Based Models

ABMs provide a powerful tool for research at all levels including undergraduates. As part of a research project focused on understanding the dynamics of ehrlichiosis, a human tick-borne diseases, an ABM was created and published [29]. This model was used as the basis for building a more complex ABM to explore another tick-borne disease, Rocky Mountain spotted fever, by an undergraduate student as part of a summer research program working with Gaff [43]. Here we provide a basic overview of these two models as an example of the use of ABM in a research-focused project as well as how ABM can be reported for publication.

Vector-borne diseases are spread through ticks, mosquitoes, and other arthropods. In the US, tick-borne diseases are the most common arthropod-borne disease and have been for many years [44,45]. Risk of tick-borne disease, e.g., Lyme disease (Borrelia burgdorferi), Rocky Mountain spotted fever (Rickettsia rickettsii), Tidewater spotted fever (Rickettsia parkeri), and ehrlichiosis (Ehrlichia chaffeensis), is a combination of expected frequency of encounter with a competent vector and the prevalence of disease within that vector population. Predicting either of these factors is a task well suited for mathematical modeling and simulation.

In order to understand many of these diseases, we must come to understand the underlying dynamics of the tick populations themselves [46]. Unlike other arthropod vectors, ticks have a unique life history that significantly impacts the prediction and control of tick-borne diseases. The majority of tick species in the United States are classified as hard-bodied ticks (Ixodid). These ticks have four distinct life stages: egg, larva, nymph, and adult. For the three latter stages, ticks will quest, i.e., seek a single vertebrate host for a bloodmeal that will last several days. If successful in obtaining a complete bloodmeal as a larva or nymph, these ticks will then remain dormant for months to years before emerging as the next life stage to quest again. All adult female ticks and some adult male ticks require a bloodmeal before reproduction and death. Every tick species has a different set of preferred hosts for each life stage, different strategies to find hosts, different lengths of time between life stages and different competence for transmissible pathogens. For example, Ixodes scapularis, the black-legged tick, prefers rodents for a larval meal, medium-size mammals for a nymphal meal, and deer for the adult meal. This life history pattern creates unique temporal scale patterns that are also dependent on off-host survival factors such as weather and predation.

A number of types of models have been used to look at tick-borne diseases including differential equation-based models [4749], age-structured difference equation models [5057], GIS models [5860], and others [61,62]. While each of these models are helpful to investigate the dynamics of tick and tick-borne diseases, they all use a population approach with generalized mass-action interactions between ticks and their hosts, ignoring many of the unique features of the tick life history. An agent-based model provides the ideal tool to test the validity of population-level models for ticks. The two preliminary models, TICKSIM and RMSF-SIM, presented here are described in more detail in Gaff [29] and Tillinghast and Gaff [43], respectively. TICKSIM models ehrlichiosis while RMSF-SIM models Rocky Mountain spotted fever.

4.4.1 The Model

One challenge of ABM is the lack of standardization in published descriptions of ABM, but Grimm and coauthors have attempted to solve this with a careful set of instructions first established in 2006 [63,64] and revised in 2010 [65]. This provides a standard framework for reporting described as the “Overview, Design concepts, and Details (ODD)” for a given model. This example follows the ODD protocol which consists of seven elements. The first three elements provide an overview, the fourth element explains general concepts underlying the model’s design, and the remaining three elements provide details. In the overview, one states the purpose of the exploration and the basic spatial and agent-behavior assumptions. The design concepts explore complexities within a model, including basic assumptions underlying the design, emergence of global traits from individual behaviors, adaptive traits that have been assigned, and changes in states that occur by sensing surrounding locations or agents. The details are primarily parameter and initial values for the ABM. While many of the details may seem trivial, these details along with the rest of the ODD protocol provide the recipe for reproducibility of results.

4.4.2 Purpose

The main purpose of both models is to explore disease dynamics in a model that includes the explicit life history characteristics of ticks and hosts at an individual level. The results demonstrate the potential for spatially and temporally varying risk of disease. TICKSIM is a very simple model used to demonstrate the ability of an agent-based model to simulate ticks and tick-borne diseases. RMSF-SIM builds on TICKSIM to add host dynamics including predator–prey interactions and environmental sensing.

4.4.3 State Variables and Scales

In TICKSIM, two populations are considered: ticks and hosts which are loosely modeled after the lone star tick, Amblyomma americanum, and the white-tailed deer, Odocoileus virginianus. The environment is a series of patches of equal quality with wrapping boundaries, i.e., agents moving off one edge will reappear instantly on the opposite edge. In the refined model RMSF-SIM, three populations are considered: ticks, predator hosts, and prey hosts. The parameter values of the tick populations are based on those of the American dog tick Dermacentor variabilis while the predator and prey agents are generic animals. The tick agents feed on the prey animals, an assumed smaller animal, for a bloodmeal as a larvae and nymphs and feed on the predator animals as an adult. The environment is a series of patches with mix of forest, a safe home for all host agents, and grassland, the primary food source for prey host agents, with reflecting boundaries. Reflecting boundaries are more biologically realistic as they represent physical boundaries that prevent movement out of or into the system.

For both models, each tick agent has a unique identification number, sex, age, location, life stage (egg, larva, nymph, adult), time in current life stage, infection status (susceptible, infectious), current activity (resting, questing, feeding, laying eggs (females) and hosts (list of all hosts used for blood meals). For TICKSIM, host agents have a unique identification number, age, list of all ticks current on the host, list of all ticks ever on the host and infection status (susceptible, infectious, immune). For RMSF-SIM, host agents also have an energy level and safety level.

4.4.4 Process Overview and Scheduling

The model follows the same steps every day of the simulation as shown in Figure 4.9. The mortality of ticks is based on the time of the year with higher probabilities of death in the winter and summer. If a host dies, all ticks on that host are also assumed to die. The host is also immediately replaced to maintain a constant host population.

image

Figure 4.9 Flow diagram for TICKSIM and RMSF-SIM models.

The RMSF model follows the same steps of every parameter execution and resulting day-to-day cycle (see Figure 4.9). The mortality of ticks is based on the time of the year with the highest probabilities of death in the winter and summer. Unless otherwise stated within the table of parameters, all parameters are kept static to ensure that the destabilization or success of the disease is due to inherent characteristics of itself and not the ecosystem being unable to supply due to its own inherent breakdown or unrealistic overabundance of a resource.

4.4.5 Design Concepts

The tick agents in both models can sense hosts to use for blood meals but still only have a small probability of actually successfully attaching to that host. The density dependence for ticks is only indirectly implemented by giving a maximum number of ticks per host as assigned for each host species.

In TICKSIM, the hosts simply move randomly around the uniform grid of patches. In RMSF-SIM, the forest patches serve as home for host agents but has no food. The grassland has a variable amount of food available depending on the time in the year and the consumption by prey agents. The system for both models is closed.

In RMSF-SIM, there is an additional layer of interactions for a predator–prey relationship between the two host species. The ABM tracks three variables that govern each host’s activities: age, energy, safety. The probability of death from other environmental causes increases as a function of age for both predators and prey. Both predators and prey must maintain a set energy level to prevent starvation. Energy is lost over time and through movement, and is gained through food. Safety is a measure of time spent away from the home area in the forest. All host agents have to navigate back to their home area on a regular basis. Host agents are kept at a constant population through replacement of a new agent for every death. Finally, in RMSF-SIM, predator and prey agents emits a “scent” as they move through the environment. This allows predators to navigate toward a prey while prey will move away from predators.

The tick agents are the primary vector of the disease. TICKSIM is based on the dynamics of Ehrlichia chaffeensis. For both models, there is no direct host-to-host transmission of the disease so all disease in hosts is from the ticks. RMSF-SIM models Rickettsia ricketsii, which is able to be transmitted from an infected female tick to the eggs she lays. Every successive generation that is born carrying the disease has their respective egg-laying capability cut to one-third of total capacity for three generations. For more information on disease models, see Chapter 6.

4.4.6 Input

For TICKSIM, each simulation is initiated in a uniform 25x25 patch grid with an initial 100 hosts randomly spread across the grid. The probability that a given host will start the simulation infected is 0.1. Additionally, 1000 ticks are randomly spread across the grid. The probability that a given tick will be infected is also 0.1. The simulations are assumed to begin on June 1, at which time larval stages would not be present, and thus the initial ticks are split into adults and nymphs with approximately 100 adults and 900 nymphs. All other parameters are given in Gaff [29].

For RMSF-SIM, each simulation is initiated in a divided 40X30 patch grid of one fourth forest and three fourths grassland with an initial 75 predators and 500 prey spread randomly across the grid. Additionally 15,250 ticks (10,000 eggs, 5000 larvae, 250 nymphs) are randomly spread across the grid. The simulations are assumed to begin on January 1, at which time adult stages will not be present.

4.4.7 Simulation Experiments

An example experiment of TICKSIM was used to explore the possibility of the establishment of a new tick population into a completely naive area. From this simulation, it can be shown that as few as two nymphs dropping off in a given area can establish a new population approximately 33% of the time. Simulations with RMSF-SIM show that while the transovarially transmitted disease always remains in a population initially, the mortality and reduced fecundity precludes the disease from remaining for more than 20 years. The combined results of these models show that a tick-borne disease that cannot be transmitted from a female to her eggs has a limited chance of establishment initially. When the females lay infected eggs, the disease always remains in the system initially.

TICKSIM was also modified and run with various combination of disease dynamics to explore the likelihood of a new disease entering the system with the new tick. Four scenarios for tick dynamics were used: (1) no transovarial transmission and no reduced fecundity from infection; (2) no transovarial transmission but with reduced fecundity from infection; (3) transovarial transmission at 10% and no reduced fecundity from infection; and (4) transovarial transmission at 10% and reduced fecundity from infection at 92%. Each scenario was initialized with 10 ticks of which on average 5 were infected, and the simulation was run 25 times each for 10 years. For Scenario 1 and 2, the tick population was established, but the disease died out within two years for all simulation runs. For Scenario 3, both the tick population and the disease remained in the system at the end of all but one simulation. For Scenario 4, even with a reduction in fecundity of 92% for infected females, both the tick population and the disease remained in the system at the end of all simulations. This demonstrates the significant impact of transovarial transmission on the establishment of a tick-borne disease in a new area.

Exercise 4.43

Using the ODD Template of Grimm et al. [65] provided here and demonstrated in this section, return to your favorite model in this chapter and complete the ODD Template for that model.

1. Purpose
Question: What is the purpose of the model?

2. Entities, state variables, and scales
Questions: What kinds of entities are in the model? By what state variables, or attributes, are these entities characterized? What are the temporal and spatial resolutions and extents of the model? Most ABMs include the following types of entities:

• Agents/individuals

• Spatial units (e.g., grid cells)

• Environment

• Collectives

3. Process overview and scheduling
Questions: Who (i.e., what entity) does what, and in what order? When are state variables updated? How is time modeled, as discrete steps or as a continuum over which both continuous processes and discrete events can occur? Except for very simple schedules, one should use pseudo-code to describe the schedule in every detail, so that the model can be re-implemented from this code. Ideally, the pseudo-code corresponds fully to the actual code used in the program implementing the ABM.

4. Design concepts
Questions: There are eleven design concepts. Most of these were discussed extensively by Railsback (2001) and Grimm and Railsback (2005; Chapter 5), and are summarized here via the following questions:

a. Basic principles. Which general concepts, theories, hypotheses, or modeling approaches are underlying the model’s design?

b. Emergence. What key results or outputs of the model are modeled as emerging from the adaptive traits, or behaviors, of individuals?

c. Adaptation. What adaptive traits do the individuals have? What rules do they have for making decisions or changing behavior in response to changes in themselves or their environment?

d. Objectives. If adaptive traits explicitly act to increase some measure of the individual’s success at meeting some objective, what exactly is that objective and how is it measured?

e. Learning. Many individuals or agents (but also organizations and institutions) change their adaptive traits over time as a consequence of their experience? If so, how?

f. Prediction. Prediction is fundamental to successful decision-making; if an agent’s adaptive traits or learning procedures are based on estimating future consequences of decisions, how do agents predict the future conditions (either environmental or internal) they will experience?

g. Sensing. What internal and environmental state variables are individuals assumed to sense and consider in their decisions?

h. Interaction. What kinds of interactions among agents are assumed?

i. Stochasticity. What processes are modeled by assuming they are random or partly random?

j. Collectives. Do the individuals form or belong to aggregations that affect, and are affected by, the individuals?

k. Observation. What data are collected from the ABM for testing, understanding, and analyzing it, and how and when are they collected?

5. Initialization
Questions: What is the initial state of the model world, i.e., at time t = 0 of a simulation run? In detail, how many entities of what type are there initially, and what are the exact values of their state variables (or how were they set stochastically)? Is initialization always the same, or is it allowed to vary among simulations? Are the initial values chosen arbitrarily or based on data? References to those data should be provided.

6. Input data
Question: Does the model use input from external sources such as data files or other models to represent processes that change over time?

7. Submodels
Questions: What, in detail, are the submodels that represent the processes listed in “Process overview and scheduling”? What are the model parameters, their dimensions, and reference values? How were submodels designed or chosen, and how were they parameterized and then tested?

 ent

4.5 Comments for Instructors

While ABMs have provided rich insights into multiple research areas for many decades, they have not traditionally been involved in the classroom. As a conclusion to this chapter, we take a few moments to explore some of ways in which explorations in agent-based modeling might benefit students.

ABMs contain easily explained concepts, and provide a framework to allow students to explore new tools and subjects. Through ABM creation and exploration, our students gain computational and modeling expertise as well as the ability to work within a team to break down a large, unfamiliar problem into smaller, achievable steps. The ABM framework can provide an excellent exercise in teamwork as well as independent creation that ends with the satisfaction of a visually and intuitively appealing product.

A certain benefit of the ABM development experience to the student is the experience of using unfamiliar software packages. Once outside of academia, students will be required to explore and take advantage of software available to them. Instructors may choose an additional challenge of asking students to evaluate and choose between a number of available platforms, such as Swarm, RePast, NetLogo, AgentSheet, and Ascape. Each of these tools have various strengths and weaknesses, including the built-in operations and libraries for the ABM, coding requirements, GUIs, and observer flexibility. Worku, an undergraduate who developed the axon ABM, actually first evaluated all choices listed above, and then chose to use NetLogo for the following reasons: “I have chosen to use NetLogo since it is the most user friendly and does not need developers to have a significant background in coding. However, NetLogo enables the coder to code complex environments and gives the observer flexibility to change these environments.” A student with different skills may have chosen a different tool; the process of evaluating the software is a valuable experience for students.

Another great aspect of using ABM development as a teaching tool is the ease of model refinement and expansion as it is essential for students to learn how to assess and analyze their model, assumptions, limitations, and the future direction of their work. In the case of her thesis, Worku identified several limitations. Her model assumes the number of receptors on each axon is the same and that they are evenly distributed. However, it has been documented that the number of receptors found on each growth cone, and their distribution, alters the efficacy of the growth cone response to the guidance cues [66]. She also assumed that all growth cones have the same shape and size, which remains constant. However, it has been documented that growth cones can change their size while they are moving through the environment [67]. Finally, it is assumed that the growth cone itself does not produce any guidance cue. Another theory states that the growth cone can produce chemoattractant which leads to grouping of axons, which is then undone as axons approach the midline [68]. These are examples that Worku identified as limitations in her model showing that ABMs are complex enough to stretch a student’s technical abilities, but tractable enough for them to understand its limitations.

Another part of the appeal of ABM in education is its local-level viewpoint that encourages gathering and integration of data that is both technical and social in nature [69]. As observed in Section 4.3, for example, a disease model may incorporate relatively technical information about spatial configurations, population densities, causes, and likelihood of disease transmission, waning rates, etc., but the model may also encourage intuitive explorations, such as how individual human behavior might affect disease spread.

Working with agent-based models can engage students at all levels of Bloom’s Taxonomy [70]. Experiments using pre-programmed ABM simulations offer the opportunity to inform students in a classroom setting, helping them to understand and remember basic mechanisms that contribute to the global dynamics [71]. For example, students could adjust parameters in pre-created epidemic models, running repeated simulations to understand the impact of various disease properties or health policies on the spread of disease. Students could explore a simulation of wound healing to gain an intuitive understanding of the factors that positively and negatively influence healing. They could explore a model that explains how ants might queue themselves into our kitchens. Through a careful evaluation of pre-existing models, students have an opportunity to develop a deep and memorable understanding of underlying behaviors. In addition, students are able to observe that a single simulation may have dramatically different results from what is most commonly observed in other simulations, thus reinforcing valuable lessons about stochasticity and the importance of repetition.

Students who take the time to develop and code individual simulations have the most opportunity to learn. As we mentioned earlier, through the creation of an ABM and its subsequent analysis, students have a platform which allows them to postulate and experiment with hypotheses. The process of model creation requires students to consider all factors that are contributing to the agent-environment interactions and evolution. Students are forced to explicitly describe all relevant assumptions, and the creation process will most likely alert students to gaps in their understanding, encouraging a search for new sources of information or perhaps a re-reading of existing research papers with a new mind set. Complex models are best approached with a divide-and-conquer technique, and teamwork becomes rather meaningful and inspiring as individual group members contribute code for the behaviors they choose to describe. Now group work, rather than feeling burdensome, allows the team to come together and see a whole that is far better than the sum of its parts, and students begin to appreciate the collaborative nature of science. Through the culmination of the model creation and analysis process, students often gain a first experience as true scientific researchers.

Agent-based models provide a powerful tool for research and exploration in many subjects including biology. The intuitive nature of the ABM framework makes the exploration of existing ABMs an inviting and informative tool for biologists regardless of their prior computational experiences. Software platforms such as NetLogo make model development a realistic goal for scientists from all backgrounds.

Acknowledgments

HDG would like to thank Daniel Drake Tillinghast, David Gauthier, Dan Sonenshine, and Wayne Hynes at Old Dominion University and Colleen Burgess for her help in an initial version of TICKSIM. HDG also thanks the ODU Honors College for support of Research for Undergraduates in Math and Science. ES and DG thank the DISCOVER program at Marymount University and its support of undergraduate research. DG would like to thank axon development collaborators: undergraduate students Alelena Hilary and Bezawit Worku, and Dr. Amanda Wright at Marymount University. ES and DG thank ABM cholera model collaborators: undergraduate students Mike Bokosha, Stacey Cole, Eric Kamta, Shazia Khattak, Hannah Korbach, and Samantha Rimkus. HDG was supported by Grant No. K25AI067791 from the National Institute Of Allergy And Infectious Diseases. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institute Of Allergy And Infectious Diseases or the National Institutes of Health. HDG and ES were supported by the National Science Foundation DMS-0813563.

4.6 Supplementary Materials

All supplementary files and/or computer code associated with this article can be found from the volume’s website http://booksite.elsevier.com/9780124157804

References

1. Bonabeau Eric. Agent-based modeling: Methods and techniques for simulating human systems. PNAS. 2002;99:7280–7287.

2. Marino Simeone, Hogue Ian B, Ray Christian J, Denise E. Kirschner. A methodology for performing global uncertainty and sensitivity analysis in systems biology. J Theor Biol. 2008;254:178–196.

3. Gaff H, Lyons M, Watson G. Classroom manipulative to engage students in mathematical modeling of disease spread: 1+1 = Achoo!. Math Model Nat Phenom. 2011;6:215–226.

4. Wilensky U. Netlogo http://ccl.northwestern.edu/netlogo, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL; 1999.

5. Lytinen SL, Railsback SF. The evolution of agent-based simulation platforms: a review of NetLogo 5.0 and ReLogo. In: Proceedings of the Fourth International Symposium on Agent-based Modeling (ABModSim-4), Vienna, Austria; 2012.

6. Railsback Steven F, Lytinen Steven L, Jackson Stephen K. Agent-based simulation platforms: review and development recommendations. Simlation. 2006;82:609–623.

7. Railsback SF, Grimm V. Agent-based and individual-based modeling: a practical introduction. Princeton University Press 2012.

8. Burks AW, Von Neumann J. Theory of self-reproducing automata. University of Illinois Press 1966.

9. Gardner M. Mathematical games: the fantastic combinations of John Conway’s new solitaire game Life. Sci Am. 1970;223:120–123.

10. Axelrod RM. The complexity of cooperation: agent-based models of competition and collaboration. Princeton University Press 1997.

11. Schelling Thomas C. Micromotives and macrobehavior, revised ed. W.W. Norton & Company; 2006.

12. Wilensky U. Netlogo Segregation Model http://ccl.northwestern.edu/netlogo/models/Segregation, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL; 1997.

13. IMDb. Awards for Craig Reynolds http://www.imdb.com/name/nm0721662/awards, [accessed 03/30/2012].

14. Reynolds Craig. Boids: Background and Update http://www.red3d.com/cwr/boidsurlwww.red3d.com/cwr/boids [accessed 03/30/2012].

15. Wilensky U. Netlogo Flocking Model http://ccl.northwestern.edu/netlogo/models/Flocking, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL; 1998.

16. SwarmWiki. AgentBased Models in Biology and Medicine http://www.swarm.org/wiki/AgentBasedModelsinBiologyandMedicine.

17. Cannata N, Corradini F, Merelli E, Omicini A, Ricci A. An agent-oriented conceptual framework for systems biology. Trans Comput Syst Biol. 2005;III:105–122.

18. Gonzalez PP, Cardenas M, Camacho D, et al. Cellulat: an agent-based intracellular signalling model. BioSystems. 2003;68:171–185.

19. Pogson M, Smallwood R, Qwarnstrom E, Holcombe M. Formal agent-based modelling of intracellular chemical interactions. Biosystems. 2006;85:37–45.

20. Walker DC, Southgate J, Hill G, et al. The epitheliome: agent-based modelling of the social behavior of cells. Biosystems. 2004;76:89–100.

21. Lollini PL, Motta S, Pappaiardo F. Discovery of cancer vaccination protocols with a genetic algorithm driving an agent based simulator. BMC Bioinformatics 2006;7.

22. Zhang L, Wang Z, Sagotsky JA, Deisboeck TS. Multiscale agent-based cancer modeling. J Math Biol. 2009;58:545–559.

23. Castiglione F, Pappalardo F, Bernaschi M, Motta S. Optimization of HAART with genetic algorithms and agent-based models of HIV infection. Bioinformatics. 2007;23:3350.

24. Segovia-Juarez JL, Ganguli S, Kirschner D. Identifying control mechanisms of granuloma formation during M tuberculosis infection using an agent-based model. J Theor Biol. 2004;231:357–376.

25. Bailey Alexander M, Thorne Bryan C, Peirce Shayn M. Multi-cell agent-based simulation of the microvasculature to study the dynamics of circulating inflammatory cell trafficking. Ann Biomed Eng. 2007;35:916–936.

26. Bentley Katie, Gerhardt Holger, Bates Paul A. Agent-based simulation of notch-mediated tip cell selection in angiogenic sprout initialisation. J Theor Biol. 2008;250:25–36.

27. Dong X, Foteinou PT, Calvano SE, Lowry SF, Androulakis IP. Agent-Based modeling of endotoxin-induced acute inflammatory response in human blood leukocytes. PLoS ONE. 2010;5:e9249.

28. Barrett Chris L, Eubank Stephen G, Smith James P. If smallpox strikes Portland. Sci Am 2005.

29. Gaff H. Preliminary analysis of an agent-based model for a tick-borne disease. Math Biosci Eng. 2011;8:463–473.

30. Epstein Joshua M, Parker Jon, Cummings Derek, Hammond Ross A. Coupled Contagion Dynamics of Fear and Disease: Mathematical and computational explorations. PLoS ONE. 2008;3:e3955.

31. Worku B. Agent-based modeling of commissural axon guidance along the midline honors Thesis; 2011.

32. Goodman CS. Mechanisms and molecules that control growth cone guidance. Annu Rev Neuro. 1996;19:341–377.

33. Grunwald IC, Klein R. Axon Guidance: receptor complexes and signaling mechanisms. Curr Opin Neurobiol. 2002;12:250–259.

34. Tessier-Levigne M, Goodman CS. The molecular biology of axon guidance. Science. 1996;274:1123–1133.

35. Mortimer D, Fothergill T, Pujic Z, Richards LJ, Goodhill GJ. Growth cone chemotaxis. Trends Neurosci. 2008;31:90–98.

36. Brose K, Tessier-Levigne M. Slit proteins: key regulators of axon guidance, axonal branching, and cell migration. Curr Opin Neurosci. 2000;10:95–102.

37. Nelson Eric J, Harris Jason B, Glenn Morris J, Calderwood Stephen B, Camilli Andrew. Cholera transmission: the host, pathogen and bacteriophage dynamic Nature. Rev Microbiol. 2009;7:693–702.

38. Organization World Health. Cholera Fact Sheet image 107, August 2011 http://www.who.int/mediacentre/factsheets/fs107/en/index.html.

39. Gammack David, Schaefer Elsa, Korbach Hannah, Cole Stacey, Rimkus Samantha. An ABM exploration of cholera dynamics in a village. (in preparation).

40. Merrell DS, Butler SM, Qadri F, et al. Host-induced epidemic spread of the cholera bacterium. Nature. 2002;417:642–645.

41. King AA, Ionides EL, Pascual M, Bouma MJ. Inapparent infections and cholera dynamics. Nature. 2008;454:877–880.

42. Miller Neilan Rachael L, Schaefer Elsa, Gaff Holly, Fister K Renee, Lenhart Suzanne. Modeling optimal intervention strategies for cholera. Bull Math Biol. 2010;72:2004–2018.

43. Tillinghast DD, Gaff HD. An agent-based model of the dynamics of a tick-borne disease. In: Proceedings of VMASC Student Capstone 2012; to appear.

44. Barbour AG, Fish D. The biological and social phenomenon of Lyme disease. Science. 1993;260:1610–1616.

45. Centers for Disease Control and Prevention. Lyme Disease Data http://www.cdc.gov/lyme/stats/index.html.

46. Sonenshine DE, Mather TN. Ecological dynamics of tick-borne zoonoses. Oxford University Press 1994.

47. Gaff H, Gross LJ. Analysis of a tick-borne disease model with varying population sizes in various habitats. Bull Math Biol. 2007;69:265–288.

48. Gaff H, Schaefer E. Metapopulation models in tick-borne disease transmission modelling. In: Michael E, Spear R, eds. Modelling parasitic disease transmission: biology to control. Austin, TX, USA: Landes Bioscience/Eurekah; 2008.

49. Gaff LJ, Gross Schaefer E. Results from a mathematical model for human monocytic ehrlichiosis. Clin Microbiol Infect. 2008;15:1–2.

50. Awerbuch TE, Sandberg S. Trends and oscillations in tick population dynamics. J Theor Biol. 1995;175:511–516.

51. Haile DG, Mount GA. Computer simulation of population dynamics of the lone star tick, Amblyomma americanum (Acari: Ixodidae). J Med Entomol. 1987;24:356–369.

52. Mount GA, Haile DG. Computer simulation of population dynamics of the American dog tick (Acari: Ixodidae). J Med Entomol. 1989;26:60–76.

53. Mount GA, Haile DG, Davey RB, Cooksey LM. Computer simulation of Boophilus cattle tick (Acari: Ixodidae) population dynamics. J Med Entomol. 1991;28:223–240.

54. Mount GA, Haile DG, Barnard DR, Daniels E. New version of LSTSIM for computer simulation of Amblyomma americanum (Acari: Ixodidae) population dynamics. J Med Entomol. 1993;30:843–857.

55. Mount GA, Haile DG, Daniels E. Simulation of blacklegged tick (Acari: Ixodidae) population dynamics and transmission of Borrelia burgdorferi. J Med Entomol. 1997;34:461–484.

56. Mount GA, Haile DG, Daniels E. Simulation of management strategies for the Blacklegged tick (Acari: Ixodidae) and the Lyme disease spirochete. Borrelia burgdorferi J Med Entomol. 1997;90:672–683.

57. Sandberg S, Awerbuch TE, Spielman A. A comprehensive multiple matrix model representing the life cycle of the tick that transmits the age of Lyme disease. J Theor Biol. 1992;157:203–220.

58. Bunnell JE, Price SD, Das A, Shields TM, Glass GE. Geographic information systems and spatial analysis of adult ixodes scapularis (Acari: Ixodidae) in the middle atlantic region of the U.S.A. J Med Entomol. 2003;40:570–576.

59. Das A, Lele SR, Glass GE, Shields T, Petz J. Modelling a discrete spatial response using generalized linear mixed models: application to Lyme disease vectors. Int J Geogr Inf Sci. 2002;16:151–166.

60. Randolph S. Epidemiological uses of a population model for the tick Rhipicephalus appendiculatus. Trop Med Int Health. 1999;4:A34–A42.

61. Ding W. Optimal control on hybrid ODE systems with application to a tick disease model. Math Biosci Eng. 2007;4:633–659.

62. Ghosh M, Pugliese A. Seasonal population dynamics of ticks, and its influence on infection transmission: a semi-discrete approach. Bull Math Biol. 2004;66:1659–1684.

63. Grimm V, Berger U, Bastiansen F, et al. A standard protocol for describing individual-based and agent-based models. Ecol Model. 2006;198:115–126.

64. Grimm V, Railsbeck SF. Individual-based modeling and ecology. Princeton University Press 2005.

65. Grimm Volker, Berger Uta, DeAngelis Donald L, et al. The ODD protocol: a review and first update. Ecol Model. 2010;221:2760–2768.

66. Goodhill GJ. Mathematical guidance for axons. Trends Neurosci. 1998;21:226–231.

67. Krottie J, Ooyen AA. Mathematical framework for modeling axon guidance. Bull Math Biol. 2007;69:3–31.

68. Graham BP, van Ooyen A. Mathematical modeling and numerical simulation of the morphological development of neurons. BMC Neurosci. 2006;7:1–12.

69. Friesen MR, Laskowksi M, Demianyk B, McLeod RD. Works in progressdeveloping educaitonal opportunities in agent-based modeling in Frontiers in Education Conferiece (FIE); 2010 IEEE:T2F–1T2F-3; 2010.

70. Bloom BS (Ed.), Taxonomy of educational objectives Book 1: cognitive domain, 2 ed. Addison Wesley; 1984.

71. Huang C-Y, Tsai Y-S, Wen T-H. Simulations for epidemiology and public health education. Journal of Simulation 2010;4.

72. Wilensky U. Netlogo Moths Model http://ccl.northwestern.edu/netlogo/models/Moths, Center for connected learning and computer-based modeling, Northwestern University, Evanston, IL; 2005.

73. Wilensky U. Netlogo Sunflower Model http://ccl.northwestern.edu/netlogo/models/Sunflower, Center for connected learning and computer-based modeling, Northwestern University, Evanston, IL; 2003.

74. Wilensky U. Netlogo Disease Solo Model http://ccl.northwestern.edu/netlogo/models/DiseaseSolo, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL; 2005.

75. Evans TA, Bashaw GJ. Axon guidance at the midline: Of mice and flies. Curr Opin NeuroSci. 2010;20:79–85.


1Instructor’s note: While the code under “Procedure” is short, a careful answer to this exercise may take an hour or more to complete.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset