Return to Index
Object-Oriented Implementation Of CA/LGCA Modelling Applied To The Spread Of Epidemics Bruno Di Stefano
Anna T. Lawniczak
Nuptek Systems Ltd. 15 McMurrich Street (Suite 1002) Toronto, Ontario M5R 3M6 Canada
Dept. Mathematics & Statistics University of Guelph Guelph, Ontario, N1G 2W1, Canada and The Fields Institute For Research In Mathematical Sciences Toronto, Ontario M5T 3J1, Canada [email protected]
Dept. Mathematics & Statistics University of Guelph Guelph, Ontario, N1G 2W1, Canada [email protected]
and The Fields Institute For Research In Mathematical Sciences Toronto, Ontario M5T 3J1, Canada [email protected]
Abstract The authors have applied the CA/LGCA (“Cellular Automata”/ “Lattice Gas Cellular Automata”) methodology to develop and analyse models of spread of epidemics of infectious diseases. Object-Oriented Analysis and Design of the computer models has been performed using the Unified Modelling Language (UML). All required algorithms and data structures have been coded in C++.
1. Introduction The damage caused by epidemics of infectious diseases in mankind is well established in history and in oral tradition. The search for understanding of the dynamics of spread of epidemics and their causes can be trace back to “Epidemics” by Hippocrates (459-377 B.C.). Since the epidemic model introduced by Kermack and McKendrick (1927) 1 other more or less sophisticated 1
See reference item 
0-7803-5957-7/00/$10.00 © 2000 IEEE
models have been presented and analysed. A vast majority of proposed models is based on ordinary differential equations. The simplest model of spread of epidemics, employing deterministic ordinary differential equations, is based upon the division of a population into three groups: • “Susceptible” (those capable of contracting the disease) • “Infectious” (those capable of spreading the disease) • “Recovered” (those immune from the disease, either because naturally immune or because have become immune after having been “Infectious”) (in some papers, the term “Removed” is used instead of the term “Recovered”) Due to this division of the population into the three classes (“Susceptible”, “Infectious”, and “Recovered”) the model is called “SIR model”2. The models based on ordinary differential equations assume that the populations are totally mixing and they neglect spatial effects 2
The SIR model is the underlying model of the paper at reference item , the paper containing the mathematical description of the computer model described in the present paper.
of spread of epidemics. Also, they neglect the fact that populations are composed of interacting individuals since they model populations as continuous entities. Such approximations can be adequate for very large populations but in smaller ones they often lead to very unrealistic results.
The spatial aspects of the spread of epidemic process have been addressed by employing partial differential equations. However, the deterministic models neglect the effects of stochastic fluctuations. This level of complexity has been inncorporated by stochastic models, based on the same categorisations of the population as in the case of deterministic models, but relying upon probabilistic variables and their relationship to relative uncertainties between “Susceptible”, “Infectious” and “Recovered”. Because these models entail the use of probabilistic expressions, they are better suited to describing outbreaks in smaller communities.
Hence, for better prediction and better strategies to combat spread of epidemics there is a need to develop new mathematical and computing methodologies. The successful applications of “Cellular Automata”/ “Lattice Gas Cellular Automata” methodologies in the context of physical, chemical and fluid dynamical problems and rapid progress in computing capabilities have motivated us to develop LGCA (Lattice Gas Cellular Automaton)4 to study spread of epidemics and vaccination strategies. This model is a type of automaton akin to CA (Cellular Automaton). The construction of the automaton is based on contact processes among individuals. The automaton permits easily to study spatial aspects of the spread of epidemics and vaccination strategies and addresses naturally stochastic nature of the epidemic process.
It has been observed3 that such “classical” models of epidemics as SI (“Susceptible” and “Infectious”), SIS (“Susceptible”, “Infectious”, and “Susceptible”), SIR (“Susceptible”, “Infectious”, and “Recovered/Removed”), SEIR (“Susceptible”, “Exposed”, “Infectious”, and “Recovered”), and “general stochastic epidemic models” fail to adequately model: • Individual contact processes, which are fundamental for spread of epidemics • Effects of individual behaviour and, in particular, of changing behaviours 3
See reference item , pages 417-424
Spatial aspects of the spread of an epidemic Effects of mixing patterns of the individuals involved in the spread of the epidemics, regardless of their status of “Susceptible”, “Exposed”, “Infectious”, and “Recovered” or whatever else may be applicable.
Models of epidemics using CA (Cellular Automata), capable of reducing or eliminating the limitations of the “classical” methods, have attracted significant attention in recent years 5.
The presented LGCA model is fully described in H. Fukś and A. T. Lawniczak 6. Here we describe very briefely the automaton algorithm. The LGCA is an idealisation of SIR epidemic model in which space and time are 4 5 6
See reference item  See reference items ,, , and  See reference item 
represented by discrete variables and individuals by particles. The dynamics of the automaton takes place on a regular hexagonal lattice. Each node of the lattice represents some region of a physical space called a cell. The cells tile the physical space. The individuals (“Susceptible”, “Infectious” and “Recovered”) reside in cells (nodes of the lattice) and they can move from one cell (node) to another. The time evolution of the automaton takes place at the discrete time steps. At each time step the following three operations interaction, randomisation and propagation are performed in synchronous. During the interaction operation, performed at each cell independently of the other cells, individuals residing in a cell can change their type. Each susceptible individual in the cell, independently of other individuals, can become infected with probability “1-(1-r)nI”, where nI is the number of infected individuals at the same cell and r is the probability of infection per contact. Similarly, each infected individual independently of the other individuals can recover with a probability “a”. At the randomisation step at each cell of the lattice independently of the other cells individuals select randomly edges of the lattice which originate from the nodes representing their cells and connect to the nearest neighbour nodes. At the propagation step, individuals move from one cell to another through the selected edge of the lattice. The described algorithm can be easily generalised to other types of epidemic models and can easily be modified to incorporate more realistic types of motions of individuals. Like, the motion
of the individuals connected to their daily activities. The mean-field dynamics of the automaton can be approximated by the following set of difference equations7: ρS (k + 1) = ρS (k) – r ρS (k) ρI (k), ρI (k + 1) = ρI (k) + r ρS (k) ρI (k) - aρI (k), ρR(k + 1) = ρR (k) + a ρI (k),
where: k k+1 a r ρS ρI ρR
is the kth iteration is the ((k+1)th iteration is the probability of removal is the infectious rate per contact is the concentration of Susceptible is the concentration of “Infectious” is the concentration of “Removed”.
From the above equations it is straightforward to derive the automaton ordinary differential equations. H. Fukś and A. T. Lawniczak have investigated8 effects of spatial inhomogeneitis on the dynamics of the epidemic process using examples of two vaccination strategies which only differ in spatial distribution of vaccinated individuals. They discussed the differences between mean-field dynamics and simulation results. H. Fukś and A. T. Lawniczak have described8 the model and showed8 its advantages. Indeed this model addresses some of the issues raised by Mollison and others9.
To be practically useful, the computer implementation of any mathematical model needs to be close to the end user point of view, 7
See reference item , page 4, equations (7)
See reference item 
See reference item 
needs to be written in the language of the “application domain” expert. This has been done. The program does not need recompiling for changes of the parameters of the above-mentioned set of equations. The program has been written using in C++ using FLTK (“Fast Light Tool Kit”)10, a C++ graphical user interface toolkit for X (UNIX®), OpenGL, and WIN32 (Microsoft® Windows® NT 4.0, 95, or 98). This allows compiling and running the same code under all popular environments. Only Linux and Windows’95 and Windows’98 versions have actually been implemented.
Only the implementation of the “Run Simulation” use-case involves using instantiation of classes related to the epidemic model. All other use-cases affect only initial condition values and applicable seeds.
From the user’s point of view, the program consists of a single window with three tab controls, resulting into the equivalent of three windows: • “main view” • “settings” • “file”
3.1 Object-Oriented View The software analysis and design have been carried on using the “use-case” approach, as shown in Figure 1 Figure 2 – “Main view” Tab Control Set Param eters
Us er Run Sim ulation
Figure 1 – “Use-case” View of the Modelling Tool
See reference item 
The “Main view” (Figure 2) shows: • the lattice being modelled (green pixels represent “Susceptible”; red pixels are “Infectious”; blue pixels are “Recovered”; black pixels are an artifact of the display technology) • three control buttons • Start/Stop • Reset • Exit • Six linear controls with digital display, showing the parameters of the set of equations (r, a, and four other parameters not defined here, to be used in more complex version of the model) • Three digital displays showing the total number of individuals for each category (S, I, and R)
Figure 4 and Figure 5 show the human interface of functions related to file management. The window labelled “Pick a file”, Figure 5, is displayed after the button labelled “Select initialization file” is pressed (see Figure 4). It has been deemed appropriate to leave the right side of all “tab control” based windows unchanged. In this way the user always knows which model is being run.
Figure 3 – “Settings” Tab Control
4. Conclusions A software tool for modelling the spread of epidemics has been presented. The key feature of this model is that being based on a Lattice Gas Cellular Automaton, it can help identifying spatial characteristics of the epidemics. The model can easily be modified to account for behavioural changes of the population affected by the epidemic. The most important feature of this model is the explicitness of individual contact process and mixing. Unlike models based on partial differential equations, this model is “individual” based. Given that the spread of epidemics occurs due to the motion of individuals and to their interactions, this model is a good platform with which to start further expansions like incorporation of social and economic aspects and various types of mixing of individuals. The software tool is the result of a first approximation use-case object-oriented analysis. Use has shown some room for improvement. However, comparison with older tools based on similar mathematical model shows that this tool has been designed with ease of use is mind.
5. Current & Future Work Figure 4 – “File” Tab Control
Some epidemics are plagued also by imprecise and vague data. The authors have started to investigate the use of “fuzzy logic” (a form of continuous multi-valued logic allowing “computing with words”) as a way of dealing with imprecise and vague data. The authors plan to apply this model to various epidemics. It is expected that software tool may be generalised to handle underlying models beyond the SIR (“Susceptible”, “Infectious”, and “Recovered”) model.
Figure 5 – “Pick a file” Dialog
Acknowledgements Anna T. Lawniczak and Henryk Fukś acknowledge partial financial support from: • the Natural Science and Engineering Research Council (NSERC) of Canada • The Fields Institute for Research in Mathematical Sciences • MITACS (“The Mathematics of Information Technology and Complex Systems”, a federally funded Network of Centres of Excellence) Bruno Di Stefano acknowledges total financial support from Nuptek Systems Ltd. Anna T. Lawniczak and Henryk Fukś acknowledge “in-kind” financial support from Nuptek Systems Ltd.
References  W.O. Kermack and A.G. McKendrick, “Contributions to the Mathematical Theory of Epidemics, Part I”, Proc. Roy. Soc. Edin. A 115 (1927) pages 700-721  H. Fukś, A. Lawniczak, “Individual based lattice model for the spatial spread of epidemics", 2000, The Fields Institute for Research in Mathematical Sciences Reports.  Denis Mollison (Editor), “Epidemic Models: their Structure and Relation to Data”, Publications of the Newton Institute, Cambridge University Press 1995, ISBN: 0521475368  N. Boccara and K. Cheong, “Critical behaviour of a probabilistic automata network SIS model for the spread of an infectious disease in a population of moving individuals”, J.Phys. A: Math. Gen. 26 (1993) 3707-3717.  E. Ahmed and H.N. Agiza, “On modeling epidemics, including
latency, incubation and variable susceptibility”, Physica A 253 (1998) 347352.  A. Benyoussef, N. Boccara, H. Chakib, and H. Ez-Zaharaouy, “Lattice three-species models of the spatial spread of rabies among foxes”, Int. J. Mod. Phys. C (2000) (to appear).  http://fltk.easysw.com/