NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)


by Mingsheng Tang (Submitted: 04/10/2015 )

[screen shot]

Download AVI
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)

#AVI Model

An artificial society is a multi-agents system. The AVI model is a general artifical soceity model for studying social spread issue, e.g.,infectious diseases spread in the society. This model includes three core concepts: Agent, Virus, and Interaction. Agents are the mapping of people in the real society, and agents may carry viruses. Agents could move and interact with other agents. Viruses may spread through interactions bewteen agents. The virus is a abstract concept, which may have different meaning in different applications. For instance, virus could be indicated information in the issue of information spread in social media.

This example is a simple instance of the AVI model.The AVI model could be extended to be applied in various scenes, e.g., rumor diffusion, and emergency management.


In each tick, agents randomly move, and the max movement distance of all agents is shorter than the maximum value (max-movement). An agent may interact with one of agents in one of the neighboral eight patches. The model uses the "interaction" to represent agents interacted with others. When an agent without viruses interacts with another agent carried viruses, this agent may be infected to carry viruses.

We use different colors to indicates agents whether carrying virues: green color denotes the agent without viruses and yellow color represents the agent carrying virues.


The "setup" button is to intialize the procedure. Agents will randomly distribute in the space. It is assumed that no agents carry viruses.
The parameter "initial-num-of-agent-with-virus" presents the number of agents carried viruses in the initial. Users could change the value of this parameter to control the number of agents carried virues in the initial. Once the simulation has been setup, you are now ready to run it, and "initial-num-of-agent-with-virus" agents will carry viruses. Pushing the GO button, the procedure will begin. GO starts the simulation and runs it continuously until GO is pushed again or the ticks reaches the "simulation-num". During a simulation initiated by GO, adjustments in sliders can affect the behaviors of agents.
The sliders are introduced as follows:

- The slider "number-of-agents": the number of agents in the model (100--1000).
- The slider "max-movement": the max distance that an agent can move in each ticks (0--20).
- The slider "interaction-chance" : the probability that two neighbor agents to interact with each others(0.01--1.0).
- The slider "virus-spread-chance": the probability that an agent without viruses will be infected to carry virus after interacting with another agent carried viruses (0.01--1.0).
- The slider "interaction-frequency": after how many ticks ("interaction-frequency") an agent want to interact with others (1--20).

The number of individuals in the artificial society is controlled by the slider "number-of-agents" (can be set between 50--500).
The number of individuals that carried viruses in the initial is controlled by the slider "initial-num-of-agent-with-virus" (>= 1), which must be initialized before pushing setup.
An agent will move toward a random direction. Meanwhile, the movement distance of an agent in each tick is a random number, which is smaller than the value of "max-movement" (0--20). The value of the parameter will affect the virus spread in the artificial soceity. When the slider is set to 1, the viruses spread slowly and agents carried viruses are clustering together. When the slider is set to 20, the virues spread quickly and agents viruses are scattered across the space. The parameter reflects the movement or migration capability of people in the real society. With the development of transportation, people can move to more distant place. When a person carried viruses, maybe people in the distant place from the person will be infected by the person to carry viruses.
The slider "interaction-chance" (0.01--1.0) denotes the active level of agents in the artificial society. When the value of this slider is bigger, it represents that agents are very active. Two neighbor agents probally interact with each other. This value of slider also affects the virus spread, and with a bigger value of this slider viruses may spread quickly and widely.
The value of the slider "virus-spread-chance" (0.01--1.0) also has an important impact on the virus spread. The larger value of the slider represents infection rate of the virus. Different viruses may have different infection rate, i.e., the value of the slider "virus-spread-chance" will be different. People could adjust the slider according to various cases.
Meanwhile, the slider "interaction-frequency" (1--20) also reflects the active level of the artificial society. However, the smaller value of the slider denotes the higher active level of the artificial society. When the slider is set to 20, an agent (interacted with another agent) will interact with other agents after 20 ticks. During the ticks, this agent will not interact with an other agents. Thus, the virus will spread slowly.
Users could adjust these sliders according to thier appplication requirements.

The plot shows the total number of individuals without viruses (green color), and individuals carried virues (yellow color). The data will change with simulation ticks.


User can run a number of experiments with the GO button to find out the effects of different variables on the spread of virus.


The procedure does not mention the social network. As we know, people will be more likely to interact with other people who have social relationships with each others. The social network could be introduced to extend this model. Besides, people in the real soceity have different capability, and the value "interaction-frequency" of different individuals should be different. Maybe fewer individuals have a smaller "interaction-frequency" and more individuals have a bigger "interaction-frequency".

## Copyright

Mingsheng TANG
College of Computer, NUDT, Changsha City, P.R.China
©Copyright, 2015

(back to the NetLogo User Community Models)