9: Community Analysis in Complex Networks

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/46

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

47 Terms

1
New cards

Community

A subset of nodes within a graph such that the connections between these nodes are denser than the connections with the rest of the network.

2
New cards

Strong Community

Every node in the community has more connections internally to the community than externally.

3
New cards

Weak Community

Every node in the community has more connections externally than internally.

4
New cards

Strong Community Formula

For all vertices vi in a subgraph Vc, degreevc(vi) > degreenot vc(vi)

5
New cards

Weak Community Formula

The sum of all vertices’ degrees in the subgraph compared to the sum of all vertices’ degrees in the subgraph compared to outside the subgraph.

<p>The sum of all vertices’ degrees in the subgraph compared to the sum of all vertices’ degrees in the subgraph compared to outside the subgraph.</p>
6
New cards

Length of a chain

The number of edges it contains.

7
New cards

Distance between two vertices

The length of the shortest chain between those vertices.

8
New cards

Graph diameter

The longest distance between any two vertices.

9
New cards

Connected component (of an undirected graph)

A subgraph in which any two vertices of the subgraph are connected to each other that is connected to no additional vertices of the subgraph.

  • A function used to count connected components in a graph is ω(G)

10
New cards

Connected Graph Requirements

  • There is only 1 connected component

  • Or every partition of its vertex set into two non-empty sets VX and VY there is at least one edge with one end in VX and its other end in VY

<ul><li><p>There is only 1 connected component</p></li><li><p>Or every partition of its vertex set into two non-empty sets V<sub>X</sub> and V<sub>Y</sub> there is at least one edge with one end in V<sub>X</sub> and its other end in V<sub>Y</sub></p></li></ul><p></p>
11
New cards

Free Graph

A graph with no edges

12
New cards

Complete Undirected Graph

Every party of different vertices are connected.

13
New cards

Complete Graph Size

With order |V| = n, it is always |E| = (n(n - 1))/2

14
New cards

Trajectory

A directed path

15
New cards

Weakly Connected Directed Graph

There is a path between any pair of nodes where each node is different.

  • All strongly directed graphs are also weakly connected.

16
New cards

Strongly Connected Directed Graph

There is a directed path between any pair of different nodes, i.e. where there is a path between every pair of nodes, even when considering the direction of edges.

17
New cards

Depth-First Search

Searching children before siblings.

18
New cards

Breadth-First Search

Searching siblings before children.

19
New cards

Removing a Vertex

Remove the vertex and all of the edges connected to it.

20
New cards

Removing a Vertex (Formally)

In a graph G = (V, E), the graph H = G - v = (vH, eH) is the subgraph resulting from removing v in V from G, vH = V - {v} and all incident edges, for all edges e in E that aren’t v but are in eH.

21
New cards

Removing an Edge

Only remove the edge without any further modifications.

22
New cards

Bridge

An edge of a graph whose deletion increases the number of connected components within the graph.

  • ω(G \ e) > ω(G)

23
New cards

Cut Vertex (Articulation Point)

A vertex that when removed increases the number of connected components within the graph.

  • ω(G \ v) > ω(G)

24
New cards

K-Regular Graph

A graph where all of its vertices have the same degree.

<p>A graph where all of its vertices have the same degree.</p>
25
New cards

Bipartite Graph

The vertices of the graph can be partitioned into two subsets, such that all edges connect to a vertex of V1 and a vertex of V2.

26
New cards

Set Partitioning

Splitting a set into subsets, such as the union of all subsets is the same as the whole set.

27
New cards

Bipartite Graph Formally

For all edges (e = (vi, vj) in E), vi is in V1 and vj is in V2

28
New cards

Complete Bipartite Graph

Every vertex in V1 is connected to every vertex in V2.

29
New cards

Clique

A subset of a graph that is complete and minimal.

<p>A subset of a graph that is complete and minimal.</p>
30
New cards

Tree

A graph where every pair of vertices is joint by a single chain.

  • It is simple, acyclic and connected.

31
New cards

Internal Tree Vertex

A vertex that has a degree of 2 or more.

32
New cards

Leaf Node

A vertex with a degree of 1.

33
New cards

Modularity

The measure of the structure of a graph, measuring the strength of division of the graph into modules (cliques, clusters, communities).

34
New cards

Calculating Modularity (Simple)

Assume we want to divide a graph G into k subgraphs.

  • Define a symmetric matrix Mk x k = {mij} with elements mij that are the fraction of all edges in the network that link vertices in the subgraph Vi with vertices in the subgraph Vj

  • The row and column sums mi = Sum of all mij for each j represent the fraction of edges that connect to vertices in subgraph Vi

  • In a graph where edges fall between vertices without regarding the division, we would see mij = mimj

35
New cards

Modularity (Formula)

Where:

  • Mk x k = {mij} where M is a symmetric matrix and mij are the elements that are the fraction of all edges in the network that link vertices in the subgraph Vi with vertices in the subgraph Vj.

  • ||M|| is the sum of elements in the matrix.

  • Trace(M) is the sum of the main diagonal element

    • Represents the fraction of edges in the graph that connect to vertices in the same subgraph

<p>Where:</p><ul><li><p>M<sub>k x k</sub> = {m<sub>ij</sub>} where M is a symmetric matrix and m<sub>ij</sub> are the elements that are the fraction of all edges in the network that link vertices in the subgraph V<sub>i</sub> with vertices in the subgraph V<sub>j</sub>.</p></li><li><p>||M|| is the sum of elements in the matrix.</p></li><li><p>Trace(M) is the sum of the main diagonal element</p><ul><li><p>Represents the fraction of edges in the graph that connect to vertices in the same subgraph</p></li></ul></li></ul><p></p>
36
New cards

Newman-Girvan Modularity Formula

Where:

  • aij is the weight of the edge between vi and vj

  • ki = the sum of weights of the edges attached to the vertex vi

  • ci is the community vi is part of

  • D(ci, cj) is 1 if ci = cj or 0 otherwise

  • m = ½ * sum of all elements in the adjacency matrix.

<p>Where:</p><ul><li><p>a<sub>ij</sub> is the weight of the edge between v<sup>i</sup> and v<sup>j</sup></p></li><li><p>k<sup>i</sup> = the sum of weights of the edges attached to the vertex v<sup>i</sup></p></li><li><p>c<sup>i</sup> is the community v<sup>i</sup> is part of</p></li><li><p>D(c<sup>i</sup>, c<sup>j</sup>) is 1 if c<sup>i</sup> = c<sup>j</sup> or 0 otherwise</p></li><li><p>m = ½ * sum of all elements in the adjacency matrix.</p></li></ul><p></p>
37
New cards

Agglomerative Methods

Start from a free graph and add edges, building the graph from leaves to root.

38
New cards

Divisive Methods

Starting from a complete method, removing edges, in the process building the graph from root to leaves.

39
New cards

Louvain Algorithm

A community detection algorithm that iteratively maximises the difference between the actual number of edges in a community and the expected number of edges in the community.

40
New cards

Girvan-Newman Community Detection

A community detection algorithm based on betweenness - it iteratively computes the centrality for all edges and removes the edge with the greatest centrality, one at a time.

41
New cards

Louvain Algorithm - Phase 1

Builds a partition over the graph, shuffling nodes among neighbouring communities, potentially moving the same node multiple times.

42
New cards

Louvain Algorithm - Phase 2

Build a new graph whose nodes are the communities found in the first place.

  • The weights of the links between two community nodes are given by the sum of the weights of the links between nodes in the corresponding two communities.

  • Links between the same community lead to self-loops for this community in the new network.

43
New cards

Louvain Algorithm - Pro

Fast and scalable - modularity does not have to be calculated from scratch every time and just the difference can be calculated.

44
New cards

Louvain Algorithm - Con

The output of the algorithm is dependent on the order that nodes are considered in.

45
New cards

Metacommunity

A set of communities that interact with each other.

46
New cards

Girvan-Newman Community Detection - in brief

  • For every edge in a graph, calculate the betweenness centrality

  • Remove the edge with the highest betweenness centrality

  • Calculate the betweenness centrality for every remaining edge

  • Repeat steps 2 - 4 until there are no more edges left

47
New cards

Girvan-Newman Community Detection - Betweenness Centrality

Calculated using Freeman’s normalised betweenness centrality for edges.

  • qij(k) - the number of shortest paths between vi and vj running through the vertex/edge k (vk or ek)

  • Gij is the total number of shortest paths between vertices vi and vj.

  • F is a normalisation factor valued F = (|V| - 1)(|V| - 2) in cases of vertices and F = |V|(|V| - 1) in the case of edges

<p>Calculated using Freeman’s normalised betweenness centrality for edges.</p><ul><li><p>q<sup>ij</sup>(k) - the number of shortest paths between v<sup>i</sup> and v<sup>j</sup> running through the vertex/edge k (v<sup>k</sup> or e<sup>k</sup>)</p></li><li><p>G<sup>ij</sup> is the total number of shortest paths between vertices v<sup>i</sup> and v<sup>j</sup>.</p></li><li><p>F is a normalisation factor valued F = (|V| - 1)(|V| - 2) in cases of vertices and F = |V|(|V| - 1) in the case of edges</p></li></ul><p></p>