{'fraction_non_alphanumeric': 0.04584648161919884, 'fraction_numerical': 0.00996924808554258, 'mean_word_length': 3.943759936406995, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 7, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
How to Identify an Infection Source with Limited Observations

A rumor spreading in a social network or a disease propagating in a community can be modeled as an infection spreading in a network. Finding the infection source is a challenging problem, which is made more difficult in many applications where we have access only to a limited set of observations. We consider the problem of estimating an infection source for a Susceptible-Infected model, in which not all infected nodes can be observed. When the network is a tree, we show that an estimator for the source node associated with the most likely infection path that yields the limited observations is given by a Jordan center, i.e., a node with minimum distance to the set of observed infected nodes. We also propose approximate source estimators for general networks. Simulation results on various synthetic networks and real world networks suggest that our estimators perform better than distance, closeness, and betweenness centrality based heuristics.


I. INTRODUCTION
Online social networks like Facebook and Google+ have grown immensely in popularity over the last ten years [1]- [3]. For example, Facebook reports over 690 million daily active users on average in its most recent quarterly report, a 27% increase year-over-year [4]. The increase in the size and complexity of such social networks have also been driven by increasing use of technologies like smart phones that facilitate more frequent and faster updates and interactions between members of the social network [5]. Physical social networks consisting of communities of individuals have also grown bigger and more complex due to urbanization and technological advancements in transportation [6]. As a result, a piece of information or rumor posted by one individual in a network can be propagated to a large number of people in a relatively short time. For example, a false rumor about the financial performance of a listed company may be spread by market manipulators to influence the price of the company's stock. An essay containing opinions inciting racial or religious hatred may become widely distributed in an online social network. In some locales like China [7], publication of such rumors and opinions are illegal, and law enforcement agencies need to act to identify the rumor and opinion sources. This may be difficult if the source is anonymous, and significant time and effort is expended to trace the IP addresses and identities of the individual profiles carrying or linking to the opinion piece. In another example, it is important to identify the index case of a disease spreading in a community in order to determine the epidemiology of the disease.
In this paper, we are interested to estimate the source of a rumor or disease spreading in a social network. We can think of both the rumor or disease as an "infection" that is spreading in the network, and our goal is to find the infection source with only a limited amount of information. For example, given the large size of various online social networks like Facebook, it is impossible for a law enforcement agency to analyze all the profiles that post a particular rumor or link to it. Monitoring of network traffic to identify potential terrorist plots can only be done at select nodes in the network. Similarly, some individuals may have immunity to a disease or may be asymptomatic to it. Finding the infection source is thus a very challenging problem, and we are often limited to knowing just the topology of the network, and a subset of nodes that are infected. However, because of its importance in various applications as described above, the infection source estimation problem has continued to attract considerable interest from the research community over the last two years. In the following, we give a brief overview of works related to infection source estimation.

A. Related Works
Motivated by applications related to marketing, significant existing works related to infection spreading in a social network have focused on the identification of influential nodes in the network. Each node in a network has a probability of influencing or "infecting" its neighbors. Suppose a company wants to promote a new product by initially targeting a few influential nodes in a social network, and hopes these nodes can subsequently influence a large number of nodes in the same network to adopt the new product. The references [8]- [14] consider the problem of identifying a subset of nodes to maximize the total expected influence of the subset, where the expectation is taken over all possible realizations of the infection process. In this paper, we consider a related but different problem. Our aim is to identify a node most likely to be the infection source, given a particular realization of the infection process. One of the first works to address the infection source estimation problem is [15], which considers a Susceptible-Infected (SI) model, in which there is a single infection source, and susceptible nodes are those with at least one infected neighbor, while infected nodes do not recover. Subsequently, [16] studies the multiple sources estimation problem under a SI model; [17] studies the single source estimation problem under a SI model with additional a priori knowledge of the set of suspect nodes; [18] considers the single source estimation problem for the Susceptible-Infected-Recovered (SIR) model, where an infected node may recover but can never be infected again; and [19] investigates the single source estimation problem for the Susceptible-Infected-Susceptible (SIS) model, where a recovered node is susceptible to be infected again.
All the infection source estimation works listed above assume complete observations of the set of infected nodes, which may not be feasible in a lot of practical scenarios. For example, an user of Google+ may post a rumor on her profile, and choose to make her post public, which can be seen by any Google+ user, or to restrict access of her post to only a select group of friends. The Google+ user who restricts access to her posting will appear to be uninfected to an observer not amongst the select group of friends. The observer will thus only be able to observe a limited subset of all the infected nodes in the network.
The reference [20] considers the source estimation problem when only a fraction of infected nodes can be observed. However, [20] assumes that for each of these observed nodes, we know the infection time of that node, and from which neighboring node the infection comes from. In an online social network, the posting time of a rumor gives us information about the infection time, but it is often difficult to determine which neighbor the rumor is obtained from, unless the user explicitly references the person she obtained the rumor from. In a physical social network scenario like a disease spreading, the infection times are often not available or inaccurate due to varying degrees of immunity amongst the populace. Therefore, in this paper, we do not make either of the assumptions used by [20] so that our proposed methods can be used in more general applications that have limited information. Incorporating knowledge of infection times into our estimation methods may however improve the estimation accuracy for specific applications like online social networks, and is part of our future research work.
We remark that in practice, the probability of exactly detecting the source node can be less than 0.5, depending on the underlying network topology [15]. For example, suppose that all infected nodes can be observed, and the underlying network is a complete graph. Then, any reasonable source estimator should choose any of the infected nodes with equal probability. Therefore, from a practitioner's point of view, estimating the source node is important only because it allows the practitioner to narrow down the set of potential source nodes to those within a few hops of the estimator. Identifying the correct source in practice requires further domain knowledge and forensic information, a process that can be very time consuming if performed on the full set of infected nodes.

B. Our Contributions
In this paper, we study the infection source estimation problem for a SI model with limited observations of the set of infected nodes. Our main contributions are the following.
(i) For tree networks, we derive an estimator for the source node associated with the most likely infection path that yields the observed subset of infected nodes. We propose an algorithm with time complexity O(n) to find the proposed estimator, where n is the number of nodes in the subtree spanning the set of observed infected nodes. (ii) For general networks, we propose an approximate estimator for the source node associated with the most likely infection path. We then convert the problem into a Mixed Integer Quadratically Constrained Quadratic Program (MIQCQP), which can be solved using standard optimization toolboxes. However, since the MIQCQP has high complexity, we also propose a heuristic algorithm with time complexity O(n 3 ) to find the proposed estimator, where n is the size of the network. (iii) We verify the performance of our estimators on various synthetic tree networks, small-world networks, the western states power grid network of the United States, and part of the Facebook network. In our simulation results, our estimator performs better than the distance, closeness, and betweenness centrality based estimators. The rest of this paper is organized as follows. In Section II, we present the system model, assumptions and problem formulation. In Section III, we derive a source estimator for tree networks and present an efficient algorithm to find the proposed estimator. In Section IV, we derive an approximate source estimator for general networks and suggest two ways to find our proposed estimator. We present simulation results in Section V to verify the effectiveness of the proposed estimators. Finally we conclude and summarize in Section VI.

II. PROBLEM FORMULATION
In this section, we first describe our system model and assumptions, and then we provide a problem formulation for finding the infection source based on the most likely infection path. We also summarize various notations and definitions that we use throughout this paper at the end of this section.

A. Infection Spreading Model
We model a social network using an undirected graph G = (V, E), where V is the set of vertices or nodes that represent the individuals in the network, and E is the set of edges representing relationships between the individuals. Whether an edge exists between two nodes is determined by the application that we are interested in. For example, in identifying a rumor source for an online social network like Facebook or Google+, an edge exists between two individuals if they are friends who can see each other's postings on the network. In determining the index case of a disease spreading in a community, we can create a social network modeling the connections between individuals in the community, where an edge exists between individuals if they are likely to have physical or close proximity contact with each other (e.g., family members living together or colleagues working in the same office). Two nodes are said to be neighbors if there is an edge between them. In this paper, we assume that there is an "infection" started by a single node in the graph G, and that spreads to neighboring nodes. The term "infection" refers to a property possessed by a node, and can mean different things under different contexts. In identifying a rumor source for an online social network, if a node posts the same rumor on its online account, it is considered to be infected. In an actual disease spreading in a community, once a person displays the disease symptoms or has been diagnosed with the disease, he is considered to be infected. We are interested to estimate the source of this infection, given observations of a limited number of nodes in the network.
Models to describe spreading of viral epidemics in human populations have been widely studied in [21]- [23], and these have been adapted to model information diffusion in online social networks [24]- [28]. The SI model arises as a natural way to model the spreading process of viral epidemics [29]- [31] and information diffusion [28]. In the SI model, the nodes have three possible states: infected (i), susceptible (s) and non-susceptible (n). Infected nodes are those nodes that possess the infection, and will remain infected throughout. Susceptible nodes are uninfected nodes, but which have at least one infected neighbor. Lastly, non-susceptible nodes are uninfected nodes that do not have any infected neighbors.
In this paper, we adopt a discrete time SI model to describe the infection spreading in G. This is an appropriate model for online postings on social networks as most postings are usually not removed, i.e., an infected node stays infected [25], as well as for modeling opinion dynamics in a social network [28], and some disease spreadings [29], [30]. We note that this by no means models all typical infection spreading processes of interest. Various other researchers, including ourselves, have considered more complex models like continuous time SI models [15]- [17], SIR models [18], and SIS models [19], but with the assumption that all infected nodes are known. These models are out of the scope of our current paper. We note however that the optimal estimator under our decision framework is the same as that for the more complex models in [18], [19], leading to the interesting and somewhat surprising result that our proposed estimator is in some sense universal (cf. Section III-B). In our SI model, time is divided into discrete slots, and the state of a node u in time slot t is denoted by a random variable X(u, t). At time t = 0, we assume that there is only one infected node v * ∈ V , which we call the infection source. We assume that the infection process is a discrete time Markov process with probability measure P, and we assume that a susceptible node becomes infected with probability p at the beginning of the next time slot, where p ∈ (0, 1). We assume that every susceptible node becomes infected independently of each other, while non-susceptible nodes remain uninfected with probability one.
We assume that not all infected nodes exhibit their infected state to an observer. The Google+ example described in Section I-A is one example. Similarly, individuals who are carriers of a disease may appear to be asymptomatic. An infected node that exhibits its infected status is said to be explicit, and we let X(u, t) = e when u becomes infected. We let X(u, t) = i if u is infected but is non-explicit. A node that is observed to be uninfected can then either be actually uninfected or non-explicit. We call these nodes nonobservable. We let q u be the probability that the node u is explicit, and assume that nodes are explicit or not independently of each other. If q u = 1 for all nodes u ∈ V , our model reduces essentially to that in [15], [16], whereas if q u is close to zero for all nodes u ∈ V , the problem becomes intractable as most nodes appear to be uninfected, making the performance of any estimator of the source node poor in practice. Intuitively, if q u ≥ p for all nodes u, then with high probability, we will be able to observe enough number of infected nodes in order to estimate the infection source with reasonably good accuracy relative to that for the SI model where all infected nodes are explicit. However, we only require a weaker assumption in this paper. Throughout this paper, we assume that for all u ∈ V , we have In the case where p > 1/2, our assumption requires that q u is sufficiently large for every node u. This is because given a sufficiently long amount of time, a large number of nodes will become infected, and if most of these nodes are non-explicit, then it becomes very difficult to find a good estimator for the source. On the other hand, if p ≤ 1/2, our assumption is trivial and holds automatically. In this case, we note that our model allows us to set q u = 0 or 1 for each node u, where those nodes with q u = 1 are the ones we actively monitor for the infection. This is similar to [20], except that we do not make the additional assumptions that we know the time an explicit node gets infected, and the neighbor it gets the infection from. The transition probability of a susceptible node is summarized in Fig. 1. Finally, consider the extreme case where the source node has only one neighbor. In this case, the infection can spread in only one direction and any centrality based estimator is expected to perform badly. To avoid this kind of boundary effect, we assume that every node has degree at least two.

B. Most Likely Infection Path and Source Estimator
Let X t = {X(u, τ ) : u ∈ V, 1 ≤ τ ≤ t} be the collection of the states of all nodes in V from time 1 to t. We say that a realization X t = {X(u, τ ) : u ∈ V, 1 ≤ τ ≤ t} of X t is an infection path. At some elapsed time t since the start of the infection spreading, we observe the set of explicit nodes, which is denoted as V e , and assumed to be non-empty. We say that an infection path X t is consistent with V e if for all u ∈ V e , we have X(u, t) = e, and no other nodes in V is explicit in X t . We do not assume that we know the elapsed time t. Let X v and T v be the set of all possible consistent infection paths and feasible elapsed times respectively, assuming that the infection starts at v and results in V e .
We want to design a source estimator based on V e and knowledge of the graph G, so as to optimize a statistical criterion. A common approach is to find the maximum likelihood (ML) estimators that maximize the conditional probability of observing the explicit set V e , given by It has been shown that finding the ML estimator for a general graph when all nodes are explicit is a #P-complete problem [15]. Therefore, finding the ML estimator based on V e is even more challenging, because unlike the case where all nodes are explicit, we only observe a subset of the infected nodes, which may not contain the infection source. We therefore adopt a different statistical criterion, first proposed by [18] to estimate the infection source in a SIR model, and also used by [19] in a SIS model. We seek to find the estimator given bŷ which is the source node associated with a most likely infection path out of all possible infection paths that are consistent with V e . See Fig. 2 for an example of most likely infection path.
Note that there may be many possible most likely infection paths, and our aim is to find the source node of any one of them.
In Section III, we first find a characterization for a most likely infection path when the underlying graph G is a tree, and then derive a source estimator based on that. For general networks G, finding a most likely infection path is difficult. Therefore, in Section IV, we propose approximate estimators to identify the source. Extensive simulation results are provided in Section V to verify the performance of our proposed estimators.

C. Some Notations and Definitions
In this subsection, we list some notations and definitions that we use throughout this paper. See Fig. 2 for examples of some of these notations and definitions. 1) For any set A, we let |A| be the number of elements in A.
For a graph H, we let |H| denote the number of nodes in H. Furthermore, for a node u, we use u ∈ H to mean that u is a node in the vertex set of H. 2) Suppose that G is a tree, and v is the root. We assign directions to each edge of G so that all edges point towards v. For any u ∈ V , let pa(u) be the parent node of node u (i.e., the node with an incoming edge from u), and ch(u) be the set of child nodes of u in G (i.e., the set of nodes with outgoing edges to u).  Fig. 2. An example network G, where shaded nodes are the explicit nodes. Assume that p = 1/2 and qu = 1/2, ∀u ∈ V . If the elapsed time t is 1, only v 1 can be the source, and the most likely infection path is The probability of the most likely infection path for each of these nodes are (1/2) 9 , (1/2) 10 , (1/2) 10 and (1/2) 11 , respectively. It can be shown that if t > 2, the infection path probabilities become smaller. Therefore, we see that the most likely elapsed time is t = 1, the most likely infection path is X 1 , and v 1 is our estimated source.
Taking v 1 as the root, we have pa The largest distance between v 1 and any explicit node is 1, sod(v 1 , Ve) = 1. We also have Tv 4 (v 1 ; G) as an example of a non-observable subtree since all nodes in this subtree do not belong to Ve.

5) Given any pair of nodes
length of the shortest path between v and u, which is also called the distance between v and u. Given any set A ⊂ V , denote the largest distance between v and any node u ∈ A to bed We call the largest distance between v and any explicit nodē d(v, V e ) the infection range of v. The node with minimum infection range is called a Jordan center of V e [32]. 6) Suppose that v is the infection source. For any node u, we

7)
For any infection path X t , any subset J ⊂ V , and any be the states of nodes in J during time slots i to j in the infection path X t . To avoid cluttered expressions, we abuse notations and let When we want to remind the reader of the state of a node u at specific times in the conditional probability P v (X(u, i) | X(u, i ′ )), we use the notation , where a, b ∈ {i, s, n, e} are the states of u at times i and i ′ respectively. 8) For any v ∈ V and any feasible elapsed time t ∈ T v , we say that an infection path X t is most likely for

III. SOURCE ESTIMATION FOR TREES
In this section, we consider the case where the underlying network G is a tree. We first derive some properties of a most likely infection path, and then show that the source estimator associated with the most likely infection path that we have characterized is given by the Jordan center of V e .

A. A Most Likely Infection Path
In this subsection, we show that although we have assumed that G is an infinite tree, we can restrict our search for a most likely infection path for v to the subgraph of G with nodes within the infection ranged(v, V e ) of v. In the following lemma, we first show that for any source node v ∈ V , a most likely infection path for v with a finite number of infected nodes can be found. It's proof is provided in Appendix A.
The following lemma, whose proof is given in Appendix B, shows that given the elapsed time t, a most likely infection path for a node v is given by a path whose nodes "resist" the infection, and each node becomes infected only at the latest possible time.

Lemma 2.
Suppose that G is a tree, and the infection source is v ∈ V . Let H be the minimum connected subgraph of G that spans V e and v. Suppose that the elapsed time is t ∈ T v . Then, for any u ∈ H\{v}, the first infection time t u for u in any infection path is bounded by Furthermore, there exists a most likely infection path X t for (v, t) such that the first infection time for u ∈ H\{v} is given by Lemma 1 and Lemma 2 characterize a most likely infection path consistent with V e , with the property that a minimum number of nodes are infected, and each infected node becomes infected at the latest possible time. We call this the latest infection path.

Definition 1.
Suppose that G is a tree. For any v ∈ V , and any feasible elapsed time t ∈ T v , the latest infection path X t for (v, t) is the infection path that satisfies the following properties: (i) Let H be the minimum connected subtree of G that spans V e ∪ {v}. Then, X t (u, τ ) ∈ {s, n} for all u / ∈ H and for all τ ≤ t.
(ii) For each u ∈ H\{v}, the first infection time of u is The following proposition then follows from Lemma 1 and Lemma 2.

Proposition 1. Suppose that G is a tree. Then for any v ∈ V , and any feasible elapsed time t ∈ T v , the latest infection path for (v, t) is a most likely infection path for (v, t).
We now show that a most likely infection path for any v ∈ V is the latest infection path for (v, t), where t is chosen to be as small as possible.

Proposition 2.
Suppose that G is a tree. For any v ∈ V , we have the following. (a) The set of all feasible elapsed times is Next, we show claim (b). Fix a t ∈ T v and consider the latest infection paths X t and X t+1 . Let H be the minimum connected subtree of G that spans V e and v. Suppose that H = {v}, then from Definition 1, we have X t+1 (V, [2, t + 1]) = X t (V, [1, t]) and X t+1 (w, 1) = s for all w ∈ N 1 (v; H), yielding where the last inequality follows because H = {v} and |N 1 (v; H)| > 1. On the other hand if H = {v}, the infection does not spread from v in both latest paths X t and X t+1 , and we have since all neighbors of v remain susceptible throughout the elapsed time, and we have assumed that the degree of v is at least two. This proves claim (b). Claim (c) now follows from claim (a) and claim (b), and the proof of the lemma is complete.

B. Source Associated with a Most Likely Infection Path
In this subsection, we derive the source estimator associated with a most likely infection path. We first show that we can find an infection path for a node with a smaller infection range that is more likely than any most likely infection path of another node with a larger infection range. This in turn implies that the source estimator we are looking for is the Jordan center of V e . We start with two lemmas that show the relationship between the latest infection paths of two neighboring nodes. Proof: To prove (i), we note that if l / ∈ T v (u; H), we havē d(v, V e ) ≥ d(v, l) = d(u, l)+1 =d(u, V e )+1, a contradiction. Therefore, (i) holds. Then for l such that d(u, l) =d(u, V e ), H). This implies (ii), and the lemma is proved.

Lemma 4.
Suppose that G is a tree, and let H be the minimum connected subtree of G spanning V e . Then, for any pair of neighboring nodes u and v in H with where X dv and X du are the latest infection paths for (v, d v ) and (u, d u ) respectively.
Proof: To prove the lemma, it suffices to construct an infection pathX dv with source node v, and show that it has higher conditional probability than X du . Let t v be the first infection time of node v in the infection path X du . We first show that t v = 1. Since u is the infection source, the infection can propagate at most d u − t v hops away from node v within the subtree where the equality holds because the probability that v is explicit or not appears in both the numerator and denominator. Consider any node w ∈ N 1 (u, T u (v; H)). Since d(v, w) = 2, it takes at least two time slots for an infection starting at v to reach w. Moreover, since d u = d v + 1, by Lemma 2 and Lemma 3(i), the first infection time of w in the path X du is at least 3. Therefore, we can setX dv (T u (v; H), [1, where the inequality follows by the assumption that every node has degree at least two. Multiplying (6) by (7), we obtain Finally, we consider the nodes in G\H. Let T z (v; G) be any non-observable subtree such that z ∈ G\H has a neighboring node w ∈ H. By Lemma 1, z remains uninfected in X du . Let z stay uninfected inX dv as well. Let the node w first become infected at time t w (u) in X du and at time t w (v) inX dv . Then, z stays uninfected in X du andX dv with probabilities (1−p) du−tw(u) and (1−p) dv−tw(v) , respectively.
). Combining this with (8), we conclude that P u (X du ) < P v (X dv ), and the proof is complete.
We are finally ready to show that the Jordan centers of V e are the source estimators in (2).

Theorem 1.
Suppose that G is a tree, then the source estimator in (2) associated with the most likely infection path is a Jordan center of V e , given bŷ Proof: It can be shown that if G is a tree, then there are at most two Jordan centers for V e , and if there are indeed two Jordan infection centers, they are neighboring nodes [18]. If there are two neighboring Jordan centers, we can treat them as a single virtual node, therefore without loss of generality, we assume that there is only one Jordan centerŝ. Let H be the minimum connected subtree of G spanning V e . Thenŝ ∈ H.

Consider any path
The first inequality in (10) holds by assumption. We now show that the rest of the inequalities in (10) also hold. Choose a l ∈ V e such that d(ŝ, l) =d(ŝ, V e ). If l / ∈ T v1 (ŝ; H), we haved(v i , V e ) = d(ŝ, l) + i for 1 ≤ i ≤ m, so (10) holds. Suppose now that l ∈ T v1 (ŝ; H). Note that the set A = V e \T v1 (ŝ; H) is non-empty, otherwised(v 1 , V e ) <d(ŝ, V e ) andŝ cannot be a Jordan center. Consider a node l ′ such that l ′ = arg max v∈A d(ŝ, v). If d(ŝ, l ′ ) ≤ d(ŝ, l) − 2, we havē and the infection range of v 1 is less than that ofŝ, a contradiction. Therefore, we have d . Then, we must havẽ l ∈ T vi+1 (v i ; H), otherwise we have a contradiction. We then haved a contradiction. Therefore (10) holds. By repeatedly applying Lemma 4, Proposition 1 and Proposition 2(c), we have that any most likely infection path forŝ has higher probability than that for v m , and the theorem is proved.
We observe that our source estimator is the same as that for the SIR infection process [18] and the SIS infection process [19]. This is somewhat surprising as the spreading models are significantly different from each other. (Note also that our proofs differ significantly from that in [18].) This indicates that the statistical criterion in (2) is robust to the underlying infection model, and the Jordan center is a universal source estimator.

C. Finding a Jordan Center
A centralized linear time complexity algorithm has been proposed in [33] to find the Jordan center in a tree. It first computes the diameter of the tree and then returns a midpoint of any longest path in the tree as the Jordan center. In this subsection, we present a message passing algorithm, somewhat similar to that of [33] in the quantities being computed at each node, but which can be implemented in a distributed fashion. Our algorithm also has linear time complexity.
Let H be the minimum connected subtree of G spanning V e . We assume that |H| > 2 since otherwise finding the Jordan center is trivial. Our proposed Jordan Center Estimation (JCE) algorithm is formally presented in Algorithm 1. The main idea behind the algorithm is that for |H| > 2, a Jordan center v must satisfy the following necessary and sufficient conditions: (i) it has degree at least 2 in H, and (ii) if M = {ρ u : u ∈ N 1 (v; H), ρ u is a path with the maximum length among all paths with first edge being (v, u)}, then the difference in lengths of the longest and second longest paths in M is at most 1. This can be shown using the same arguments as that in the proof of Theorem 1.
JCE first randomly chooses a non-leaf node r ∈ H as the root node. It then performs an Upward Message-passing procedure, starting from the leaf nodes up to the root r, where the message passed from a node v to its parent node pa(v) consists of its own identity and the length of the longest path in T v (r; H).
This upward message-passing procedure terminates when the root receives all messages from its child nodes. The details of the upward message-passing procedure are shown in lines 4 to 13 in Algorithm 1. Since each node only passes one message to its parent, the overall complexity of the upward message-passing procedure is O(|H|).
In the Downward Message-passing procedure, the root node r first identifies the two paths in M with the longest lengths ℓ 1 (r) and ℓ 2 (r). If ℓ 1 (v) − ℓ 2 (v) ≤ 1, JCE returns r as the Jordan center. Otherwise, it computes a message g r (r (1) ) = ℓ 2 (r) + 1 and sends to r (1) , the child node with the longest path in the Upward Message-passing procedure. The same process is repeated until a leaf node is reached. The details are presented in lines 14 to 24 in Algorithm 1. The complexity of the downward message-passing process is bounded by the diameter of H. As a result, the overall complexity of JCE is O(|H|).

IV. SOURCE ESTIMATION FOR GENERAL NETWORKS
In this section, we derive an approximate source estimator for the case where the underlying network G is a general network. We also suggest heuristic algorithms to find our proposed source estimator.
Suppose that the neighbor from which a susceptible node obtains its infection is randomly chosen from one of its Algorithm 1 Jordan Center Estimation (JCE) Algorithm 1: Input: H is the minimum connected subtree of G spanning V e , with |H| > 2. 2: Output:ŝ, the Jordan center for V e . 3: Initialization: randomly select a non-leaf node r ∈ H as the root node 4: Upward Message-passing: 5: for each v ∈ H do 6: if v is a leaf then 7: f v (pa(v)) = 1 8: Ties are broken randomly. 10: f v (pa(v)) = ℓ 1 (v) + 1 11: end if 12: Pass f v (pa(v)) and its identity to pa(v) 13: end for 14: Downward Message-passing: 15: for each v ∈ H starting from root r do 16: if v is not the root r then 17:

23:
end if 24: end for 25: returnŝ infected neighbors. Then, the path traced out by an infection spreading in G is a tree. For any infection path X t , let T (X t ) be the subtree of G traced out by X t . Any tree T v with root v, for which there exists an infection path consistent with V e is said to be an infection tree consistent with V e . Let T v be the set of infection trees consistent with V e , and have source node v. Then, we have (11) which implies that to find a source node associated with the most likely infection path in (2), we first find the most likely infection tree consistent with V e , and then find a most likely infection path that traces out this infection tree using the results in Section III-B. However, finding the set of infection trees consistent with V e is difficult. We derive a simple property that T v must satisfy for each v, suggest an approximation for it, and provide two heuristic methods to find the approximate most likely infection tree. (11) if we restrict T v to be the set of all infection trees consistent with V e that have all non-source leaf nodes in V e .

Lemma 5. Suppose that G is a general network, and v ∈ V is the infection source. Then, there is no loss in optimality in
Proof: The proof follows from Lemma 1 because any non-observable leaf node is the root of a non-observable subtree.
From Lemma 5 and the fact that the source estimator for a tree is given by a Jordan center, we construct a subgraph H v of G for each v ∈ V , by first finding a shortest path tree from v to each node in V e , and then adding all edges in G incident to the nodes of the shortest path tree. We approximate T v by the set of spanning trees of H v , denoted asT v , and adopt the approximate source estimator given bỹ We now turn to finding the most likely infection tree in the setT v . We start with a characterization of its probability in the following result. For any source node v, and any infection tree T ∈T v , let D T (u) =d(u, T u (v; T )) be the height of the subtree of T rooted at u.

Lemma 6.
Suppose that G is a general network, and v ∈ V is the infection source. Then, for any infection tree T with root v and consistent with V e , we have Proof: Every non-source node u ∈ T \{v} gets infected during the infection spreading process, and this occurs with probability p |T |−1 . From Lemma 2 and Proposition 2, in a most likely infection path for v, the first infection time for any node u ∈ T ist u = d − D T (u), where d =d(v, V e ). The parent node pa(u) gets infected at timet pa(u) = d − D pa(u) , therefore there aret u −t pa(u) − 1 = D T (pa(u)) − D T (u) − 1 time slots in which that u remains susceptible, and this occurs with probability (1−p) DT (pa(u))−DT (u)−1 . Taking the product over all non-source nodes in T v , we obtain the lemma.
From Lemma 6, we see that our proposed estimator in (12) can be found by finding the node v that maximizes and T * v is the minimizer in the right hand side of (14). In the following, we propose two heuristic methods to find T * v and F * v for any v ∈ V . Although we have assumed that G is infinite in Section II to simplify our theoretical analysis, in practice, we have access to only a finite graph G. We then iterate either of our proposed methods over all nodes in G.

A. MIQCQP
For any v ∈ V , let H v be the subgraph of G used in definingT v (cf. discussion preceding (12)). By expanding the telescoping sum in (14), it can be shown that the objective function in (14) is equivalent to the objective function of the following MIQCQP, where E ij = 1 if and only if the edge (i, j) is chosen as part of T * v , and D i is a variable corresponding to D T * v (i). The above MIQCQP does not find the exact optimal T * v in (14) because of several approximations that we have made. The constraints (16)-(18) restrict the feasible solution space to the spanning trees of H v . However, it is not possible represent the quantities D T (u) in (14) exactly as quadratic constraints. We use the quadratic constraints (19)-(20) as approximations. The constraint (19) derives from the fact that for all nodes i in a tree T spanning H v , we have D T (i) ≥ D T (j) + 1 for all j that are child nodes of i in T . In addition, for a nonsource node i that has only one child node j, the value D i is canceled out in (15). In order to improve the convergence speed, we introduce the quadratic constraint (20) as an upper bound for D i .
The MIQCQP in (15) can be solved using the OPTI Toolbox [34], which utilizes Solving Constraint Integer Programs (SCIP) [35] as the solvers. However, these solvers have high complexity, and are not suitable for large networks. Therefore, we propose an alternative, low-complexity heuristic algorithm in the following and compare their performances in Section V.

B. Reverse Greedy
It can be shown that where Deg T (u) is the number of neighboring nodes of u in T . We see from (21) that to obtain the minimizer, the degree of u should be chosen to be small if D T (u) is large. Based on this intuition, we propose a heuristic algorithm in Algorithm 2, which we call the Reverse Greedy (RG) algorithm. The algorithm attempts to adjust the infection tree found so that those nodes close to the source node has lower degrees, while those further away have correspondingly higher degrees. Given a node v ∈ V , RG first constructs a shortest path tree T rooted at v and spanning H v using a breadth first search algorithm [36], incurring a time complexity of O(|H v |). Starting with a leaf node x that is furthest away from v, RG adjusts the tree T by choosing a neighboring node y of x with the largest d(v, y) value (with ties broken by another criterion given in lines 6 to 17 in Algorithm 2), and attaching x to y. This procedure is repeated up the tree T until the node v is reached. At each node x, the number of neighbors is O(|H v |) and lines 19 to 28 has a time complexity of O(|H v |). Therefore, the complexity of RG is O(|H v | 2 ). Since we need to iterate over all nodes in order to find the source estimator, the overall complexity is O(|V | 3 ).
Algorithm 2 Reverse Greedy (RG) Algorithm 1: Inputs: v ∈ V , and H v (cf. discussion preceding (12)) 2: Outputs: F * v in (21) and its minimizer T * v . 3: Construct a shortest path tree T rooted at v and that spans H v using breadth first search [36]. Compute D T (u) and U T (u) = d(v, u) for all u ∈ T . 4: for d = D T (v) DownTo 1 do 5: for each node x ∈ {u : U T (u) = d}, in order of increasing D T (x) do 6: Set Y = ∅ 7: for each neighboring node y of x in H v do 8: if Add y into set Y 10: if y is the parent of x in T then 11: Set D ′ T (y) to bed(y, T y (v; T )\T x (v; T )) 12: else 13: Set D ′ T (y) = D T (y) 14: end if 15: end if 16: end for 17: Choose y ∈ Y with the largest U T (y), with ties broken by choosing the y with the largest D ′ T (y).

18:
Modify T by removing the edge between x and its parent and connecting x to y.

V. SIMULATION RESULTS
In this section, we present simulation results using both synthetic and real world networks to evaluate the performance of the proposed estimators. We use the following three common centrality measures as benchmarks to compare with our estimators.
(i) The distance centrality of v ∈ G is defined as and the node with minimum distance centrality is called the distance center (DC). It is shown in [15] that the DC is the ML estimator for regular trees under a SI model where all nodes are explicit. (ii) The closeness centrality of v ∈ G is defined as and the node with maximum closeness centrality is called the closeness center (CC). (iii) The betweenness centrality of v ∈ G is defined as where σ ij is the number of shortest paths between node i and node j, and σ ij (v) is the number of those shortest paths that contain v. We call the node with maximum closeness centrality the betweenness center (BC).

A. Tree Networks
We evaluate the performance of the JCE algorithm on three kinds of synthetic tree networks: regular tree networks where the node degree is randomly chosen from [3,6], and two types of random trees, denoted as random-1 and random-2, where the degree of every node is randomly chosen from [3,6] and {3, 6} respectively. Note that random-1 trees are less "regular" than regular trees, and random-2 trees are even less "regular". For each kind of synthetic tree network, we perform 1000 simulation runs. In each simulation run, we randomly generate a tree, and choose a node to be the infection source. Then we simulate the infection using a SI model, where p is chosen uniformly from (0, 1) and q v is chosen uniformly from [max(0, 2−1/p), 1] for each node v. The spreading terminates when the number of infected nodes is greater than 200. We then run JCE on the explicit nodes to estimate the infection source and compare the result with the benchmarks. The error distance is the number of hops between the estimated and the actual infection source, and is shown in Fig. 3. We see that as the underlying network becomes less "regular", the error distances of all benchmarks increase, while that of JCE remains relatively stable. In practice, the structures of the underlying tree networks are usually far from regular.

B. General Networks
We evaluate the performance of the MIQCQP and RG algorithms on three kinds of general networks: synthetic smallworld networks [37], the western states power grid network of the United States [37] and a small part of the Facebook network with 4039 nodes [38].
Since the MIQCQP approach has very high complexity with an average running time about 2000 times that of RG, we restrict the number of infected nodes to be 50 in the first comparison. In each simulation run, the infection probability p is chosen uniformly from (0, 1) and q v is chosen uniformly from [max(0, 2 − 1/p), 1] for each node v. Fig. 4 shows that both MIQCQP and RG have smaller average error distances than all benchmarks, with RG only slightly worse than MIQCQP. Therefore, in the rest of the simulations, we will only compare RG with the benchmarks.
In the next comparison, we consider infection sizes of more than 200 nodes. In each simulation run, we randomly choose a fraction of the infection nodes to be explicit. We call this fraction the explicit ratio. We perform simulations with the explicit ratio ranging from 10% to 100%. Fig. 5 shows the average error distances of RG and all benchmarks for different explicit ratios on all three kinds of general networks. We see that RG has smaller average error distances in almost all cases.

VI. CONCLUSION
We have derived infection source estimators for a SI model when not all infected nodes can be observed. When the network is a tree, we showed that the estimator is a Jordan center. We proposed an efficient algorithm with complexity O(n) to find the estimator, where n is the size of the network. In the case of general networks, we proposed approximate source estimators based on a MIQCQP formulation, which has high complexity, and a heuristic algorithm with complexity O(n 3 ). Simulations suggest that our proposed algorithms have better performance than distance, closeness, and betweenness centrality based methods, with the estimated source on average within a few hops of the actual infection source. In this work, we have assumed that we have access only to very limited information. An interesting future direction includes incorporating information like infection times into the source   The proof proceeds by mathematical induction on the elapsed time t. Basis step: Suppose that t = 1, and consider any nonobservable subtree T u (v; G). Suppose that d(v, u) > 1. Since the infection can spread at most one hop away from v in each time slot, the node u must remain uninfected up to time t = 1 and the claim holds trivially. We now consider only the neighbors of v. Let u be a neighbor of v that is the root of a non-observable subtree, and suppose that every most likely infection pathX 1 for (v, t) hasX(u, 1) = i. Choose one such most likely infection pathX 1 , and let X 1 be another infection path with the same states asX 1 , except that X(u, 1) = s. Then, we have where the last inequality follows from the assumption (1). This is a contradiction, and therefore the claim holds if t = 1.
Inductive step: Suppose that the claim holds for all elapsed times t ≤ n. Let t = n + 1, and consider any non-observable subtree T u (v; G) and a most likely infection pathX t for (v, t) withX(u, t) = i. If d(v, u) > 1, lett denote the first infection time of the parent node r = pa(u) inX t , wheret ≥ 1. Since the infection process follows a SI model, we can treat r as the infection source of T r (v; G), and the remaining elapsed time of the infection process is t ′ = t −t ≤ n. From the induction hypothesis, we can construct a most likely infection path X t ′ (T r (v; G), [1, t ′ ]) such that u remains uninfected up to time t. The new infection path constructed from X t by settingX t (T r (v; G), [t + 1, t]) = X t ′ (T r (v; G), [1, t ′ ]) then has probability at least that ofX t , thus proving our claim. Now suppose that d(v, u) = 1 and the first infection time of node u in the pathX t is t u ∈ [1, t]. The previous argument shows that it is possible to chooseX t so that w remains uninfected up to time t for all w ∈ T u (v; G)\{u} since d(v, w) > 1. We now supposeX t is chosen as such. Let X t be an infection path that is the same as the most likely infection pathX t but with X t (u, τ ) = s for all τ ≤ t. Then, we have where a = P v (X t (V \T u (v; G), [1, t])). Similarly, we have P v (X t (u, τ ) = s |X t (u, τ − 1) = s) · P v (X t (u, τ ) = i |X t (u, τ − 1) = s) · w∈ch(u) t τ =tu+1 P v (X t (w, τ ) = s |X t (w, τ − 1) = s) where the last inequality follows because we have assumed that |ch(u)| ≥ 1. Comparing (22) and (23), and using (1), we obtain P v (X t ) ≥ P v (X t ), which implies that X t is also a most likely infection path. Repeating the same argument for all non-observable subtrees with roots that are neighbors of v, we obtain the claim, and the lemma is proved.

APPENDIX B PROOF OF LEMMA 2
Firstly, it is easy to see that every node in H is infected since otherwise, the infection can not reach the leaf nodes of H, some of which belong to the set V e . The lower bound in (4) follows because the infection can spread at most one hop away from v in each time slot, and the earliest time for u to be infected is d(v, u). After node u gets infected at time t u , the infection can spread at most t − t u hops away from u. Consider a node u l such that d(u, u l ) =d(u, T u (v; H)). By definition, u l ∈ V e . In order for the infection to reach node u l , we require t − t u ≥ d(u, u l ), and (4) is shown.
Next, we show (5) using mathematical induction on d(v, V e ). Note that we do not need to consider the case wherē d(v, V e ) = 0, i.e., no non-source nodes exist in H. Basis step: Suppose thatd(v, V e ) = 1. Then we have d(v, u) = 1 for every non-source node u in H. We want to show that there exists a most likely infection path so that the first infection time for u is t u = t. If t = 1, we have t u = 1 because both the lower and upper bounds in (4) are equal to 1. We now suppose that t > 1, and we have t u ∈ [1, t] by (4). LetX t denote a most likely infection path with t u = i, where 1 ≤ i ≤ t−1. We construct another infection path X t fromX t so that X t (V \{u}, [1, t]) =X t (V \{u}, [1, t]) and node u becomes infected only at time t. Let a = P v (X t (V \{u}, [1, t])). We then have The same derivation as in (23), except that hereX t (u, t) is explicit instead of non-observable, gives where we use the assumption that |ch(u)| ≥ 1 in the last inequality. By comparing (24) and (25), we obtain P v (X t ) ≥ P v (X t ), and by repeating the same argument for all neighbors of v in V e , we obtain the claim for the basis step. Inductive step: We assume that (5) holds whend(v, V e ) ≤ n. Fix any u ∈ ch(v) and let m =d(u, T u (v; H)). Treat node u as the infection source of the subtree T u (v; H), then by the induction hypothesis, we obtain a most likely infection path X t with (5) holding for any node w ∈ T u (v; H)\{u} since m ≤d(v, V e ) − 1 = n. For any node w ∈ N 1 (u; T u (v; H)), we have the first infection time of w is t − (m − 1) (note that T u (v; H) is not a non-observable subtree), which implies that t u ≤ t − m. We want to show thatt u = t − m. Suppose that we have t u = i, for some 1 ≤ i ≤ t − m − 1 inX t . Then, using the same arguments as in the basis step, we can construct another infection path with probability at least that ofX t but with t u = t − m. This implies our claim, and the lemma is proved.