Dynamic Cellular Automata Based Epidemic Spread Model for Population in Patches with Movement

Epidemiology is the study of spread of diseases among the group of population. If not controlled properly, the epidemic would cause an enormous number of problems and lead to pandemic situation. Here in this paper we consider the situation of populated areas where people live in patches. A dynamic cellular automata model for population in patches is being proposed in this paper. This work not only explores the computing power of cellular automata in modeling the epidemic spread but also provides the pathway in reduction of computing time when using the dynamic cellular automata model for the patchy population when compared to the static cellular automata which is used for a nonpatchy homogeneous population. The variation of the model with movement of population among the patches is also explored which provides an efficient way for evacuation planning and vaccination of infected areas.


Introduction
Computation in epidemics helps us to understand various important factors during the epidemic spread.Computation that results in the form of simulated environment gives us the focus on how an evacuation strategy could be planned [1][2][3].Modeling of epidemics using differential and partial differential equations has been done by many researchers [4][5][6] but these approaches were having certain disadvantages like vagueness in handling the boundary conditions, and dynamic nature of the environment was not properly discussed [7].Cellular automaton model removes this kind of difficulties in modeling the epidemic spread.
A substantial number of problems relating to differential equations have been solved by the cellular automata model which includes Diffusion equation [8], Poisson equation [9], Lapalace equation [10], Weyl, Dirac, and Maxwell equations [11].The cellular automata also proves to be a better choice of usage under specific boundary and initial conditions in solving the scientific problems related to partial differential equations [12].The nature of cellular automata which brings out the global behavior of the system from the interactions of the local cells makes it a better choice of modeling the epidemic spread than the differential equations.
Modeling epidemic spread using cellular automata has been done by many researchers [13][14][15].Sun et al. [16][17][18] provided breakthrough in understanding the spatial pattern in epidemics and the effect of noise in spatial epidemics.The cellular automaton model for epidemic spread has been given by White et al. [12], in which the rules are assumed to be homogeneous and the population size is also homogeneous.Moreover, the effect of population movement has not been discussed.The cellular automata model with the effects of population movement and vaccination has been given by Sirakoulis et al. [19,20].The paper discusses the epidemic propagation during the population movement within the cells but does not specify anything about patches.The paper also discusses the effect of disease spread only but not the mix of susceptible, infective, and recovered accordingly.
The main objective of cellular automata models is how to get a global behavior from the local behavior [21][22][23].Cellular automata could be static or dynamic in nature as the way we configure it.The static cellular automaton in case of epidemic spread consists of homogeneous population and homogeneous set of rules governing the automaton.The dynamic cellular automaton which we propose here would have nonhomogeneous population and rules governing each cell of the cellular automaton would be different.Population who live in patchy environment is the one which is confined to one small geographical locations [24].So when we think about modeling this environment in cellular automata, we would consider putting the cell updating rules only to those cells where population is available.The advantage of doing this is to avoid the rules running in those cells where population is not there.Since we are considering the patchy population, only a limited number of cells would be having some population [25].Since the computation is running only in a limited number of cells, a lot of computational time would be saved and our algorithm leads to an efficient completion time when compared to the case when we run the rules in all the cells in the automaton.
In this paper we begin introducing the techniques of modeling the epidemic spread in population of patches using the differential equations in Section 2.1.In Sections 2.2 to 2.6 the techniques of modeling the epidemic spread using cellular automata are covered with the static rules and homogeneous population.In Sections 2.7 to 2.9 the modeling of epidemic spread using cellular automata in patchy population with dynamic rules is explored.In Sections 2.10 to 2.12 the population in patches are allowed for movement from and into the patch and the situation of epidemic spread under this environment is studied.

ODE for Epidemic Spread in Patchy
Population.The study of epidemic spread in patchy population is of importance because in normal case the population is taken to be homogeneous but the disease spread is never being homogeneous.Moreover, in any geographical environment whether it is urban or rural general tendency of population would be living in patches.Epidemic spread would not be similar in all the patches at all time and the rate of spread in one patch may be different from other patches.
Let us consider the simple SIR (susceptible-infectiverecovered) [5,26] model in which susceptible are those who are prone to be infected by the infected population; after coming into contact with the infective population the susceptible population goes into the exposed compartment, then to the infectives compartment, and then to the recovery state.The model structure is based on Arino et al.The number of individuals in patch  is   () =   () +   () +   () . ( Birth in patch  is assumed to be included in the susceptible class and is given by   (  ) > 0 individuals in unit time.The ordinary differential equation for the population equilibrium in this model is given by where  is the death rate due to infection and   is the natural death rate.

Cellular Automata.
A Cellular automaton is one kind of universal Turing machine which could perform parallel computation with ease [21,22].The basic element in the cellular automaton is the cell.The state of the cell in the next time step would be based on the state of its neighboring cells.The basic reason why the cellular automata concept is being popular is its ability to model the global behavior based on the local behavior of cells.The neighborhood configuration of the cellular automata would be mostly either Von-Neumann or Moore neighborhood.In Von-Neumann neighborhood configuration the current cell updates are based on the states of the current and its north, south, east, and west neighbors.
In case of Moore neighborhood the current cell updates itself based on its current state and state of the north, south, west, east and the diagonal neighbors as well.At a single time step all the cells in the cellular automaton get updated in parallel.This concept helps us to model the real world behavior such as forest fire spread, epidemic spread, and reaction diffusion systems.

Homogeneous Cellular Automata Model.
In homogeneous cellular automata model all the cells in the automata are assumed to have an equal amount of population and the rules applicable in each cell would be unique.The cellular automata environment is as in Figure 1.
The green colored cell is one which is the current cell.The current cell state would be updated based on the current states of the neighboring cells colored in orange.Each cell will be having the CSW (cell status word) which is in Figure 2.

The Cell Status Word.
The CSW has five parameters, namely, (1) Cell id which is the current cell denoted by (, ), (2) CPV (critical population value) which is the fraction of infected population over total population in the cell, (3) I value which takes Boolean value 0/1; 0 means that the cell is free of infectives and 1 means some percentage of cell is infected so we consider that the cell is infected, (4) R value which will also take either 0 or 1 depending upon whether the population inside the cell is recovered from the disease or not, and (5) M value is the movement flag for a particular cell used to control the movement of the population from one cell to another.If the value is 0, it means no movement possible from the cell.1).Critical population value (CPV) would be calculated at each time step in the following way:

Initial Conditions (see Table
where IPC represents the infected population count in the cell and TPC represents the total population count in the cell.The critical population value for a cell at the next time step would be the function of the CPVs of the current cell at time t and the CPVs of the neighboring cells; that is, If I value is 0, then CPV will also be zero and if R value is 0, then CPV would also be 0. Depending on the type of diseases we deal with the time period for infection and the time period for recovery would be used.The total number of iterations/generations depends on the user.The size of the cellular array and the number of generations would be a tradeoff between the computation time taken for the completion of the process and the size of the cellular automata.

The Algorithm for Homogeneous Model (No Patch, No
Movement) Step 0. Get the input from the user for the value of tr (time period for recovery), tg (number of generations), and ti (time period for immunity).
Step 1. Initialize the generation counter to 0.
Step 2. Initialize all the cells with an equal amount of population.
Step 3. Initialize the M value of the CSW of all cells to 0 to control the movement of population.Step 4. Infect the desired cell.
Step 5. Increment the generation counter by 1.
Step 6. Find out the region of cells which are infected and the region of cells which are not infected by checking the R value and I value.
Step 7. If R value is 1, then go to 8.

Else
Calculate the CPV value based on the cellular automata update rule to find the fraction of infected population.
Step 8.If the number of generations is less than tg, then go to Step 4.

Dynamic Cellular Automata Model for Patchy Population.
In dynamic cellular automata model for patchy population we consider only those cells which are belonging to patches during the rule evaluation.So a considerable amount of computation time is reduced when compared to homogeneous model.Here we divide the entire grid into one or more patches and the rules of those cells which belong to patches only would be running throughout the number of generations required.The diagrammatic notation is given in Figure 3 for cellular region with two patches: patch-A and patch-B. 2 and Figure 4).Slight modification would be done in CSW for the patchy model since we need to differentiate the cells that belong to the patch and those which do not.In order to do that we include an Enable field which takes the value 1 if the cell falls within the boundary of the patch or it takes the value 0 if it does not.

The Algorithm for Patchy (Nonhomogeneous) Model (Patch Yes, No Movement)
Step 0. Get the input from the user for the value of tr (time period for recovery), tg (number of generations), and ti (time period for immunity).Step 1. Initialize the generation counter to 0 and set enable of CSW to 1 to all those cells which belong to the corresponding patches.
Step 2. Initialize all the enabled cells with variable populations and boundaries for the corresponding patches.
Step 3. Initialize the M value of the CSW of all cells to 0 to control the movement of population.
Step 4. Infect the desired cells.
Step 5. Increment the generation counter by 1.
Step 6. Find out the region of enabled cells which are infected and the region of cells which are not infected by checking the R value and I value.
Step 7. If R value is 1, then go to Step 8.

Else
Calculate the CPV value based on the cellular automata update rule to find the fraction of infected population.
Step 8.If the number of generations is less than tg, then go to Step 4.

Patch Population Model with Movement.
In this model we assume that the epidemic spreads in patches and movement of population is allowed from the patch and to the patch.The population distribution has been assumed to be in group of patches and there may be certain pathways that come in and go out from patches.This is in similarity with localities in cities or rural areas where one locality is connected to a highway or to other locality by means of lanes or streets.For movement of the population in the cellular automata model instead of using the Moore neighborhood concept, we use the extended neighborhood [27].Extended neighborhood is the one which combines the traditional Moore neighborhood and randomly selected cells across the given neighborhood.If the current cell is  , ,  , refers to the Moore neighborhood and  , refers to the cells that are chosen randomly, then the extended neighborhood of accordingly the cell update rule will also change for the extended neighborhood This random choosing of cells in the neighborhood part and the random selection of individual for the movement give us the source for the noise addition in the model as the model we are considering is natural which is not a deterministic one.So let us take these assumptions to our model, and we need to give movement to the population from the patch; for that the following situations need to be addressed.
(i) Which cells are allowed for the population to move? (ii) When the population are allowed to move? (iii) What quantity of population will move?(iv) What is the distance of movement?
The first criterion would be on deciding which cells are allowed for movement of population.We could create certain pathways similar to the lanes or streets in urban or rural area connecting the patches and outside the patches.The cells which are in these pathways would be the cells which allow the movement and those cells' CSWs M value would be set to 1.
The second criterion is the critical one when we are going to allow the population to move.There are two important ways to handle it; one is that randomly sets the generation count and during this count the population in the M value enabled cells would move.The other method is when the infected number of individuals inside the cells has reached to a certain limit, we allow the susceptible population set to move.The second method is the one we used in our study and we allow the susceptible population to move from the cell when the infected count is more than 15% of the available population in the cell.This assumption assumes to be the tendency in the population living that when an infection start to spread the people in and around tend to move.The third criterion is the amount of population, that is, the number of maximum individuals that can move whether they are infected or susceptible.The maximum value we set is 5% of the cell population and it can vary from 0 to 5% in random selection of individuals in order to get a mix of susceptible and infectives.
The fourth criterion is how much distance we allow the individuals to move from one cell.Here we select on the basis of whether the movement is inside the patch or outside.If the pathway starts from inside the patch and crosses the patch, then the situation would be like this: until the patch boundary is reached, the movement is 1 cell per generation and after the patch boundary has been crossed, then the movement is 2 cells per generation.

The Environment for Patchy Population with Movement.
See Figure 5.

The Algorithm for Patchy Population with Movement
Step 0. Get the input from the user for the value of tr (time period for recovery), tg (number of generations), and ti (time period for immunity).
Step 1. Initialize the generation counter to 0 and set enable of CSW to 1 to all those cells which belong to the corresponding patches.
Step 2. Initialize all the enabled cells with variable populations and boundaries for the corresponding patches.
Step 3. Initialize the M value of the CSW of all cells which are in the pathway to 1 in order to enable the movement.
Step 4. Infect the desired cells.
Step 5. Increment the generation counter by 1.
Step 6. Find out the region of enabled cells which are infected and the region of cells which are not infected by checking the R value and I value.
Step 7. Check if the infected percentage is greater than 15%.If yes; then go to Step 8, else to Step 9.
Step 8. Check whether the cell is movement enabled or not by checking M value to be 1.If yes; then go to Step 8.1, else go to 9.
Step 8.1.If the cell is within the patch limits, transfer the 0 to 5% amount of population taken at random to the next cell in the neighborhood in any direction if it is within the patch.Otherwise, take it to the direction in which there is a pathway available.If it is outside the patch limits, then the movement will be of two cells in the direction of the pathway.
Step 9.If R value is 1, then go to Step 10.

Else
Calculate the CPV value by (6) on the basis of the cellular automata update rule to find the fraction of infected population.
Step 10.If the number of generations is less than tg, then go to Step 4.

Simulation Environment.
The simulation has been done in MATLAB Ver R2013 (64 bit).The processor used is Intel Core i5 and the RAM capacity is 8 GB.  then slowly the infection starts to spread and then gradually subsides in the generation 50.Here the point to stress is the rules that are running in all the cells and the population is assumed to be in all cells which are not true in most of the cases.The computation time taken to complete the simulation would considerably decrease when we run the rules wherever required.

Patchy Model without Movement.
The simulation has been done in Matlab taking 50 × 50 grid as the working environment and assuming two patches for the initial work, and the number of generations is 50.The snapshots in Figure 7 clearly show the spread behavior of the diseases in their respective patches which are homogeneous in nature.Figure 8 shows the trend of the population of susceptible, infectives, and recovered in corresponding patches, respectively.
The computation time that has been calculated across various population counts and the number of generations has been listed out in Tables 3 and 4. We can observe from Tables 3 and 4 that the computation time increases across the exponential increase of generations and the number of cells (the geographical area of epidemic spread).We can also observe that for patchy population where the rules are running only on the enabled cells they are computed in less time when compared to the rules that are running on all cells in the case of homogenous populations.
In regard to the effect of lattice size, the decision to be made is between the time taken and the accuracy of the result.The more the size of the lattice, the more the time taken, and the more the accuracy.The less the size of the lattice, the accuracy will be less.The leftmost figures which is the situation of spread before the movement across the pathway is not enabled.We enable the pathways after certain period of time.The second or the middle one shows how the susceptible population moves across the pathway and after a certain time period has gone, the pathway becomes infected which is shown on the third figure.

Patchy Model with Movement of Population
This model with movement configuration will help us find the time period when the effect of epidemic spread in one particular patch in a geographical region will be on the other patches in the region closer to them.This would help us develop an effective evacuation strategy during the epidemic situation and it would also help us find out an effective way for vaccination program to contain the epidemic situation.

Conclusion and Future Scope
Three models for epidemic spread based on cellular automata have been considered first the homogeneous model where all the population in the cells are constant and the rules are  applied everywhere and second the patchy model where we assume the population would live only in patches and the cellular automata rules would be only applied on to those patches.This dynamic applicability of rules as well as nature of a different amount of population has considerably reduced the computation time when compared to the homogeneous model.Then the patchy model with movement of population is considered and shows that in a typical living environment there is a possibility of population movement across the locations.If movement is possible, then there is a scope to study that the epidemic may spread to other locations due to this movement.Effective analysis of this spread during movement may lead a pathway to develop various strategies for evacuation situation in case of any emergency during the epidemic spread and we can also contain the epidemic by blocking those pathways where the chance of infection spread due to movement is high.We can also predict the amount of time it takes for the spread of infection to reach from one patch to another patch population across various pathways.Dynamism in cellular automata is imparted in a way that not only the rules are run on the desired cells in automaton, but also the number of individuals in each cells may also differ according to the specification.
The future scope of this study would be on how effectively the boundaries of the cellular array and the boundaries of each patch are handled.The boundary factor if handled properly could give us more enhanced results in computation.
outside the patch.defined for the movement of population and those cells would be enabled as well and another one in light green.• Two patches are defined as one in blue • Lighter arrows indicate the movement • Darker arrows indicate the pathways their M value would be 1.

Figure 5 :
Figure 5: Patch environment with movement paths between them.
Figure 9   snapshots the behavior of spread when movement is enabled on one pathway.

Figure 9 :
Figure 9: Epidemic spread behavior with movement of population across patches.

Table 3 :
Computation time in seconds for homogeneous population.

Table 4 :
Computation time in seconds for patchy population.