### 3.1 Optimal algorithm for M2CP

In this subsection, we present an optimal algorithm to M2CP for a class of influence propagation models. The algorithm is based on the Min Cut algorithm proposed in [46]. Before giving the formal algorithm and its theoretical analysis, we briefly discuss the difference between the Min Cut problem and the M2CP problem. A min cut of a graph *G* is a set of edges with the least number of elements (un-weighted case) or the least sum of weights (weighted case) that partitions *G* into two parts. On this basis, for M2CP, one may want to find a cut to minimize the influence propagation leaking out between the two parts. However, maximizing the sum of influence propagation within each community is not equivalent to minimizing the influence propagation crossing different communities. Figure 2 shows an example. There are eight nodes which are partitioned into two communities *C*_{1}={1,2,3,4} and *C*_{2}={5,6,7,8}. Assume the gray-directed arcs are the possible influence propagation. Consider nodes 7, 5, and 1, respectively. It is clear that the influence received by nodes 7 and 5 will decrease after the partition because node 3 cannot influence node 7 and it cannot influence node 5 via node 7 indirectly. The influence received by node 1 also decreases because of the following: (1) node 5 cannot influence node 1, (2) node 7 cannot influence node 1 indirectly, and (3) node 3 cannot influence node 1 through the path (3→7→5→1). The first two kinds of influence propagation are between nodes in different communities, but the last one is between nodes in the same community. Therefore, maximizing the sum of influence propagation within each community is not just minimizing the influence propagation crossing different communities.

Given a social network as well as an influence propagation model, our algorithm iteratively finds *n*−1 partitions and selects the one with the maximum value as the final output. In the beginning, we consider each node *i* as a single set and let \mathcal{V}=\{{S}_{1},{S}_{2},\dots ,{S}_{n}\} as the collection of all the sets where *S*_{
i
}={*i*}. Select an arbitrary set {S}_{i}\in \mathcal{V} and let \mathcal{A}=\left\{{S}_{i}\right\}. We then add the remainder sets one by one iteratively into . Each time a set *S*_{
j
} with the maximum value of \varsigma (\mathcal{A},{S}_{j}) is added, where \varsigma (\mathcal{A},{S}_{j})=\sigma (\mathcal{A}\cup {S}_{j})-\sigma \left({S}_{j}\right). When there are only one set *S*_{
l
} left, \left\{v\right(\mathcal{A}),v(\mathcal{V}\setminus \mathcal{A}\left)\right\} are considered as the first partition where v\left(\mathcal{X}\right) is defined as the set of nodes in . In addition, the last two sets not in , say *S*_{
r
} and *S*_{
l
}, are merged as a single set (*S*_{
r
}∪*S*_{
l
}) for computing the next partition. The algorithm terminates when there are only one set in . The pseudo-code is given in Algorithm 1.

The computational complexity of AM2CP (Algorithm 1) depends on the time complexity of computing *σ*(·), which further depends on the time complexity of computing the influence propagation {p}_{{C}_{k}}(i,j) for community *C*_{
k
} and all the pairs (*i*,*j*) of nodes in it. In [15], Chen et al. prove that it is \#\mathcal{P}-hard to compute the exact influence propagation in LT and IC models. Therefore, in this work, {p}_{{C}_{k}}(i,j) is estimated by MC simulation. Assume we have a simulator to estimate *σ*(·) in *τ* time. Following Algorithm 1, we run steps (3 to 11) *n*−1 times for the *n*−1 partitions. For each partition, we add all the sets greedily into that calls the function \sigma (\xb7)\mathcal{O}\left({n}^{2}\right) times. Therefore, the overall running time of AM2CP is \mathcal{O}\left({n}^{3}\tau \right).

We next show that AM2CP is an optimal solution for M2CP when the community influence propagation function *σ*(·) is super-modular. Let *S* be a finite set. A function *f*:2^{S}→*R* is super-modular if for any *B*⊂*A*⊂*S* and *u*∉*A*,

\sigma (A\cup \{u\left\}\right)-\sigma \left(A\right)\ge \sigma (B\cup \{u\left\}\right)-\sigma \left(B\right),

(2)

or equivalently for any *B*,*A*⊂*S*,

\sigma (A\cup B)+\sigma (A\cap B)\ge \sigma \left(A\right)+\sigma \left(B\right).

(3)

#### Theorem 1

If the influence propagation function *σ*(·) is super-modular, AM2CP is an optimal solution for M2CP.

#### Proof

Based on AM2CP, each time we find a partition \mathcal{P}=\left(v\right(\mathcal{A}),v(\mathcal{V}\setminus \mathcal{A}\left)\right) that separates the last two sets *S*_{
r
} and *S*_{
l
}, and we merge the two sets for the next round. To show Theorem 1, it is sufficient to show that has the maximum objective function value \sigma \left(v\right(\mathcal{A}\left)\right)+\sigma \left(v\right(\mathcal{V}\setminus \mathcal{A}\left)\right) among all the partitions separating *S*_{
r
} and *S*_{
l
}, where v\left(\mathcal{X}\right) is the set of nodes in . We prove it by induction.

Without loss of generality, we assume the sets added into are in the order: {S}_{{i}_{1}},{S}_{{i}_{2}},\dots ,{S}_{{i}_{\left|\mathcal{V}\right|}} for round *i* and let {\mathcal{A}}_{{i}_{j}} denote the collection of the first *j* sets added into in round *i*. Then for any \mathcal{S}\subseteq {\mathcal{A}}_{{i}_{1}} and {S}_{{i}_{j}} with *j*>2, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{2}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right)\ge \sigma \left(v\right({\mathcal{A}}_{{i}_{2}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right) because v\left(\mathcal{S}\right) is either {S}_{{i}_{1}} or *∅*. Assume \sigma \left(v\right({\mathcal{A}}_{{i}_{{k}^{\prime}}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right)\ge \sigma \left(v\right({\mathcal{A}}_{{i}_{{k}^{\prime}}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right) for any 2≤*k*^{′}<*k*, \mathcal{S}\subseteq {\mathcal{A}}_{{i}_{{k}^{\prime}-1}} and {S}_{{i}_{j}} with *j*>*k*^{′}. We next show that \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right)\ge \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right) for any \mathcal{S}\subseteq {\mathcal{A}}_{{i}_{k-1}} and {S}_{{i}_{j}} with *j*>*k*.

Consider the following two cases: (1) {S}_{{i}_{k-1}}\in \mathcal{S} and (2) {S}_{{i}_{k-1}}\notin \mathcal{S}. When {S}_{{i}_{k-1}}\notin \mathcal{S}, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{k-2}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right)\ge \sigma \left(v\right({\mathcal{A}}_{{i}_{k-2}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right) due to the assumption. Therefore, \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right)\ge \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right) because (1) v\left({\mathcal{A}}_{{i}_{k}}\right)=v({\mathcal{A}}_{{i}_{k}}\setminus \mathcal{S})\cup v\left({\mathcal{A}}_{{i}_{k-2}}\right), (2) v({\mathcal{A}}_{{i}_{k-2}}\setminus \mathcal{S})=v({\mathcal{A}}_{{i}_{k}}\setminus \mathcal{S})\cap v\left({\mathcal{A}}_{{i}_{k-2}}\right) and (3) *σ*(·) is super-modular.

When {S}_{{i}_{k-1}}\in \mathcal{S}, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{k-1}}\left)\right)+\sigma \left({S}_{{i}_{k}}\right)\ge \sigma \left(v\right(\mathcal{S}\left)\right)+\sigma ({S}_{{i}_{k}}\cup v({\mathcal{A}}_{{i}_{k-1}}\setminus \mathcal{S}\left)\right) due to the assumption in which \sigma \left(v\right(\mathcal{S}\left)\right)=\sigma \left(v\right({\mathcal{A}}_{{i}_{k-1}})\setminus v({\mathcal{A}}_{{i}_{k-1}}\setminus \mathcal{S}\left)\right). Since *σ*(·) is super-modular, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{k-1}})\cup {S}_{{i}_{j}})-\sigma \left(v\right({\mathcal{A}}_{{i}_{k-1}}\left)\right)\ge \sigma \left(v\right(\mathcal{S})\cup {S}_{{i}_{j}})-\sigma \left(v\right(\mathcal{S}\left)\right). In sum, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right)\le \sigma \left(v\right({\mathcal{A}}_{{i}_{k-1}})\cup {S}_{{i}_{j}})+\sigma \left({S}_{{i}_{k}}\right). In addition we have \sigma \left(v\right({\mathcal{A}}_{{i}_{k-1}})\cup {S}_{{i}_{j}})+\sigma \left({S}_{{i}_{k}}\right)\le \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right) because in AM2CP, {S}_{{i}_{k}}={\text{argmax}}_{{S}_{z}\in \mathcal{V}\setminus {\mathcal{A}}_{{i}_{k-1}}}\left(\sigma \right({\mathcal{A}}_{{i}_{k-1}}\cup {S}_{z})-\sigma ({S}_{z}\left)\right). Therefore in both cases, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\left)\right)+\sigma \left({S}_{{i}_{j}}\right)\ge \sigma \left(v\right({\mathcal{A}}_{{i}_{k}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{j}}\cup v(\mathcal{S}\left)\right). By induction, we have \sigma \left(v\right({\mathcal{A}}_{{i}_{\left|\mathcal{V}\right|-1}}\left)\right)+\sigma \left({S}_{{i}_{\left|\mathcal{V}\right|}}\right)>\sigma \left(v\right({\mathcal{A}}_{{i}_{\left|\mathcal{V}\right|-1}}\setminus \mathcal{S}\left)\right)+\sigma ({S}_{{i}_{\left|\mathcal{V}\right|}}\cup v(\mathcal{S}\left)\right) for any \mathcal{S}\subseteq {\mathcal{A}}_{{i}_{\left|\mathcal{V}\right|-2}}. Therefore, the partition of each round *i* in AM2CP has the maximum objective function value among all the partitions separating the last two sets. Each time we compare with {\mathcal{P}}_{max} and merge the last two sets. Therefore {\mathcal{P}}_{max} is an optimal partition for the M2CP problem when the influence propagation function *σ*(·) is super-modular.

Since AM2CP is an optimal solution if *σ*(·) is super-modular, we are interested in the influence propagation models in which the influence propagation function *σ*(·) is super-modular. Note that *σ*(·), in this paper, is different from the influence function defined in [14]. In this paper *σ*(*X*) is the sum of influence propagation within *X* for every node in *X*, i.e., \sigma \left(X\right)=\sum _{i\in X}{\sigma}_{X}\left(i\right). In [14]*σ*(*X*) is the influence propagation of seed set *X* in the entire social network. We show the following lemma.

#### Lemma 1

When the influence propagation model is LT, for any two communities: *B*⊂*A*, and a node *u*∉*A*, we have *σ*(*A*∪{*u*})−*σ*(*A*)≥*σ*(*B*∪{*u*})−*σ*(*B*).

#### Proof.

The influence propagation in the LT model, as shown in [14], can be simulated as a random process by flipping coins. Assume we have flipped all the coins in advance, then an edge is declared to be ‘live’ if the coin flip indicated an influence will be propagated successfully and it is declared blocked otherwise. A node *j* is influenced by a seed *i* if and only if there is a path of live edges from *i* to *j*. According to this principle, any simple path from *i* to *j* has a certain probability to be a live path. In [15], Chen et al. prove that for any node *i*, the influence propagation of *i* is equal to \sum _{\text{sp}\in \text{SP}\left(i\right)}w\left(\text{sp}\right) where SP (*i*) is the set of all the simple paths starting from *i* and *w*(sp) is the probability that sp is a live path. Therefore, for a community *X* and a node *i*∈*X*, {\sigma}_{X}\left(i\right)=\sum _{\text{sp}\in {\text{SP}}_{X}\left(i\right)}w\left(\text{sp}\right) where SP _{
X
}(*i*) is the set of simple paths starting from *i* in community *X*, and \sigma \left(X\right)=\sum _{i\in X}{\sigma}_{X}\left(i\right) is the sum of probabilities for all the simple paths in *X*. Since for any two communities, *B*⊂*A*, the set of simple paths in *B* is a subset of the set of simple paths in *A*, we have *σ*(*A*)≥*σ*(*B*). Similarly, we have *σ*(*A*∪{*u*})−*σ*(*A*)≥*σ*(*B*∪{*u*})−*σ*(*B*) because *σ*(*A*∪{*u*})−*σ*(*A*) is the sum of probabilities of simple paths visit *u* exactly once in community (*A*∪{*u*}), and *σ*(*B*∪{*u*})−*σ*(*B*) is the sum of probabilities of simple paths visit *u* exactly once in community (*B*∪{*u*}) which is a subset of the former. Therefore, the influence propagation function *σ*(·) in the LT model is super-modular.

#### Theorem 2.

AM2CP is an optimal solution for M2CP in the LT model.

#### Proof.

The theorem follows directly from Theorem 1 and Lemma 1.

By Lemma 1, we show that *σ*(·) is super-modular in the LT model. We next show that *σ*(·) in the IC model, however, is not super-modular. The description of IC model can be found in detail in [14]. Here we just give a counterexample. As an example shown in Figure 3, the weights are as follows: *w*(1,2)=*w*(1,3)=*w*(1,4)=1 and *w*(2,5)=*w*(3,5)=*w*(4,5)=0.5. According to the edges in Figure 3, nodes 2, 3, and 4 cannot influence each other and nodes 2, 3, 4, and 5 cannot influence node 1. Let community *A*={1,2,3,5} and community *B*={1,2,5}. So *B* is a subset of *A*. By direct computing, we have *σ*(*A*∪{4})−*σ*(*A*)=5.375−3.75=1.625 and *σ*(*B*∪{4})−*σ*(*B*)=3.75−2=1.75. Therefore, *σ*(*A*∪{4})−*σ*(*A*)<*σ*(*B*∪{4})−*σ*(*B*) which implies *σ*(·) is not super-modular in the IC model.

### 3.2 Hardness

In this subsection, we study the hardness of M*K* CP. We show that the M*K* CP problem, with arbitrary *K*, is \mathcal{N}\mathcal{P}-hard in the LT or IC model.

#### Theorem 3.

The M*K* CP problem is \mathcal{N}\mathcal{P}-hard in the LT model for general *K*.

#### Proof.

To prove Theorem 3, we do a polynomial time reduction from the Minimum *K*-Cut problem. The input of Minimum *K*-Cut is a simple graph *G*(*V*,*E*) without directions and an integer *M*. The objective is to find a set of at most *M* edges which when deleted, separate the graph into exactly *K* nonempty components. It is well known that the Minimum *K*-Cut problem is \mathcal{N}\mathcal{P}-hard for general *K*.

Given a graph *G*(*V*,*E*) for the Minimum *K*-Cut problem, we construct a social network *G*^{′}(*V*^{′},*E*^{′}) as follows: (1) For each node *i*∈*V*, create a node *i*^{′} in *V*^{′}. (2) For each edge (*i*,*j*)∈*E*, create two edges (*i*^{′},*j*^{′}) and (*j*^{′},*i*^{′}) in *E*^{′}. (3) Let *Δ* denote the maximum degree in *G* and *n* denote the number of nodes in *G*. Assign weight w({i}^{\prime},{j}^{\prime})=\frac{1}{{\left(\mathrm{n\Delta}\right)}^{2}} for all the edges (*i*^{′},*j*^{′})∈*E*^{′}.

It is clear that the reduction can be done in polynomial time. We next show that there is a *K*-Cut with *M* edges if and only if there is a *K*-VDP with f\left(\mathcal{P}\right)\ge \frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}}. Assume there is a *K*-Cut with *M* edges, then graph *G* can be partitioned into *K* communities with |*E*|−*M* edges within the *K* communities. Consider the same partition in *G*^{′}. The one-hop influence propagation is \frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}}. Therefore, we have a *K*-VDP with f\left(\mathcal{P}\right)>\frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}} for *G*^{′}. Conversely, assume there is a *K*-VDP for *G*^{′} with f\left(\mathcal{P}\right)\ge \frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}}. It has been shown in [16] that for any nodes ∀*i*,*j*,*l*∈*V*, the probability of influence propagation from *i* to *j* via node *l* is equal to *w*(*i*,*l*)*w*(*l*,*j*) in the LT model. Therefore, a single two-hop influence propagation is \frac{1}{{\left(\mathrm{n\Delta}\right)}^{4}}. The number of two-hop simple paths for any node *i*^{′}∈*V*^{′} is no more than *Δ*^{2}. Therefore, the sum of two-hop influence propagation for every node in *V*^{′} is no more than \frac{n{\Delta}^{2}}{{\left(\mathrm{n\Delta}\right)}^{4}}=\frac{1}{{n}^{3}{\Delta}^{2}}. By direct computing, we have the sum of (*r*+1)-hop influence propagation is less than the sum of *r*-hop influence propagation for any node *i*. Since the length of simple paths is no more than *n*, we have the sum of multi-hop influence propagation for every node in *V*^{′} is less than \frac{1}{{\left(\mathrm{n\Delta}\right)}^{2}}. This implies that f\left(\mathcal{P}\right)\ge \frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}} if and only if the one-hop influence propagation is no less than \frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}}. Therefore, the same partition in *G* is a *K*-Cut with at most *M* edges. In sum, we prove Theorem 3.

#### Theorem 4.

The M*K* CP problem is \mathcal{N}\mathcal{P}-hard in the IC model for general *K*.

#### Proof.

To prove Theorem 4, we can do the same reduction as the one in the proof of Theorem 3, i.e., assign uniform weight \frac{1}{{\left(\mathrm{n\Delta}\right)}^{2}} on all the edges. It can be shown by induction that the sum of (*r*+1)-hop influence propagation a node *i* received is less than the sum of *r*-hop influence propagation it received for any node *i*∈*V*^{′} in the IC model. Therefore, by a similar argument, we have the sum of multi-hop influence propagation received for every node *i*∈*V*^{′} is less than the edge weight. Therefore, there exists a *K*-Cut with *M* edges if and only if there is a *K*-VDP with f\left(\mathcal{P}\right)\ge \frac{2\left(\right|E|-M)}{{\left(\mathrm{n\Delta}\right)}^{2}}.

The proofs of Theorems 3 and 4 are nothing but assign specific weights to make the multi-hop influence propagation negligible. It is intuitive that the general M*K* CP problem is even harder when multi-hop influence propagation is not negligible.

### 3.3 Heuristic algorithm for M*K* CP

In this subsection, we present two heuristic algorithms for M*K* CP. As mentioned in ‘Related work’ section in the literature, there are mainly four categories of methods for community partition: hierarchy-based methods, spectrum-based methods, density-based methods, and modularity-based methods. In our point of view, spectrum-based methods, density-based methods, and modularity-based methods are not suitable for M*K* CP. In spectrum-based methods, communities are partitioned by studying the adjacency matrix which cannot reflect the information of influence propagation. In density-based methods, communities are defined as areas of higher density than the remainder of the data set. Therefore, this category of methods requires the location knowledge of nodes which cannot be formulated in our M*K* CP problem. In modularity-based methods, the objective of community partition is only to maximize the global modularity score. Therefore, all the three categories of methods cannot be applied for M*K* CP and we focus on hierarchy-based methods.

Generally speaking, hierarchical community partition is a method to build a hierarchy of communities. There are two strategies for hierarchical partition. One is *split* and the other is *merge*. Split is a top down approach, i.e., all the nodes start within one community, and splits are performed on one of the communities recursively. Conversely, merge is a bottom up approach, i.e., each node starts in a distinct community, and pairs of communities are merged recursively as a new community. For typical hierarchical community partition problems, *n*−1 splits (or respectively merges) have to be done to build a hierarchy where *n* is the number of nodes. But for the M*K* CP problem, we need only *K*−1 splits or *n*−*K* merges respectively to obtain a *K*-VDP. We will determine the splits and merges in a greedy manner. The Split algorithm runs by calling AM2CP recursively, and each time it partitions a community *X* into two communities *X*_{1} and *X*_{2} with the minimum value of *σ*(*X*)−(*σ*(*X*_{1})+*σ*(*X*_{2})). The pseudo-code is given in Algorithm 2. The Merge algorithm runs by randomly selecting a community *X* each time and finding another community *Y* to maximize the value of *σ*(*X*∪*Y*)−(*σ*(*X*)+*σ*(*Y*)). The pseudo-code is given in Algorithm 3.

In the general case, the running time of a split with an exhaustive search requires exponential time. However, when *σ*(·) is super-modular, we can apply AM2CP to determine {C}_{{z}_{1}} and {C}_{{z}_{2}} for each *C*_{
z
} which requires only \mathcal{O}\left(\right|{C}_{z}{|}^{3}\tau ) time. Now let us consider the computational complexity of SAM*K* CP (Algorithm 2). To avoid duplicate computations, we can keep the optimal partition for each community in and apply AM2CP on both {C}_{{z}_{1}} and {C}_{{z}_{2}} at step 4 to obtain their optimal partitions. Then the overall running time of SAM*K* CP is \mathcal{O}\left(K{n}^{3}\tau \right) when *σ*(·) is super-modular.

In step 4 of MAM*K* CP (Algorithm 3), in order to maximize the marginal gain, we have to compute *σ*(*C*_{
i
}∪*C*_{
j
}) for all the communities {C}_{j}\in \mathcal{P}, thus, MAM*K* CP requires \mathcal{O}\left({n}^{2}\tau \right) time to obtain a *K*-VDP when *n* is large and *K* is small. The computational complexity of SAM*K* CP is even higher. Therefore, they may be not suitable for large social networks. To improve the running time performance, here we provide an alternative merge strategy for implementing MAM*K* CP. Instead of merging the communities with the maximum marginal gain, in step 4 we estimate the influence propagation of *C*_{
i
} through the entire graph, i.e., *σ*_{
V
}(*C*_{
i
}), and then compute the average influence received by *C*_{
j
} from *C*_{
i
}, which is defined as \frac{\sum _{l\in {C}_{i}}\sum _{r\in {C}_{j}}{p}_{V}(l,r)}{\left|{C}_{j}\right|}, for all the communities *C*_{
j
}≠*C*_{
i
}. This can be done by simply accumulating *p*_{
V
}(*l*,*r*) for each community *C*_{
j
} when we computing *σ*_{
V
}(*C*_{
i
}). Finally, we merge *C*_{
i
} with a community with the highest average received influence. In such a way, a merge can be done in *O*(*τ*) time. The overall running time of MAM*K* CP is only \mathcal{O}\left(\mathrm{n\tau}\right).

According to the complexity analysis, MAM*K* CP is better than SAM*K* CP in terms of the running time performance. For some large social networks, we can apply the simplified version of MAM*K* CP which requires only linear time. In terms of the partition quality, intuitively, SAM*K* CP is better than MAM*K* CP because it considers the global optimization (top-down approach) each time and MAM*K* CP considers the local optimization (bottom-up approach). We will demonstrate their performance through simulation in the next section.