Download as a PDF

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
Transcript
Return to Index
Object-Oriented Implementation Of CA/LGCA Modelling Applied To
The Spread Of Epidemics
Bruno Di Stefano
Henryk Fukś
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]
[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 [1]
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 [2], 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 [3], 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.
2.
LGCA Model
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 [2]
See reference items [3],[4], [5], and [6]
See reference item [2]
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.
3.
The Software
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 [2], page 4, equations (7)
8
See reference item [2]
9
See reference item [3]
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.
3.2
User’s View
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
Set Population
Us er
Run Sim ulation
Manage Project
Figure 1 – “Use-case” View of the Modelling
Tool
10
See reference item [7]
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
[1] 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
[2] H. Fukś, A. Lawniczak, “Individual
based lattice model for the spatial
spread of epidemics", 2000, The
Fields Institute for Research in
Mathematical Sciences Reports.
[3] Denis Mollison (Editor), “Epidemic
Models: their Structure and Relation
to Data”, Publications of the Newton
Institute, Cambridge University Press
1995, ISBN: 0521475368
[4] 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.
[5] E. Ahmed and H.N. Agiza, “On
modeling epidemics, including
latency, incubation and variable
susceptibility”, Physica A 253 (1998) 347352.
[6] 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).
[7] http://fltk.easysw.com/