Multiple-Membership Communities Detection and Its Applications for Mobile Networks

of the covering the broad field of digital signal processing. to provide highlights of the current research in the digital signal processing area, showing the recent advances in this field. This the digital signal processing and but also accessible to anyone a scientific background desiring to have an up-to-date overview of this domain. Each chapter is self-contained be of the others. These nineteenth chapters present methodological advances and recent applications of digital signal processing in various domains as communications, filtering, medicine, astronomy, and image processing.

hierarchical levels at single and multi-layer graphs. In this chapter we present a framework for multi-membership communities detection in dynamical multi-layer graphs and its applications for missing (or hidden) link predictions/recommendations based on the network topology. In particular, we use modularity maximization with a fast greedy search (Newman, 2004) extended with a random walk approach ) to detect multi-resolution communities beyond and below the resolution provided by max-modularity. We generalize a random walk approach to a coupled dynamic systems (Arenas et al, 2006) and then extend it with dynamical links update to make predictions beyond the given topology. In particular, we introduce attractive and repulsive coupling that allow us to detect and predict cooperative and competitive behavior in evolving social networks. To deal with overlapping communities we introduce a soft community detection and outline its possible applications in single and multi-layer graphs. In particular, we propose friend-recommendations in social networks, where new link recommendations are made as intra-and inter-clique communities completion and recommendations are prioritized according to topologically-based similarity measures (Liben-Nowel & Kleinberg, 2003) modified to include multiple-communities membership. We also show that the proposed prediction rules based on soft community detection are in line with the network evolution predicted by coupled dynamical systems. To test the proposed framework we use a benchmark network (Zachary, 1977) and then apply developed methods for analysis of multi-layers graphs built from real-world mobile datasets (Kiukkonen et al, 2010). The presented results show that by combining information from multi-layer graphs we can improve reliability measures of community detection and missing links predictions. The chapter is organized as follows: in Section 2 we outline the dynamical formulation of community detection that forms the basis for the rest of the paper. Topology detection using coupled dynamical systems and its extensions to model a network evolution are described in Section 3. Soft community detection for networks with overlapping communities and its applications are addressed in Section 4, followed by combining multi-layer graphs in Section 5. Evaluation of the proposed methods in the benchmark network are presented in Section 6. Analysis of some real-world datesets collected during Nokia data collection campaign is presented in Section 7, followed by conclusions in Section 8.

Community detection 2.1 Modularity maximization
Let's consider the clustering problem for an undirected graph G =( V, E) with |V| = N nodes and E edges. Recently Newman et al (Girvan & Newman, 2002;2004) introduced a new measure for graph clustering" named a modularity, which is defined as a number connections within a group compared to the expected number of such connections in an equivalent null model (e.g., in an equivalent random graph). In particular, the modularity Q of a partition P may be written as where c i is the i-th community., A ij are elements of graph adjacency matrix; d i is the i-th node degree, d i = ∑ j A ij ; m is a total number of links m = ∑ i d i /2; P ij is a probability that nodes i and j in a null model are connected; if a random graph is taken as the null model, then P ij = d i d j /2m. By construction |Q| < 1a n dQ = 0 means that the network under study is equivalent to the used null model (an equivalent random graph). Case Q > 0 indicates a presence of a community structure, i.e., more links remain within communities than would be expected in an equivalent random graph. Hence, a network partition which maximizes modularity may be used to locate communities. This maximization is NP-hard and many suboptimal algorithms are suggested, e.g., see (Fortunato, 2011) and references within. In the following we use the basic greedy search algorithm (Newman, 2004) extended with a random walk approach, since it gives a reasonable trade-off between accuracy of community detection and scalability.

Greedy Search Algorithm
Input: a weighted graph described by N × N adjacency matrix A.
Initialize each node i as a community c i with modularity Repeat until there is an increase in modularity: for all nodes i do: -r e m o v ei from its community c i ; -i n s e r ti sequentially in neighboring communities c j for all j with A ij > 0; Stop when (a local) maximum is reached.

Communities detection with random walk
It is well-known that a network topology affects a system dynamics, it allows us to use the system dynamics to identify the underlying topology (Arenas et al, 2006;Lambiotte et al, 2009). First, we review the Laplacian dynamics formalism recently developed in (Evans & Lambiotte, 2009;Lambiotte et al, 2009). Let's consider N independent identical Poisson processes defined on every node of a graph G(V, E), |V| = N, where random walkers are jumping at a constant rate from each of the nodes. We define p n as the density of random walkers on node i at step n, then its dynamics is given by The corresponding continuous-time process, described by (3), Multiple-Membership Communities Detection and Its Applications for Mobile Networks www.intechopen.com is driven by the random walk operator A ij d j − δ ij , which in case of a discrete time process is presented by the random walk matrix L rw = D −1 L = I − D −1 A,w h e r eL = D − A is a Laplacian matrix, A is a non-negative weighted adjacency matrix, D = diag{d i },i= 1,...,N.
For an undirected connected network the stationary solution of (2) is given by p * i = d i /2m. Let's now assume that for an undirected network there exist a partition P with communities c k ∈P , k = 1,...,N c . The probability that initially, at t 0 , a random walker belongs to a community c k is Pr (c k , t 0 ) = ∑ j∈c k d j /2m. Probability that a random walker, which was initially in c k , will stay in the same community at the next step t 0 + 1isgivenby . ( 4 ) The assumption that dynamics is ergodic means that the memory of the initial conditions are lost at infinity, hence Pr(c k , t 0 , ∞) is equal to the probability that two independent walkers are in c k , ( 5 ) Combining (4) and (5) we may write In general case, using (3), one may define a stability of the partition P as (Evans & Lambiotte, 2009;Lambiotte et al, 2009) Then, as the special cases of (8) at t = 1, we get the expression for modularity (6). Note that R P (t) is non-increasing function of time:ȧt t = 0weget and max P R(0) is reached when each node is assigned to its own community. Note that (9) corresponds to collision entropy or Rényi entropy of order 2.
On the other hand, in the limit t → ∞, the maximum of R P (t) is achieved with Fiedler spectral decomposition into 2 communities. In other words, time here may be seen as a resolution parameter: with time t increasing, the max P R(t) results in a sequence of hierarchical partitions {P t } with the decreasing numbers of communities. Furthermore, as shown in (Evans & Lambiotte, 2009), we may define a time-varying modularity Q(t) by linear terms in time expansion for R(t) at t ≈ 0, which after substitution (6) and (9) gives In the following we apply time-dependent modularity maximization (11) using the greedy search to find hierarchical structures in networks beyond modularity maximization Q max in (1). This approach is useful in cases where maximization of (1) results in a very fragmental structure with a large number of communities. Also it allows us to evaluate the stability of communities at different resolution levels. However, since the adjacency matrix A is not time dependent, the time-varying modularity (11) can not be used to make predictions beyond the given topology.

Laplacian formulation of network dynamics
Let's consider an undirected weighted graph G = {V, E} with N nodes and E edges, where each node represents a local dynamical system and edges correspond to local coupling. Dynamics of N locally coupled dynamical systems on the graph G is described bẏ where q i (x i ) describes a local dynamics of state x i ; A ij is a coupling strength between nodes i and j; ψ(·) is a coupling function; k c is a global coupling gain. In case of weakly phase-coupled oscillators the dynamics of local states is described by Kuramoto model (Acebron et al, 2005;Kuramoto, 1975) Linear approximation of coupling function sin(θ) ≃ θ in (13) results in the consensus model (Olfati-Saber et al, 2007)θ which for a connectivity graph G may be written aṡ where L = A − D is the Laplacian matrix of G. The solution of (15) in the form of normal modes ω i (t) may be written as where λ 1 ,...,λ N are eigenvalues and V is the matrix of eigenvectors of L. Note that (16) describes a convergence speed to a consensus for each nodes. Let's order these equations according to the descending order of their eigenvalues. Then it is easy to see that nodes are approaching the consensus in a hierarchical way, revealing in the same time a hierarchy of communities in the given network G.
Note that (15) has the same form as (3), with the difference that the random walk process (3) is based on L rw = D −1 L. It allows us to consider random-walk-based communities detection in the previous section as a special case of coupled oscillators synchronization. Similarly to (15), we may derive the Laplacian presentation for locally coupled oscillators (13).
In particular, the connectivity of a graph may be described by the graph incidence (N × E) matrix B: {B} ij = 1( o r−1) if nodes j and i are connected, otherwise {B} ij = 0. In case of weighted graphs we use the weighted Laplacian defined as Based on (17) we can rewrite (13) aṡ where vectors and matrices are defined as follows: ..,a E }, a 1 , ..., a E are weights A ij indexed from 1 to E. In the following we use (18) to describe different coupling scenarios.

Dynamical structures with different coupling scenarios
Let's consider local correlations between instant phases of oscillators, where the average is taken over initial random phases θ i (t = 0). Following (Arenas et al, 2006; we may define a dynamical connectivity matrix C t (η), where two nodes i and j are connected at time t if their local phase correlation is above a given threshold η, We select communities resolution level (time t) using a random walk as in Section 2. Next, by changing the threshold η, we obtain a set of connectivity matrices C t (η) which reveal dynamical topological structures for different correlation levels. Since the local correlations r ij (t) are continuous and monotonic functions in time, we may also fix η and express dynamical connectivity matrix (20) in the form C η (t) to present the evolution of connectivity in time for a fixed correlation threshold η. Using this approach we consider below several scenarios of networks evolution with dynamically changing coupling.

B.1. Attractive coupling with dynamical updates
As the first step, let's introduce dynamics into static attractive coupling (13). Using the dynamical connectivity matrix (20) we may writė where matrix F (η) (t) describes dynamical attractive coupling, F Then, similar to (18), the attractive coupling with a dynamical update may be described aṡ where initial conditions are defined by

B.2. Combination of attractive and repulsive coupling with dynamical links update
Many biological and social systems show a presence of a competition between conflicting processes. In case of coupled oscillators it may be modeled as the attractive coupling (driving oscillators into the global synchronization) combined with the repulsive coupling (forcing system into a chaotic/random behavior). To allow positive and negative interactions we use instant correlation matrix R(t)=R + (t)+R − (t), and separate attractive and repulsive partṡ where superscripts denote positive and negative correlations 1 . Note that the total number of links in the network does not change, at a given time instant each link performs either attractive or repulsive function.
To obtain the Laplacian presentation we define a dynamical connectivity matrix F(t) as element-by-element matrix product and present dynamic Laplacian as the following It allows us to writė or in matrix forṁ

B.3. Combination of attractive and initially neutral coupling with dynamical links update
Negative correlations (resulting in repulsive coupling) are typically assigned between nodes which are not initially connected. However, in many cases this scenario is not realistic. For example, in social networks, the absence of communications between people does not necessary indicate conflicting (negative) relations, but often has a neutral meaning. To take this observation into account we modified second term in (23) such that it sets neutral initial conditions to unconnected nodes in adjacency matrix A. In particular, system dynamics with links update (24) and initially neutral coupling is described bẏ or in the matrix forṁ Then a dynamical interplay between the given network topology and local interactions drives the connectivity evolution. We evaluated the scenarios above using different clustering measures (Manning et al, 2008) and found that scenario B.3 shows the best performance. In the following we use coupled system dynamics approach to predict networks' evolution and to make missing links predictions and recommendations. Furthermore, the suggested approach allows us also to predict repulsive relations in the network based on the network topology and links dynamics.

Overlapping communities 4.1 Multi-membership
In social networks people belong to several overlapping communities depending on their families, occupations, hobbies, etc. As the result, users (presented by nodes in a graph) may have different levels of membership in different communities. This fact motivated us to consider multi-community membership as edge-weights to different communities and partition edges instead of clustering nodes.
As an example, we can measure a membership g j (k) of node k in j-th community as a number of links (or its weight for a weighted graph) between the k-th node and other nodes within the same community, g j (k)=∑ i∈c j w ki Then, for each node k we assign a vector g(k)=[ g 1 (k), g 2 (k),...,g N c (k)], k ∈{ 1,...,N} which presents the node membership (or participation) in all detected communities {c 1 ,...,c N c }. In the following we refer g(k) as a soft community decision for the k-th node.
To illustrate the approach, overlapping communities derived from benchmark karate club social network (Zachary, 1977) and membership distributions for selected nodes are depicted at Fig.1 and Fig.2, respectively. Modularity maximization here reveals 4 communities shown by different colors. However, the multi-communities membership results in overlapping communities illustrated by overlapping ovals (Fig.1). For example, according to modality maximization, the node 1 belongs to community c 2 , but it also has links to all other communities indicated by blue bars at Fig.2. Participation of different nodes in selected communities is presented at Fig.3 and Fig.4. These graphs show that even if a node is assigned by some community detection algorithm to a certain community, it still may have significant membership in other communities. This multi-communities membership is one of the reasons why different algorithms disagree on communities partitions. In practice, e.g., in targeted advertisements, due to the "hard" decision in community detection, some users may be missed even if they are strongly related to the targeted group. For example, user '29' is assigned to c 3 (Fig.1), but it also has equally strong memberships in c 2 and c 4 (Fig.3). Using soft community detection user '29' can also be qualified for advertisements targeted to c 2 or c 4 .

Application of soft community detection for recommendation systems
In online social networks a recommendation of new social links may be seen as an attractive service. Recently Facebook and LinkedIn introduced a service "People You May Know", which recommends new connections using the friend-of-friend (FoF) approach. However, in large networks the FoF approach may create a long and often not relevant list of recommendations, which is difficult (and also computationally expensive, in particular in mobile solutions) to navigate. Furthermore, in mobile social networks (e.g., Nokia portal Ovi Store) these kinds of recommendations are even more complicated because users' affiliations to different groups (and even its number) are not known. Hence, before making recommendations, communities are to be detected first.

Recommendations as communities completion
Based on soft communities detection we suggest to make the FoF recommendations as follows: (i) detect communities, e.g., by using one of the methods described above; (ii) calculate membership g j (k) in all relevant communities for each node k; (iii) make new recommendations as communities completion following the rules below; (iv) use multiple-membership to prioritize recommendations.
To make new link recommendations in (iii) we suggest the following rules: • each new link creates at least one new clique (the FoF concept); • complete cliques within the same community (intra-cliques) using the FoF concept; • complete cliques towards to the fully-connected own community if there is no FoF links; • complete inter-cliques (where nodes belong to different communities); • prioritize intra-clique and inter-clique links completion according to some measure based on multi-membership.
To assign priorities we introduce several similarity measures outlined below. We will show in next sections that these rules are well in line with link predictions made by coupled dynamical systems described in Section 3.

Modified topology-based predictors
Let'a define sets of neighbors of node k, which are inside and outside of community c i as Γ i (k)={Γ(k) ∈ c i } and Γ \i (k)={Γ(k) / ∈ c i }, respectively. This allows us to introduce a set of similarity measures by modifying topology-based base-line predictors listed in (Liben-Nowel & Kleinberg, 2003) to take into account the multiple-membership in overlapping communities. As an example, for the intra-clique completion we may associate a quality of missing link prediction (or recommendation) between nodes k and n within c i community by modifying the base-line predictor scores as follows: where |path i (k, n) (l) | is number of all paths of length-l from k to n within c i ; I is the identity matrix, A (i) is the (weighted) adjacency matrix of community c i , β is a dumping parameter, 0 < β < 1, such that ∑ ij βA ij < 1. Additionally to the base-line predictors above, we also use a community connectivity measure, S (i,i) CC (k, n) ∼ σ 2 (L i ), which characterizes a convergence speed of opinions to consensus within a community c i when a link between nodes k and n is added inside the community; here σ 2 (L) is the 2nd smallest eigenvalue of the graph Laplacian L i of community c i (or the normalized Laplacian for weighted graphs, based on (17)). The measures above consider communities as disjoint sets and may be used as the 1st order approximation for link predictions in overlapping communities. To take into account both intra-and inter-community links we use multi-community membership for nodes, g i (k).I n general, for nodes k ∈ c i and n ∈ c j , the inter-community relations may be asymmetric, g j (k) = g i (n). In the case of undirected graphs we may use averaging and modify the base-line predictors S(k, n) as For example, modified Jaccards and Katz scores which take into account multi-communities membership are defined as where k ∈ c i , n ∈ c j ; A (C n,k ) is an adjacency matrix formed by all communities relevant to nodes n and k.
Recommendations also may be made in the probabilistic way, e.g., to be picked up from distributions formed by modified prediction scores.

Multi-layer graphs
In analysis of multi-layer graphs we assume that different network layers capture different modalities of the same underlying phenomena. For example, in case of mobile networks the social relations are partly reflected in different interaction layers, such as phone and SMS communications recorded in call-logs, people "closeness" extracted from the bluetooth (BT) and WLAN proximity, common GPS locations and traveling patterns and etc. It may be expected that a proper merging of data encoded in multi-graph layers can improve the classification accuracy. One approach to analyze multi-layer graphs is first to merge graphs according to some rules and then extract communities from the combined graph. The layers may be combined directly or using some functions defined on the graphs. For example, multiple graphs may be aggregated in spectral domain using a joint block-matrix factorization or a regularization framework (Dong et al, 2011). Another method is to extract spectral structural properties from each layer separately and then to find a common presentation shared by all layers (Tang et all, 2009). In this paper we consider methods of combining graphs based on modularity maximization Let's define a modularity matrix M with elements . Then the modularity in (33) may be presented as where columns of N × N c matrix G describes community memberships for nodes, g j (i)= g ij ∈{ 0, 1}, g ij = 1i ft h ei-th node belongs to the community c j ; N c is a number of communities; d is a vector formed by degrees of nodes, d =(d 1 , ··· , d N ) T . Let's consider a multi-layer graph G = {G 1 , G 2 ,...,G L } with adjacency matrices A = {A 1 , A 2 ,...,A L },w h e r eL is a number of layers. Before combining. the graphs are to be normalized. In case of modularity maximization (33) it is natural to normalize each layer according its total weight m.
The simplest method to combine multi-layer graphs is to make the average of all layers: Then the community membership matrix G may be found by one of community detection methods described before. By taking into account degree distributions of nodes at each graph layer, the total modularity across all layers may maximized as (Tang et all, 2009) Similar approach, but applied to graph Laplacian spectra and extended with a regularization, is used in (Dong et al, 2011). Typically networks describing social relations are often undersampled, noisy and contain different amount of information at each layer. As the result, a noisy or an observable part(s) in one of the layers after averaging in (35) and (36) may deteriorate the total accuracy. A possible solution for this problem is to apply weighted superposition of layers. In particular, the more informative the layer l is, the larger weight w l it should be given. For example, we may weight the layer l according to its modularity Q l ,hencē Another method to improve the robustness of nodes classification in multi-layer graphs is to extract structural properties G l at each layer separately and then merge partitions (Strehl & Ghosh, 2002). The more advanced approach of processing of multi-dimensional data may be based on presenting multi-layer graphs as tensors and apply tensor decomposition algorithms (Kolda & Bader, 2009) to extract stable communities and make de-noising by lower-dimension tensor approximation. These methods are rather involved and will be considered elsewhere.

Simulation results for benchmark networks
To test algorithms described in the previous sections we use the karate club social network (Zachary, 1977). As mentioned before, to get different hierarchical levels beyond and below the resolution provided by max-modularity, we use the random walk approach. A number of detected communities in the karate club at different resolution levels is presented at Fig.5. As one can see, the max-modularity algorithm does not necessary result in the best partition stability. The most stable partition in case of the karate club corresponds to 2 communities (shown by squares and circles at Fig.1), which is in line with results reported by (Zachary, 1977). Comparison of coupling scenarios B.2 and B.3 is presented at Fig.6 and Fig.7. Pair-wise correlations between oscillators at t = 1 for coupling scenarios B.2 and B.3 are depicted at Fig.6. Scenario B.3 reveals clearly communities structure, while in case of B.2 the negative coupling overwhelms the attractive coupling and forces the system into a chaotic behavior.
Dynamical connectivity matrices reordered by communities for the attractive-neural coupling B.3 at t = 1 (on the left) and t = 10 (on the right) are depicted at Fig.7. In case B.3 one can see (also cf. Fig.8) that number of connections with the attractive coupling is growing in time, while the strength of the repulsive connections is decreasing, which finally results in the global synchronization. For the scenario B.2 there is a dynamical balance between attractive and repulsive coupling with small fluctuations around the mean (Fig.8). Note that even the averaged strength of the repulsive connections is less than the attractive coupling, the system dynamics shows a quasi-chaotic behavior. Fig.9 shows the adjacency matrix for Zachary karate club (red circles), detected communities by pink squares, predicted links are shown by blue dots. As expected, the dynamical methods for links prediction tend to make more connections within the established communities first, followed by merging communities and creating highly overlapped partitions at the higher hierarchical levels (the upper part at Fig.9). In case of Katz predictor (32), by increasing the dumping parameter β we take into account the larger number of paths connecting nodes in the graph, which in turn results into the larger number of suggested links above a fixed threshold. Following the concept of dynamical connectivity matrix (20), the process of growing number of links may be seen as the hierarchical community formation predicted by (32) at different values of β. This process is illustrated at Fig.9, the bottom part. Note that in case of Katz predictor, the connected graph is also approaching the fully connected graph, but the network evolution may take a different trajectory compared to the coupled dynamical systems. In particular, at small values of t and β, the network evolution is similar for both cases (cf. Fig.9(b) and Fig.9(e)), but with the time the evolution trajectories may follow different paths (cf. Fig.9(c) and Fig.9(f)), which in turn results in different predictions. Note that in all cases of the network evolution, we may prioritize the recommended links based on the soft communities detection (Katz predictor) or the threshold η (coupled dynamical systems). We address this issue below in Section 7.

Applications for real wold mobile data 7.1 Community detection in Nokia mobile datasets
To analyze mobile users behavior and study underlying social structure, Nokia Research Center/Lausanne organized mobile data collection campaign at EPFL university campus (Kiukkonen et al, 2010). Rich-content datasets (including data from mobile sensors, call-logs, Besides the collected data, several surveys before and after the campaign have been conducted to profile participants and to form a basis for the ground truth. In this section we consider social affinity graphs constructed from call-logs, GPS locations and users proximity. Fig.10 shows a weighted aggregated graph of voice-calls and SMS connections derived from corresponding datasets. This graph depicts connections among 136 users, which indicates that about 73% of participants are socially connected within the data collection campaign. To find communities in this network we first run the modularity maximization algorithm, which identifies 14 communities after the 3d iteration (Fig.10). To get the higher hierarchical levels one could represent each community by a single node and continue clustering with the new aggregated network. However, this procedure would result in a loss of underlaying structure. In particular, the hierarchical community detection with the nested communities structure poses additional constrains on the maximization process and may lead to incorrect classification at the higher layers. For example, after the 3d iteration the node "v146", shown by red arrow at Fig.10, belongs (correctly) to a community shown by white circles (3 intra-community edges and single edges to other 6 communities). After agglomeration, the node "v146" will be assigned to the community shown by white circles on the left side of the graph. However, it is easy to verify that when communities on the right are merged, the node "v146" is to be re-assigned to the community on the right side of the network. Dynamical formulation of modularity extended with the random walk allows different (not necessarily nested) allocations of nodes at different granularity (resolution) levels and helps to resolve this problem. Fig.11 presents a number of communities at different hierarchical levels detected by the random walk for the network shown at Fig.10. As one can see, the max-modularity partition with 14 communities is clearly unstable and hardly could be used for reliable predictions, the     stable partitions appear at the higher hierarchical levels starting from 8 communities. In the following we rely on this fact to build the ground truth references for evaluation of clustering.

Applications for multi-layer graphs
Besides phone and SMS call-logs, the social affinity of participants may also be derived from other information layers, such as a local proximity of users (BT and WLAN layers) and their location information (GPS). In this case the soft communities detection may be extended to include multiple graph layers. In particular, we found that users' profiles may significantly vary across the layers. For example, a user may have dense BT connections with a multiple communities participation, while his phone call activities may be rather limited. Combining information from several graph layers can be used to improve the reliability of classification. Below we show some preliminary results, more detailed analysis of multi-layer graphs built from mobile datasets may be found in (Dong et al, 2011).
To make verification of detected communities we select a subset of 136 users with known email affiliations as the ground truth. In our case these users are allocated into 8 groups. To get the same number of communities in social affinity multi-layer graphs, we use the random walk (11) to obtain the more course resolution than provided by the modularity maximization. Fig 12 depicts communities (color coded) derived from the phone-calls graph. Single nodes here indicate users which did not make phone calls to other participants of the data collection campaign. Communities derived from the BT-proximity graph and mapped on the phone-call graph are shown at Fig.13. As expected, multi-layers graphs help us to classify users based on the additional information found in other layers. For example, users which can not be classified based on phone calls (Fig.12) are assigned to communities based on the BT proximity (Fig.13). Fig.14 shows communities detected in the combined graph formed by the BT and phone-call networks and then mapped on the phone-call network. Next, we consider communities detected at single and combined layers with different strategies (35)-(37) described in Section 5 and compare them to the ground truth. To evaluate accuracy of community detection we use the normalized mutual information (NMI) score, purity test and Rand index (RI) (Manning et al, 2008). We found that the best graph combining is provided by weighted superposition (37) according to the max-modularity of layers Q.
Results of the comparison are summarized in Table 1. As expected, different graph layers have a different relevance to the email affiliations and do not have fully overlapped community structures. In particular, the local proximity seems to be more relevant to professional relations

Application for recommendation systems
As discussed in Section 4, one of applications of the soft communities detection and coupled systems dynamics may be seen in recommendation systems. To illustrate the approach we selected the user "129" (marked by oval) in the phone-calls network at Fig.12 and calculated proposed prediction scores for different similarity measures. First, we consider intra-community predictions made by coupled dynamical systems. Fig.15(a) depicts pair-wise correlations (scaled by 5) between oscillators at t = 10 for the sub-network at Fig.12 forming the intra-community of the user "129". By changing (a) (b) (c) Fig. 15. Community of the user "129" (shown by pink color at Fig.12): averaged (scaled by 5) pair-wise correlations between oscillators at t = 10 (a). Intra-community adjacency matrix (red circles) and links predicted by dynamics (blue dots) at different resolution levels: t = 15 (b) and t = 25 (c).
the threshold η for the dynamical connectivity matrix C t (η) (which is linked to time resolution t) we obtain different connectivity matrices C η (t) presenting the network evolution. Connectivity matrices (blue points) corresponding to η = 3(t = 15) and η = 2.3 (t = 25) are shown at Fig.15(b) and Fig.15(c), respectively. The community adjacency matrix is marked on the same figures by red circles. As one can see, dynamical systems first reliably detect the underlaying topology and then form new links as the result of local interactions and dynamical links update. It can be easily verified that practically all new links (e.g., 12 out of 13 at Fig.15(b)) create new cliques, hence we can interpret these new links as the Friend-of-Friend recommendations. Calculated scores S (i,i) DC (k, n) for dynamical systems together with the Friend-of-Friend intra-community recommendations for two predictors based on the soft community detection (Katz predictor and convergence speed to consensus, S (i,i) CC (k, n)) are summarized in Table 2.
Here we list all new links together with their normalized prediction scores for the user "129" which create at least one new clique within its community (shown by pink color at Fig.12 DC (k, n) are based on the network synchronization with closely related Laplacians. As the result, the distribution of prediction scores S (i,i) CC (k, n) and S (i,i) DC (k, n) are rather close to each other, compared to the the distribution of the routing-based Katz score S (i,i) KC (k, n). Convergence of opinions to a consensus within communities in many cases is the important target in social science. As an example, the best intra-community recommendation in the phone-calls network according S (ii) CC (k, n) is shown by the blue arrow at Fig.12. Scaled pair-wise correlations between oscillators for the whole phone-call network   Fig.16. Correlations between nodes, re-ordered according to one of the stable partitions detected by the random walk at t=10, reveal clearly the community structure (Fig.17). The phone-calls adjacency matrix (red circles) and all possible intra-community links (yellow squares) for the stable communities at t = 10 are depicted at Fig.18 (a). Links predicted by system dynamics (blue dots) inside and outside of yellow squares indicate predicted intra-community and inter-communities connections at different resolution levels and show the priority of the intra-community connections ( Fig.18 (b) -Fig.18(c) ). As the whole, the presented results for the coupled dynamical systems provide the formal basis for the recommendation rules formulated in Section 4.2.
As it is shown in Section 3, the dynamical process of opinions convergence may be seen as the first-order approximation of the network synchronization. At the same time, S (i,i) Fig. 18. Phone-call network: (a) adjacency matrix is marked by red dots, all possible intra-communities links are shown by yellow squares. Links predicted by dynamics (blue dots) tend to concentrate within communities: (b) t = 10; (c) t = 15.
has the lower computational complexity than S (i,i) DC (k, n),itmakesS (i,i) CC (k, n) more suitable for large networks. Prediction scores S CC (129, n) and S KC (129, n) calculated according to (32) for cases with intra-and inter-communities links in the phone-call network are depicted at Fig.19. Here the scores are normalized as probabilities and sorted according to its priority; destination nodes n are listed along the x-axis; corresponding random-link probabilities, p kn =( d k d n )/2m, are shown as the reference. Note that the link with the highest priority, {129,51} for S (i,i) CC (k, n), is the same as in the intra-community recommendation (cf. Table 2). However, the presence of inter-community links modifies priorities of other recommendations according to (30). To make verification we compare the predicted links at the phone-call network with links observed for the user "129" at the BT proximity layer. This comparison shows a good fit: 16 out of 18 predicted links are found at the BT proximity layer. Results for the combined BT and phone-calls networks are presented at Fig.20. Pair-wise correlations between nodes obtained by dynamical systems approach are shown at Fig.20 (a). These correlations may be interpreted as probabilities for new links recommendations. Fig.20 (b) depicts recommended links based on the modified Katz predictor (blue circles) beyond the Fig. 19. Priorities of the FoF recommendations for the user 129 at Fig.12 to be connected to destination nodes shown along x-axis over all relevant communities.
given topology (red dots). We found that both recommenders mostly agree on the priority of intra-community links, but put different weights on inter-community predictions. Depending on a purpose of recommendation we may select different prediction criteria. Since new links change topology, which in turn affects dynamical properties of the network, the recommendations may be seen as a distributed control driving the network evolution. In general, the selection of topology-based recommendation criteria and their verifications are the open problems. Currently we are running experiments to evaluate different recommendation criteria and its acceptance rates.

Conclusions
In this chapter we present the framework for multi-membership communities detection in dynamical multi-layer graphs and its applications for links predictions/recommendations based on the network topology. The method is based on the dynamical formulation of modularity using a random walk and then extended to coupled dynamical systems to detect communities at different hierarchical levels. We introduce attractive and repulsive coupling and dynamical link updates that allow us to make predictions on a cooperative or a competing behavior of users in the network and analyze connectivity dynamics.
To address overlapping communities we suggest the method of soft community detection. This method may be used to improve marketing efficiency by identifying users which are strongly relevant to targeted groups, but are not detected by the standard community detection methods. Based on the soft community detection we suggest friend-recommendations in social networks, where new link recommendations are made as intra-and inter-clique communities completion and recommendations are prioritized according to similarity measures modified to include multiple-communities membership. This developed methods are applied for analysis of datasets recorded during Nokia