Mathematical models of epidemics are essential tools for forecasting the spread of diseases. Recently, the COVID-19 pandemic has shown the importance of such instruments for planning control measures and assessing their impact [7] , [2] . Among the frameworks available in literature, networkbased models are particularly suitable for evaluating nonpharmaceutical interventions, e.g., social distancing, since they provide a natural representation of contact interactions between individuals (see, e.g., Fig. 1 ) [13] , [16] . However, computational complexity is an issue when large-scale scenarios are considered [6] . Consequently, researchers have suggested several strategies aiming to reduce the computational burden while maintaining adequate levels of accuracy.
For instance, [8] introduces a dynamical discrete-time Susceptible, Infected, Recovered (SIR) model with Boolean algebra formalism, in which operations can be efficiently implemented. SIR models, in which individuals are assumed to get immune after recovering from the disease, have been widely used to describe infectious diseases [3] , [10] . However, the limitation of discrete-time simulations comes from the synchronous updating, in which the state of the system is updated at regular time intervals. Since the time step has to be small enough to capture high frequency phenomena, the state is often refreshed even when no new events occur, causing a waste of computational resources. Event-based methods, as the Gillespie algorithm, overcome this problem by updating the state only when a new event occurs [14] , [1] .
In our paper, we first present a discrete-time SIR model of the disease evolution. Our model is a dynamical and stochastic generalization of the Boolean model described in [8] , which also captures the possibility that individuals can be D. Zorzenon, F. Molinari, and J. Raisch are with the Control Systems Group within the Technische Universität Berlin, Germany. {zorzenon,molinari,raisch}@control.tu-berlin.de. infected from outside the investigated network at an arbitrary time. Next, we introduce the so-called Contagion Graph, a graph obtained from the interaction network, from which we formally derive an event-driven procedure to simulate the model. We analytically show that the procedure, based on Dijkstra's algorithm, significantly reduces the computational complexity, thus simulation time.
Another open issue in modeling epidemics over networks is the development of approximation schemes, whose aim is to describe the "mean behavior" of the disease evolution [11] . One of their advantages is the ability to provide insights of the stochastic process without the need of interpolating large amounts of simulation results [12] . We will show that the flexible nature of the Contagion Graph allows to formulate an approximate model based on statistical evidence. Both applications of the Contagion Graph are shown by employing randomized simulations.
The remainder of this paper is structured as follows. In Section II, the dynamical system modeling the epidemic spread is presented. We compare our model to the one of [8] in Section III. Section IV presents the Contagion Graph, which allows for both complexity reduction during simulation and "mean behavior" analysis. Concluding remarks are given in Section V.
Throughout this paper, N 0 denotes the set of nonnegative integers, N the set of positive integers, and R the set of real numbers. A graph is a pair (N , A) where N is the set of nodes and A is the set of arcs. If the graph is undirected, A is the set of all two-element subsets {i, j} of N , so that there is an arc between node i and node j. If the graph is directed, A is the set of all pairs (i, j), so that there is a directed arc from node i to node j.
A. Multi-agent SIR model Consider N , a set of agents labeled 1 through n ∈ N describing the whole population in which an infection is spreading. Each agent (also referred to as individual) can interact with other agents at discrete-time steps (or iterations). Assume the underlying network topology modeling such interactions to be an undirected graph, i.e., at every iteration k ∈ N 0 , G(k) := (N , A(k)). In particular, the set of neighbors of agent i ∈ N at iteration k ∈ N 0 is
and represents the set of all agents that can interact with agent i at iteration k. Note that, by definition, self-arcs are not considered. The infection can spread from one individual (agent) to one or more of its neighbors in the graph G(k), and this way through the whole population (set).
To this end, let x i : N 0 → {0, 1} describe if an agent, say i ∈ N , is found to be infected at iteration k ∈ N 0 . In particular,
x i (k) = 1 means that agent i is infected at iteration k, otherwise x i (k) = 0. In what follows, letN i (k) ⊆ N i (k) be defined as the subset of neighbors of agent i at iteration k that are infected. Formally,
If x i (k) = 0, agent i could be either susceptible (namely, it has never got in contact with the infection) or recovered (namely, it has already got in contact with the infection, towards which it has developed immunity). Let variable y i (k) capture whether an individual i is recovered at iteration k+1, i.e., y i (k) = 1 means that agent i ∈ N is recovered at iteration k + 1, otherwise y i (k) = 0, namely i is susceptible or infected at iteration k + 1. This clearly implies, ∀i ∈ N , ∀k ∈ N 0 ,
It is also assumed that immunity lasts forever, i.e., ∀k ∈ N 0 ,
Let, ∀i ∈ N , k i define the first time step when agent i is found to be infected, i.e., In this paper, we use the convention that inf ∅ = ∞; therefore, if agent i does not get in contact with the infection, then k i = ∞. Agent i's recovery time is the number of iterations from k i +1 until agent i is recovered, and is denoted by R i ∈ N. Formally, ∀i ∈ N , R i is the smallest integer such that
The system is heterogeneous, i.e., agents may have different recovery times.
Consider a pair of agents, i.e., {i, j} ⊂ N , such that {i, j} ∈ A(k) at a given iteration k. Agent i is infected (x i (k) = 1) whilst agent j is susceptible. The probability that agent i infects its neighbor agent j at time k is p ij (k) ∈ [0, 1]. Formally,
We model this behavior by defining a random variable drawn out of a Bernoulli distribution with probability p ij (k), i.e.,
called contagion coefficient. We assume that, ∀{i, j} ∈ A(k), ξ ij (k) = ξ ji (k). If ξ ji (k) = 1, an infected agent i infects a susceptible neighbor agent j at iteration k. Formally, ∀k ∈ N 0 , ∀{i, j} ∈ A(k),
Consider, e.g., the case of an infection spreading across a population. Each contagion coefficient models whether two neighboring agents, at a given time step, have a contact, which would cause a contagion in case one of the two is infected.
We also consider that the infection can hit an individual without being spread from one infected agent in the network, but rather from an external injection. To this end, let
denote that agent i gets in contact with the infection (from outside of the network) at time k ∈ N 0 . Traditional models considering closed populations (see, e.g., [8] ) can be represented by having u i (0) = 1, with agent i defined traditionally as patient zero. Note that, ∀i ∈ N , ∀k ∈ N 0 ,
Once an agent, say i ∈ N , is infected, we know that it will recover in R i iterations. We define a variable, referred to as infection stopwatch, formally defined as, ∀i ∈ N , ∀k ∈ N 0 ,
Such a variable counts the time steps since agent i got infected. If no infection is developed at time k, then this variable is 0. If agent i has already recovered at time k, this variable equals R i + 1.
With all such notions at hand, the dynamics of each agent i ∈ N evolves according to the non-linear discrete-time system
where : R → {0, 1} is the step function
In what follows, let x(k) and s(k) be n-dimensional vectors stacking, respectively, the infection variables and the infection stopwatch variables of all agents at time step k, i.e., ∀k ∈ N 0 , ∀i ∈ {1, . . . , n}, Proof. The proof is omitted due to space limitation.
Example 1. Consider the static network (N , A), depicted in Figure 1 , in which an infection is spreading with dynamics (9) . Agent 1 gets in contact with the infection at time 0, i.e., u 1 (k) = 0. We simulate three different scenarios in order to address the impact that different parameters have on the infection spreading. Figure 2 : let, ∀(j, i) ∈ A, ∀k ∈ N 0 , p ij (k) = 0.2 and ∀i ∈ N , R i ∈ [3, 5] (randomly extracted from this set). We can observe the infection dynamics in the figure. Some agents never get infected. In fact, after time k = 40, a subset remains susceptible and the infection disappears. Figure 3 : in this case, we increment the maximum recovery time to 30 iterations. This implies, as in the figure, that the peak of infection is wider and longer-lasting. Also, the whole population gets in contact with the disease. Figure 4 : on the other hand, if we increment the possibility of infecting another agent (namely, ∀(j, i) ∈ A, ∀k ∈ N 0 , p ij (k) = 0.5), but we keep the maximum recovery time to 5 iterations, we obtain a fast infection spread, in which the whole population is infected, but the infection disappears after 30 steps.
Running each one of these simulation takes on average 0.95s on a machine mounting Intel i7 at 2.90GHz with Python 3.6. The running time increases with the simulation horizon, which must be set large enough to capture the entire disease evolution. As shown in the examples, an adequate choice of the simulation horizon greatly depends on parameters of individuals such as p ij (k) and R i . This proves that, despite the benefits of agent-based models, the time needed for simulation diverges, not only with the network's size, but also with the size of parameters of agents. As motivated by [11] , this paper is concerned with finding a formal method to run multi-agent simulation on networks with inexpensive computational effort.
Note that x i (k), y i (k), k i , and s i (k) are random variables, functions of contagion coefficients.
In the following, we show that system (9) can be rewritten as a dynamical system in the Boolean algebra. This proves that our model is a stochastic dynamical generalization of [8, Eq. (3) ]. In fact, our system is represented in the formalism of dynamical systems, whilst [8, Eq. (3) ] has a state vector whose dimension increases with iterations. Moreover, in [8, Eq. (3) ] contagion is deterministic, whereas in (9) it depends, at every time step k ∈ N 0 , on the stochastic realizations of variables {ξ ij (k)} {i,j}∈A(k) . Moreover, [8, Eq. (3)] does not consider infections originating outside the considered network, but only epidemics within a closed population.
Remark 2. Due to space limitation, in this section we consider (9) without the presence of u i (k).
Consider two Boolean variables a and b. We define, respectively, disjunction, conjunction and negation operations as, ∀a ∈ {0, 1}, ∀b ∈ {0, 1},
We extend the operations to matrices. To this end, consider three Boolean matrices, i.e., A, B ∈ {0, 1} n×m , C ∈ {0, 1} m×p . Disjunction, conjunction, and negation operations are defined as
Furthermore, let us define the element-wise conjunction operation (Hadamard product in the Boolean algebra) ∧ , i.e.,
We define the following dynamical system in the Boolean algebra with k ∈ N 0 the iteration index:
where
Note that, if y b (0) = 0, the second equation of system (10) can be written as
In this case, and considering all contagion coefficients equal to one, i.e., ∀{i, j} ∈ A(k), ξ ij (k) = 1, it is immediate to see the equivalence of system (10) with [8, Eq. (3) ].
Remark 3. The state of system (10) at iteration k is
with n s = n + i∈N R i . Unlike [8, Eq. (3)], in system (10) the state dimension does not grow with time, but has dimension n s .
Remark 4. The state-space cardinality for system (10) is 2 ns . It is immediate to show that system (9) has a lower state-space cardinality than system (10) if i∈N
In what follows, we prove that (10) can be seen as the Boolean formulation of (9). Proposition 2. Assume, ∀i ∈ N ,
and, by definition,
. Vectors x(k) and s(k), respectively x b (k) and y b (k), evolving according to (9) , respectively (10), satisfy, ∀k ∈ N 0 , ∀i ∈ N ,
The proof follows by strong induction. Let the induction statement be (11) . The base case, for k = 0, is trivially verified in the hypothesis. The inductive hypothesis is that, ∀k ≤ h, h ∈ N 0 , (11) is true. Thus, we need to prove that (11) must also be true for k = h + 1. First of all, let us note that, by the inductive hypothesis, ∀i ∈ N ,
By the induction hypothesis and by definition of (•), we have, ∀i ∈ N ,
By bringing together (12) and (13), we conclude that, by the inductive hypothesis, ∀i ∈ N ,
At this point, to conclude the proof, we need to prove that the induction hypothesis also implies, ∀i ∈ N ,
To this end, note that, by (9) , ∀i ∈ N ,
By the induction hypothesis, ∀i ∈ N ,
By (10), ∀i ∈ N ,
for some ∈ {R i − 1, . . . , h}. By bringing together (16), (17), and (18), under the induction hypothesis, (15) is verified. This proves (11) for k = h + 1, thus implying, by strong induction, that (11) always holds. This concludes the proof.
As motivated in literature and seen in Example 1, a common issue for models of epidemics over networks is the computational burden. In this section, we investigate a possible way to obtain simulation results for system (9) with reduced computational complexity.
In order to ease the explanation, consider these two assumptions that will be relaxed in future work. Assumption 1. The network topology is constant over time, i.e., ∀k ∈ N 0 , A(k) = A. Assumption 2. The contagion coefficients of each pair of agents is constant through time, i.e., ∀k ∈ N 0 , ∀{j, i} ∈ A, ξ ij (k) = ξ ij .
Assumption 1 corresponds to the case in which neither restricting measures are taken in order to contain the contagion, nor new connections between individuals can be established. With Assumption 2, we consider the probability of interaction between any pair of individuals to be constant over time.
Consider k i as defined in (3). Set {k i } i∈N provides a full description of epidemics; indeed, if k i ∈ N 0 , individual i gets infected at time k i and recovers at time k i + R i + 1, whilst, if k i = ∞, agent i never gets infected. Definition 2. The random variable τ ij (k) denotes, ∀{i, j} ∈ A, the time-steps that agent j ∈ N i takes to infect its neighbor i, assuming k j = k, and ignoring the effect of other individuals. Formally, Let nowÑ be a new set of nodes labeled with negative numbers, such that each node in N ext corresponds to one node inÑ , i.e.,Ñ
Proof. If τ ∈ {1, . . . , R j }, then τ ij (k) = τ corresponds to event ξ ij (k) = . . . = ξ ij (k + τ − 1) = 0, ξ ij (k + τ ) = 1.
Since ξ ij (k) is a Bernoulli distributed random variable, in this case τ ij (k) assumes the geometric distribution Geo(p ij ), as in the first line of (20). Note that for τ ∈ N\{1, . . . , R j }, τ ij (k) = τ has zero probability, since it would imply h > k + R j − 1 in (19) . Therefore, event ξ ij (k) = . . . = ξ ij (k + R j − 1) = 0, which has probability (1 − p ij ) Rj , corresponds to
This concludes the proof. 
where
and u ij ∼ U (0, 1).
Proof. By incorporating (6) into (3), for i being an agent closed towards external infection, one has
Also by (3) and definition of recovery time, the latter is equivalent to
that, by considering (19), can be rewritten as
By Lemma 1, being τ ij stationary,
A realization of τ ij , by (20), is determined by applying a threshold φ Rj (·) on a realization of a random variable, sayτ ij , with geometric distribution, i.e.,τ ij ∼ Geo(p ij ),
An algorithm for sampling a geometric random variable in constant time 2 is given in literature, see, e.g., [5, section X.2]. Given a realization of a uniformly distributed random variable u ij ∼ U (0, 1), a sample ofτ ij is is computed exactly using formula log 1−pij u ij , where · is the ceiling function. By incorporating
into (22), the proof is concluded.
Corollary 1. Under Assumptions 1-2, for any agent i closed towards external infections, we have
for u ij ∼ U (0, 1).
By incorporating (23) into the latter, the proof immediately follows.
We have gathered all notions needed for defining the Contagion Graph associated to network (N , A) in which an infection is spreading across nodes with dynamics modeled by (9) . (9) is a directed graph with random weights whose nodes are N ∪Ñ . The set of arcs is
Arc weights are, ∀(j, i) ∈ A 1 , τ ij , and, ∀(−i, i) ∈ A 2 , k ext i . Weights τ ij are random variables whose distribution is as in (23). Fig. 5a . The recovery time is supposed to be 3 time steps for each individual, i.e., ∀i ∈ N , R i = 3, and the time of infection from external sources are k ext 1 = 1, k ext 4 = 3. From these parameters, it is possible to draw the Contagion Graph in Fig. 5b , where nodes of set N = {1, 2, 3, 4, 5} are in white and the ones of setÑ = {−1, −4} are in red; note that weights τ ij are random variables, while k ext i are deterministic. Assuming that, ∀{i, j} ∈ A, p ij = 0.2, a realization for random variables τ ij is computed as in (23). The corresponding realization of the Contagion Graph is shown in Fig. 5c . Here, the arcs that are missing from the Contagion Graph correspond to a realization τ ij = ∞. 2 Hereafter, we assume that we can draw uniform distributed random variables in constant time. The Contagion Graph provides an efficient method to compute all {k i } i∈N , as explained by the following result.
Theorem 2. For each agent i ∈ N , the random variable k i is equal in distribution to the minimum weighted path on the Contagion Graph from any node inÑ to i.
Proof. Consider (25). This can be expanded as, ∀i ∈ N ,
One can see that k i is equal in distribution to the minimum between the path from −i ∈Ñ to i ∈ N , the path from −j ∈Ñ to i ∈ N , and k plus the path from ∈ N to i ∈ N . By doing this recursively, one obtains
which is, by Definition 5, the minimum path going from one node −h 1 ∈Ñ to i ∈ N .
By this latter Theorem, in order to simulate the epidemics' dynamics (9) over a network (N , A) , it is sufficient to obtain a realization of the Contagion Graph and compute (26) for each node. As it will be shown in Section IV-B, this allows to decrease the computational complexity if compared to running (9).
Corollary 2. For a realization of the Contagion Graph, we can compute the number of infected agents at every time k ∈ N 0 as i∈N
Proof. The proof is omitted due to space limitation.
Example 3 (Continuation of Example 2). Given the realization of Fig. 5c , we can determine the evolution of the disease spread by computing the paths of minimum weight from any node ofÑ to any node of N . By solving the singlesource shortest path problem from nodes −1 and −4, and then taking the path of minimum weight between the two, we get k 1 = 1, k 2 = 4, k 3 = 7, k 4 = 3, k 5 = 4.
B. Computational complexity 1) Dynamics (9) : in order to compute the disease evolution using (9), we need n(n + 4) operations for every time step. Note that the number of time steps needed to capture the entire evolution depends on the size of parameters p ij , R i and k ext i ; hence, with this approach, which is the same described in [8] , we can compute k i for all nodes only in weakly polynomial time complexity of O(n 2 T ), where T ∈ N is the simulation horizon.
2) Contagion Graph: Obtaining a realization of the Contagion Graph requires at most a computational complexity equal to O(n 2 ). In fact, drawing the Contagion Graph requires to compute (23) for all elements of set N × N . By Theorem 2, for each agent i ∈ N , k i can be computed by solving a single-source shortest path problem from every node inÑ to every node in N . Since the weights of every Contagion Graph realization are non-negative, this can be done by applying Dijkstra's algorithm |Ñ | times. Note that the complexity of one run of Dijkstra's algorithm equals O(n 2 ). Hence, the overall complexity of employing the Contagion Graph for computing {k i } i∈N is O(n 2 + n 2 |Ñ |) = O(n 2 |Ñ |), thus strongly polynomial in time, see, e.g., [4] . Given that, in general, T |Ñ |, using the Contagion Graph greatly improves simulation performance.
Example 4 (Continues from Example 1). Running the same simulation as Fig. 2 with the Contagion Graph takes 0.05s on the same machine.
The Contagion Graph can be also a computationally inexpensive method to assess the "mean behavior" of an epidemics over a network. We formulate the approach, described also in [9, section 2.1], only in the case of static networks; future work will extend the same strategy to the dynamical case.
Consider an arc, say (j, i), of the Contagion Graph. Its weight is a random variable (moreover, in case its realization is infinite, the arc is dropped). We aim at estimating the value of this arc weight by fitting some parameters. In fact, given a parameter β ∈ [0, 1], the estimated arc weightτ ij ∈ N∪{∞} is the minimum value greater than τ ij with probability higher than β. Formally, ∀(i, j) ∈ A 1 ,
Different choices of β correspond to different approximations of τ ij . By (20) and (27), one can obtain an explicit formula forτ ij , i.e., 3 :τ
We build a Contagion Graph with arcs having weights equal toτ ij (note that if the weight is infinite, the corresponding arc is dropped). Thus, we can obtain an estimation of set {k i } i∈N (depending on β), by solving the shortest path problem, as in Section IV-A. Clearly, these estimates are computed in the same time complexity of a single simulation.
Example 5. Consider the network in Fig. 6 , in which u 1 (0) = 1. We consider two different scenarios for the problem: (i) p ij = 0.8 and R i ∈ [3, 20], (ii) p ij = 0.2 and R i ∈ [3, 20] . For each scenario, we run 400 Montecarlo simulations employing dynamics (9) and one realization of the Contagion Graph following the idea in Section IV-C, with β = 0.5. We compare results of the Contagion Graph with results from the discrete-time simulation, thus showing that the Contagion Graph could be used as an approximated model. In fact, in Fig. 7 (scenario (i)), one can see that the Contagion Graph represents the "mean behavior" of the randomized simulations. By decreasing the infectivity (scenario (ii)), many more nodes will happen to be noninfected through simulations. This is the case of Fig. 8 , in which the Contagion Graph captures the fact that some nodes are not expected to get infected, and these correspond to the nodes that are found to be non-infected most times in the Montecarlo simulations.
This paper has considered an agent-based model of epidemics over complex networks and has provided a novel method for simulating epidemics with lower computational complexity. The proposed method is based on a graph-based formalization of the problem and can be also employed for estimating the mean behavior of the epidemic. Future work will aim at extending the present work to the case of time-varying contact networks, and at developing fast control actions based on the Contagion Graph for containing epidemics on large-scale networks. By using available open data, we aim to employ our method to investigate COVID-19 scenarios. Fig. 7 : Simulation results for Example 5-(i). The diameter of each circle is proportional to how many times k i is found with that value in the Montecarlo simulations of dynamics (9) . Few agents are found to be non-infected (in few simulations). The results provided by the Contagion Graph (black triangles) show that this approach provides a reliable estimation of the "mean behavior". . The decrease in infectivity results in many agents not being infected through the Montecarlo simulations (see the red circles with larger diameter than Example 5-(i)). This phenomenon is captured by the Contagion Graph.