{'fraction_non_alphanumeric': 0.03778526000748223, 'fraction_numerical': 0.007388701833146278, 'mean_word_length': 4.267159277504105, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Finding an individual's probability of infection in an SIR network is NP-hard

The celebrated Kermack-McKendric model of epidemics studies the transmission of a disease in a population where each individual is initially susceptible (S), may become infective (I) and then removed or recovered (R) and plays no further epidemiological role. This ODE model arises as the limiting case of a network model where each individual has an equal chance of infecting every other. More recent work gives explicit consideration to the network of social interaction and attendant probability of transmission for each interacting pair. The state of such a network is an assignment of the values {S,I,R} to its members. Given such a network, an initial state and a particular susceptible individual, we would like to compute their probability of becoming infected in the course of an epidemic. It turns out that this problem is NP-hard. In particular, it belongs in a class of problems all of whose known solutions require an exponential amount of computation and for which it is unlikely that there will be more efficient solutions.


Introduction
Mathematical modelling of epidemics is often traced to the celebrated SIR model of Kermack and McKendrick [1]. This model posits a population of constant size whose members fall into one of three classes: susceptible (S), infective (I) and removed (R). Approximating these as continuous and assuming well-mixing, i.e., each individual is in equal contact with and equally likely to infect each other individual, allows for an approximate description of the infection dynamics using ordinary differential equations (ODE).
Clearly, as it has been argued by many in theoretical [2, 3, 4] as well as experimental studies [5], the well-mixing assumption is not an accurate representation of real contact patterns. Thus, much recent work has focused on the role of the network of disease-transmitting contacts. (Reviewed in [6]. See also, [7,8]. For a comparison of well-mixed and network-based models, see [9].) Indeed, Kermack's and McKendrick's ODE model arises as the limiting case of a simplistic network model in which each individual has an equal chance of infecting every other. However, real-world social contact networks exhibit complex patterns of interconnection between individuals. Further, the probability of transmitting disease from one individual to another depends on the nature, frequency and duration of the contact as well as the immune competence of the target individual. This leads to a modelling formalism of social networks as a probabilistic graph G = (G, Pr). Here G is the graph G = (V, E), each vertex u ∈ V is an individual, each edge e = (u, v) ∈ E records the fact that u might infect v and Pr : E → [0, 1] gives the probability that u infects v if u becomes infective while v is susceptible. In this formalism, G is a fixed graph G with labelling Pr.
This relatively new modelling paradigm has triggered an enormous amount of research in theoretical epidemiology. The field has greatly benefited from approaches that range from applications of bond percolation theory and other techniques from statistical physics [10,11,3,12,13,14,15,16,17,18] to large scale simulation endeavours [4,19,20,21,22]. Given that this mathematical formalism seems accurate and powerful to describe the spread of infectious diseases, the natural question arises as to whether calculations performed within this formalism can be used in practical situations to make useful predictions. Such calculations are based on potentially measurable parameters such as network topology and transmission probabilities [23]. For instance, one could attempt to calculate the probability that, given a social contact network G, an epidemic starting with a set P of infectives results in the infection of an initially susceptible individual u. Are there any computational limitations when trying to calculate such magnitudes? If yes, how limiting are they? Fortunately, to address the computational issues associated with this and similar calculations, we don't need to start from scratch, given that network engineers have already studied since the 1970s problems that are essentially the same.
In the era of electronically digitalized information and digital computers, communications networks have become the biggest and count among the most important networks. The size of these networks is exponentially increasing. For instance, the size of the Internet shows exponential growth since its creation in the early nineties (http://www.isc.org/). As the components of such networks are subject to failure, engineers face the problem of designing, constructing and operating networks that meet the required standards of reliability. Of particular interest is the estimation of how reliable a given network is in performing its function, provided some knowledge about the reliability of its components is available. In many cases, the functionality of the network can be expressed as the ability of its topology to support the network's operation. In other words, the network is functional if and only if certain connectivity properties are fulfilled. Consider a network of computers which use this network to transmit messages. Let us suppose that each of these computers is reliable, but that each communication link has some chance of failure when called upon to transmit a message. We then encounter the same formalism explained above for social networks. A communications network is given by G = (G, Pr) where each vertex u ∈ V is a computer, each edge e = (u, v) ∈ E is a communication link and Pr : E → [0, 1] is the reliability of the communication link from u to v. One might ask, given a communications network G, a set of computers P and a computer u / ∈ P , if the computers in P all send a message, what is the chance it will reach u? We will see that this is the same problem we stated above in the context of epidemics on social contact networks.
It has long been known in the communications network literature that this problem is computationally intractable. A standard benchmark of computational complexity is the class of NP-complete problems. This class has the following properties: • At present, no algorithm for an NP-complete problem is known to have a running time which is bounded by a polynomial. Indeed, many algorithms for NP-complete problems have exponential running time. It is unknown whether any NP-complete problem can be solved by an algorithm with polynomial running time. • If any problem in this class can be solved by an algorithm whose running time is bounded by a polynomial, then every problem in this class can be solved by an algorithm whose running time is bounded by a polynomial. In view of the second, it is considered unlikely that any NP -complete problem has a polynomial time solution. The communication among computers problem (and hence the epidemiology problem) listed above is known to be as hard as any NP-complete problem. Such problems are termed NP-hard. This is not the first problem in network epidemiology known to be NP-hard. Previously known examples include the following: Given a social contact network and limited resources • What is the optimal strategy for vaccinating a limited number of individuals? • What is the optimal strategy for quarantining a limited number of individuals? • What is the optimal strategy for placement of a limited number of sensors for monitoring the course of an epidemic? (See [24,25,26,27].) These problems involve the search for an optimum among subsets of the vertices or edges of the given social contact network. It might be hoped that finding the probability of infection of a single individual would be computationally less demanding. As the engineers have taught us, this is not so. While this result has been recently reported in the physics and operations research community [28], it seems almost unknown among epidemiologists.
This article is organized as follows: In Section 2 we give a very brief overview of the relevant concepts and methods in computational complexity. This provides the unacquainted reader with the basic tools for understanding the main message of this paper. Section 3 provides the elementary formal mathematical framework for studying SIR epidemics on networks, including the connection with percolation theory. In Section 4 we present a series of problems that have been studied in network engineering and demonstrate their structural isomorphism with certain problems concerning SIR epidemics on networks. Section 5 is devoted to studying the computational complexity of extended/generalized epidemiological problems. We finish in Section 6 with some concluding remarks.

Computational complexity
In this section we give a brief account of the class NP-complete. This class is a common benchmark for describing problems which are algorithmically soluble but computationally intractable. For those wishing a fuller account we recommend [29].
In describing the class NP-complete, it is useful to describe the class P, and necessary to describe the class NP. These classes of problems are defined in terms of computational complexity.
The computational complexity of a problem Π is measured in terms of the running time necessary for an algorithm which solves Π. Defining these terms requires some preliminaries. First, note that a problem Π consists of a collection of instances, D Π . Thus, "Determine whether 18 is composite" is an instance of the problem, "For any integer n, determine whether n is composite." This is an example of a decision problem, that is, for each instance, the answer is either "yes" or "no". A decision problem Π can be formalized as the pair (D Π , Y Π ), where Y Π ⊂ D Π consists of the yes instances. In this example, D Π is the set of integers and Y Π is the set of composite integers. We will refer to this problem as Π composite .
Notice that each instance π ∈ Π has a size, ℓ(π) and that the computational cost of solving the problem grows with the size of the problem. In this example, the size ℓ(n) of the instance n is the number of digits in n. If we then have an algorithm M which solves Π, we can consider the running time r M (π) required by M when applied to the instance π. This could be measured in elapsed time or in terms of the number of steps carried out by M in this computation. We can then define the running time of M to be The class P consists of those decision problems which can be solved with a polynomial running time. Stated formally, a decision problem Π belongs to the class P if there is an algorithm M which solves Π and a polynomial p(n) such that r M (n) ≤ p(n). An example of a problem in the class P is Π mult . An instance of Π mult is three integers, a, b and c. The size of an instance is the total number of digits in a, b and c. These constitute a yes instance if a × b = c.
The class NP consists of non-deterministic polynomial time problems. That is, a decision problem is NP if a machine which is allowed to guess can verify a yes instance in polynomial time. Π composite provides and example of a problem which is NP. Given an instance of Π composite , i.e., an integer c, if c is, in fact, composite, a correct guess as to its factors a and b, can be verified in polynomial time by calling Π mult . One can define this class in terms of the operation of non-deterministic Turing machines. See, for example, [30]. Clearly P ⊆ NP. In view of the perceived complexity of many problems in NP, it is generally believed that P = NP.
The class NP-complete consists of the hardest problems in NP. The problems in NP-complete have the following property: Suppose that Π 1 is NP-complete. Suppose that Π 2 is NP. Then there is an algorithm M which translates any instance π 2 of Π 2 into an instance π 1 of Π 1 such that π 1 is a yes instance of Π 1 if and only if π 2 is a yes instance of Π 2 . Further, both the computational cost of translating π 2 into π 1 and the size ℓ(π 1 ) are bounded by a polynomial in ℓ(π 2 ). It follows that if any NP-complete problem can be solved (deterministically) in polynomial time, then every NP problem can be solved in polynomial time. Put another way, if any NP-complete problem can be solved in polynomial time, we will then have P = NP.
Hundreds of problems are known to be NP-complete [29]. These come from fields such as graph theory, number theory, scheduling, code optimization and many others. They are widely believed to be intrinsically intractable, but this remains an open question. Other problems which are not necessarily NP-complete (e.g., because they are not decision problems) are known to be at least as hard. This is because for such a problem, say Γ, there is an NP-complete problem Π that can be reduced to Γ, where the computational cost of this reduction is bounded by a polynomial in the length of the instance problem considered. Thus, Γ can be used to solve Π. These problems are called NP-hard. Since NP-complete problems transform to each other, all NP-complete problems can be solved by a reduction to an NP-hard problem. NP-hard problems are found in fields as diverse as epidemiology and origami [31].

SIR epidemics on networks
We start by describing a network SIR model in which both the population and the individual transmission probabilities are constant with respect to time.
A state of this system is the assignment of each individual to one of the classes S, I or R. The transmission probabilities determine who can infect whom and consequently which states can follow a given state. Indeed, they also determine the probability that any one of these states follows the given state. An epidemic is a sequence of states each of which is a possible successor of the previous state. Consequently, given an initial state, we can speak of the probability that an epidemic evolves through a given sequence of states and the probability that it arrives at a particular state. Let us formalize this.
As above, a social contact network is a pair G = (G, Pr) where G is the graph with vertex set V and edge set E. Each edge has the form (u, v) with u, v ∈ V and u = v. The function Pr assigns a probability to each edge, that is Pr : The states of G are given by 1 Given states ϕ 1 and ϕ 2 , the state ϕ 2 is a possible successor of ϕ 1 if it satisfies the following conditions: The requirement that individuals recover in exactly on time-step might appear to be a drastic oversimplification. However, the formalism is rich enough to accommodate patterns of latency and extended periods of infectivity. This can be done by replacing the individual represented by vertex u by a sequence of vertices u 1 , u 2 , . . . representing u on day 1, u on day 2, etc. See, e.g., [32].
An epidemic Φ is a sequence of states ϕ 1 , . . . , ϕ k where ϕ i+1 is a possible successor of ϕ i for i = 1, . . . , k − 1. The length of this epidemic is ℓ(Φ) = k. Since individuals recover after one step, infection must be transmitted or die out. As a consequence, no epidemic can be longer than the longest self-avoiding path in G, for otherwise, it must infect some vertex twice. If we assume that each edge transmits or fails to transmit independently, then it is not hard to compute the probability that a susceptible individual is infected by its infected neighbours. This, in turn, allows one to compute the probability that a state ϕ 1 is followed by a particular successor state ϕ 2 . Let us denote this probability by Pr(ϕ 2 | ϕ 1 ). This system enjoys the Markov property, that is, the probability of a given state depends only on 1 In particular, a state ϕ can be seen as a subset of the Cartesian product V × {S, I, R}, and therefore, it is meaningful to speak of the probability of a state or of a collection of states. the previous state. Thus given an initial state ϕ 1 , the probability of the epidemic Φ = ϕ 1 , . . . , ϕ n , is The probability that u becomes infected at the n th step in the course of an epidemic starting with ϕ 1 is Pr(ϕ 1 , . . . , ϕ n | ϕ 1 ).
Abusing notation, we denote the probability that u becomes infected in the course of some epidemic starting with ϕ 1 by Pr(ϕ j (u) = I | ϕ 1 ).
Note that since an infected individual becomes recovered at the next stage, no epidemic appearing in this sum is an initial sub-epidemic of another. Accordingly, these are disjoint cases.
We will be interested in initial states ϕ 1 consisting only of infectives and susceptibles. In this case, we can identify ϕ 1 with the set of infectives P = ϕ −1 1 (I). This gives the notation Pr(u | P ).
Let us formalize the problem Π epidemic of finding Pr(u | P ). An instance π of this problem consists of • A graph G = (V, E).
• An initial infective set P ⊂ V .
• An individual u ∈ V \ P . A solution to π is the value Pr(u | P ). We take ℓ(Π) = |V |. The epidemiological viewpoint we have just described follows the evolution of probabilities over time. If we ignore the order of events, we come to the simpler viewpoint of percolation. Percolation methods have been used in epidemiology. (See, for example, [34,35,32,3,36,37]. The latter two contain extensive references.) Since an individual is only infected for one time step in the course of any epidemic, an edge can transmit at most once in the course of an epidemic. This allows us to consider a random variable that takes as values subgraphs of G. Given G, we take G to be the random variable which takes values in The probability that G takes the value G ′ is given by We may think of E ′ as determining whether e = (u, v) transmits in the course of an epidemic if that epidemic has a state ϕ with ϕ(u) = I and ϕ(q) = S. Given a 2 There are technical issues here concerning the values of these probabilities. To avoid these issues they are usually assumed to be rational numbers and bounds are placed on the sizes of their denominators. For details, see [33]. Since Q is dense in R, this is not a limitation on the possible probability values relevant in real applications. path τ in G, we will abuse notation by writing τ ⊂ G and e ∈ τ for the edges of τ . Given a path τ , the probability that it appears in G ′ = (V, E ′ ) is For a proof of the following theorem, see, e.g., [32].
Theorem 1. Suppose G is social contact network. Then Pr(u | P ) = Pr ({G ′ | G ′ contains a path from P to u}) .
In particular, Pr(u | P ) is a finite sum of terms of the form (1). Accordingly, it is a polynomial in the values Pr(e) with integer coefficients and degree |E| .
This theorem provides the link between epidemiology and communications networks.

NP-hard problems on communications networks: Consequences for epidemiological calculations
We assume that a communications network consists of a set of computers, each of which is reliable and a set of communication links each of which has a known likelihood of failure and that the communication links function or fail independently. There is no loss of generality in regarding each node as infallible, since a fallible computer can be modelled as a pair of nodes with a fallible link connecting its input to its output. Once again, we can formalize this as G = (G, Pr), where G(V, E) represents installed capacity (V being the set of computers and E the set of communication links), Pr : E → [0, 1] the reliability of each link and G is the random variable assuming values in {G ′ = (V, E ′ ) | E ′ ⊆ E}. Each G ′ = (V, E ′ ) is the subnetwork of functioning links left after the failure of the edges e ∈ E\E ′ . Successful transmission of a message on this network depends on the connectivity of the subgraph realized by G. Network engineers focus on several kinds of connectivity. We first examine two of the simplest.
The two-terminal reliability problem is defined as the calculation of the probability that there is at least one correctly functioning path in the network connecting a predefined source node to a predefined target node. An instance π of Π two terminal consists of the following: A solution to π is the value Pr(v | u). By Theorem 1, this value is an integer polynomial in the values Pr(E). Thus, if we restrict to the case where Pr(E) takes a single value, this becomes an integer polynomial in one variable called the reliability polynomial. Thus a related problem is the following: An instance π of Π rel poly is A solution to π is the coefficients of the reliability polynomial. A number of additional network reliability problems have been studied (see [33], an excellent introduction to this field). These include • k terminal reliability. This requires that k chosen terminals are mutually pair wise connected. • Broadcasting, also known as all terminal reliability: This requires that all terminals are pair wise connected. Naturally, in addition to the network reliability problems presented above, many other reasonable problems can be defined or could arise from practical applications. Formally, once a model G = (G, Pr) of the network has been chosen, a general mechanism to define a reliability problem is the following: A network operation is specified by defining a set Op(G) ⊆ {G ′ = (V, E ′ ) | E ′ ⊆ E} of states considered to be functional. The set Op(G) is sometimes called a stochastic binary system; the elements of Op(G) are termed pathsets. Specifying the pathsets for G determines the whole stochastic binary system, and therefore defines the network operation. The reliability problem consists of finding the probability Pr(Op(G)) that the probabilistic graph G assumes values in the set Op(G).
A first naive algorithm to solve a network reliability problem formulated in this general manner is to enumerate all states of G (i.e., the cardinality of the set {G ′ = (V, E ′ ) | E ′ ⊆ E}), determine whether a given state is a pathset or not using some predesigned recognition procedure 3 , and sum the occurrence probabilities of each pathset. Due to the statistical independence assumed, the probability of occurrence of a pathset is simply the product of the operation probabilities of the edges in the pathset and the failure probabilities of the edges not present in the pathset. Complete state enumeration requires the generation of all 2 |E| states of G, implying that the running time of this algorithm would exponentially depend on the number of links in the network.
A substantial amount of effort has been put into finding more efficient algorithms for exact calculation of network reliability problems (see [33]). However, efficient exact solutions seem unlikely: Theorem 2. The problems Π two terminal and Π rel poly are NP-hard.
For a proof of this result, see, for instance, Theorem 1 in [38]. These problems belong to the class #P-complete [39,40,41,42,43,33]. #P is the set of the counting problems associated with the decision problems in the set NP. Thus, while a decision problem might ask whether something exists (e.g., an assignment of truth values to a set of variables which satisfies a given formula), the corresponding enumeration problem asks how many of these there are. Solving the enumeration problem solves the corresponding decision problem since knowing whether the number of these things is positive tells us whether one exists. In particular, the counting version of any problem is always at least as hard as the corresponding existence problem. In analogy to NP-completeness, a problem is #P-complete if and only if it is in #P, and every problem in #P can be reduced to it by a polynomial-time counting reduction (see [29] for more details). Corollary 1. The problem Π epidemic is NP-hard.
3 Such recognition procedures generally boil down to path-finding or spanning tree methods, which are efficient (i.e., of polynomial running time) and well-know procedures in algorithmic graph theory and computer science.
To see this, notice that every instance of Π two terminal is an instance of Π epidemic , namely, an instance in which P consists of a single vertex.
More generally, despite dedicated efforts, no algorithm of polynomial running time has been found that allows for the exact calculation of the probability Pr(Op(G)) of a given set of pathsets Op(G), unless very specific assumptions are made on the topology of the underlying probabilistic network ( [33,44]). We consider it an open question as to which (if any) of these more general network reliability problems (defined through the choice of a suitable stochastic binary system Op(G)) correspond to epidemiological problems.

NP-hardness of extended problems in epidemiology
Epidemic on networks with time-varying transmission probabilities. As we have seen in the previous section, the seemingly simple problem of finding an individual's chances of infection is NP-hard. This is even so in the case where the set of initial infectives is a single individual.
We can generalize Π epidemic by allowing transmission probabilities to vary over time. We have seen that the length of any epidemic is at most the length of the longest self-avoiding path in G. Consequently, time-varying transmission probabilities can be encoded as In this case, percolation methods no longer apply. However, every instance of Π epidemic can be mapped into an instance of this extended problem. Thus, the time-varying version of this problem is NP-hard.
Epidemic on networks with disease latency. One might also generalize Π epidemic to allow patterns of latency and extended periods of infectivity 4 . We will take I to be a sequence of distinct states, {I 1 , I 2 , . . . , I N }. We assume that for each stage I i there is an infectivity µ i and a probability of recovery ρ i . We take ρ N = 1. We now consider a social contact network G and infectivity pattern I. We refer to this as an {S, I, R} network. The states of this network are We modify the definition of possible successor states so that the allowable transitions are from S to I 1 , from I i to I i+1 for i = 1, . . . , N − 1 and from I i to R for i = 1, . . . , N . If ϕ(u) = I i , u transitions to state R with probability ρ i and to state I i+1 with probability 1 − ρ i . If e = (u, v) ∈ E and ϕ(u) = I i , and ϕ(v) = S, then u infects v with probability Pr I (e, i) = µ i Pr(e). We assume that I is non-trivial in the sense that there is i with µ i = 0 and ρ j = 1. This ensures that an infected individual has a positive probability of reaching an infective state. As before, under the assumption that transmissions and recoveries happen independently, we can develop an expression for Pr I (u | P ).
Fix I. An instance of Π I is an instance of Π epidemic . A solution to Π I is the value Pr I (u | P ) Theorem 3. Given an non-trivial infectivity pattern I, Π I is NP-hard.
Lemma 1. Given G = (G, Pr) and I, there is G ′ = (G, Pr ′ ) so that for each P ⊂ V and u / ∈ P , Pr I (u | P ) = Pr ′ (u | P ).
What are the chances that v remains uninfected by u? (We assume for the moment that v is not infected by some other neighbour during the next N steps.) We take µ = Pr(e). Let us denote by ν i the probability that u remains infected for i steps, but not i + 1 steps. We then have The probability that v remains uninfected by u is We now define G ′ = (G, Pr ′ ) by taking This does what is required.
Proof of Theorem 3. We will show that Π rel poly is polynomially reducible to Π I . Fix I to be a non-trivial pattern of infectivity. Suppose we are given an instance π of Π rel poly . This consists of a graph G and source and target vertices u and v. Suppose also that we have a polynomial time algorithm for solving Π I . We choose N + 1 arbitrary probabilities p 0 , . . . , p N +1 . These give us N + 1 instances of Π I by taking G i = (G, Pr i ), where Pr i takes the constant value p i . By the previous lemma, solving these N + 1 instances of Π I solves N + 1 distinct instances of Π epidemic which consist of the graph G and differing constant functions Pr ′ i . These N + 1 values give us N + 1 independent linear equations whose unknowns are the coefficients of the reliability polynomial. Solving for these is a polynomial time problem.
Expected number of total infections. One might hope that while computing an individual's probability of infection is NP-hard, there might be a way to compute the expected number of infections. This, too, is NP-hard. Let us formalize this.
An instance π of Π expected is • A graph G = (V, E).
• An initial infective set P ⊂ V . A solution to π is the expected number of infections, u∈V Pr(u | P ).
The following theorem was proved in [28]. For the sake of completeness, we provide a proof here.
Proof. We will show that Π epidemic can be polynomially reduced to Π expected . Suppose we are given an instance π of Π epidemic . Let π be the instance of Π epidemic which is formed from π by appending a single edge from u to v / ∈ V and assigning Pr(u, v) = 1. It is clear that the expected number of infections in π differs from the number of expected infections in π by exactly Pr(u | P ). Thus, if we had a polynomial time algorithm for finding the expected number of infections, we could find the probability of any individual becoming infected.
The fact that Π rel poly is NP-hard suggests that the difficulty lies not in the probabilities Pr but in the topology of G. One problem which we have not addressed here is the question of calculating the probability of infection in an {S, I, R} network where G = G t changes over time due to stochastic births and deaths. It seems likely that this will also provide a source of NP -hard problems. However, this requires a reformulation of the underlying problem.

Discussion and conclusions
It has been the purpose of this paper to draw the attention of network epidemiologists to results in communications network reliability which shed light on questions regarding the computational aspects of epidemiology of {S, I, R} networks.
Theorem 1 and Theorem 4 tell us that generally, in the absence of a major break-through in computer science we cannot expect to be able to compute exact probabilities of infection or expected number of infection in large social contact networks. As [29] points out, problems do not go away simply because we have deemed them NP-hard.
Since the network engineers have been here before us, it is tempting to ask whether their solutions will work for epidemiologists. While we consider the case open, the prospects seem mixed. Network engineers are often in the position of being able to choose the class of networks under consideration. As opposed to scalefree [8,45] and small-world network structures [46,47,8], which frequently arise from a self-organization process during the spontaneous growth of a network, engineered or purposefully designed networks show rather different structures. Some of the classes that allow efficient calculations (exact or approximate) include trees, full graphs, series-parallel graphs [33], and channel graphs [44]. Unfortunately, these classes of networks seem unrealistic as models of social contact networks.
Network engineers have turned to Monte Carlo simulation for the calculation of estimates of network reliability. We would like to give pointers into their literature [48,49,50,51,52,53,54,28]. This approach has received increased attention in the last decade due to the power of modern computers and computing clusters. While Monte Carlo simulation only calculates an unbiased point estimator for reliability probabilities, increasing the number of simulated samples causes these estimates to converge to the actual value.
The fact that efficient and precise algorithms for computing infection probabilities are out of reach (see Theorems 1, 3 and 4) has real-world consequences. Designing a response to an emerging epidemic can depend on determining the kind of epidemiological probabilities we have been discussing [55]. The effectiveness of interventions during an emerging epidemic often crucially depends on timely implementation. Our results and those of [24] and [25] place an emphasis on the search for efficient and quick methods that give good approximations when applied to real-world social networks.