selected topics in data networking explore social networks:
DESCRIPTION
Community Detection in Graphs Identifying modules and their boundaries allows for a classification of vertices, according to their structural position in the modules. Vertices with a central position in their clusters, i. e. sharing a large number of edges with the other group partners, may have an important function of control and stability within the group; 3 Source:TRANSCRIPT
Selected Topics in Data Networking
Explore Social Networks:
Classification or Clustering of Vertices Grouping by
Structural Position: Position of Vertices Distance
Attributes of Vertices Similarity
2
Community Detection in Graphs Identifying modules and their boundaries allows for a classification
of vertices, according to their structural position in the modules.
Vertices with a central position in their clusters, i. e. sharing a large number of edges with the other group partners, may have an important function of control and stability within the group;
3
Source: http://hal.elte.hu/~pallag/
Community Detection in Graphs Vertices lying at the boundaries between modules play an important
role of mediation and lead the relationships and exchanges between different communities.
Real networks are usually composed by communities including smaller communities.
4
Community Evolution
Community structure is subject to constant evolution in many systems. Social networks are always changing due to new
acquaintances forming and older relationships fading away as time goes on.
Large enough community can split into several smaller ones; new communities are born and old ones may disappear.
5
Basic of CommunityA simple graph with three communities Zachary’s karate club
A standard benchmark in community detection
6
Basic of Community
A subgraph C of a graph G, with |C| = nc and |G| = n vertices
The internal and external degree of vertex v C, ∈ Internal degree: k(int)
the number of edges connecting v to other vertices of C External degree: k(ext)
the number of edges connecting v to the rest of the graph
7
Basic of Community
If k(ext) = 0, the vertex has neighbors only within C, which is likely to be a good cluster for v;
If k(int) = 0, the vertex is disjoint from C and it should better be assigned to a different cluster.
8
Basic of Community
The internal degree k(C, int) of C The sum of the internal degrees of its vertices.
The external degree k(C, ext) of C the sum of the external degrees of its vertices.
The total degree k(C) is the sum of the degrees of the vertices of C.
K(C) = k(C, int) + k(C, ext)
9
Basic of Community
10
11
Partition A partition of a network is a classification or clustering of
the vertices in the network such that each vertex is assigned to exactly one class or cluster.
Classes are identified by integers A list of nonnegative integers, one for each vertex in the network.
12
Partition Partitions store discrete characteristics of vertices.
A property is discrete if it consists of a limited number of classes.
Partitions may specify a structural property such as world system position, which is a result of network analysis or a characteristic measured independently of the network (e.g., the continent where a nation is located ). We call the latter attributes of vertices.
Attributes of Vertices Student Network
Nodes: Students Attributes of Nodes: gender, major of study, study year,
13
http://education-portal.com/articles/Connected_Colleges_New_Study_Suggests_Using_Social_Networking_Tools_to_Engage_Students.html
Partition
In real systems vertices may be shared among different communities. A division of a graph into overlapping (or fuzzy)
communities is called cover.
Partitions can be hierarchically ordered, when the graph has different levels of organization/structure at different scales.
14
Partition
15
Partition
Partition splits a network into parts. We can use partitions to reduce a network in
three ways: Extract one part (local view) Shrink each class of vertices into one new vertex
(global view) Select one part and shrink neighboring classes to
focus on the internal structure and overall position of this class (contextual view)
16
Graph Partitioning
The problem of graph partitioning consists in dividing the vertices in g groups of predefined size, such that the number of edges lying between the groups is minimal. The number of edges running between clusters is
called cut size.
17
Graph with fourteen vertices, for g = 2 and clusters of equal size.
Clustering Coefficient
A clustering coefficient is a measure of the degree to which nodes in a graph tend to cluster together. If the clustering coefficient were “1”, the
neighborhood would be fully connected.
18
Clustering Coefficient
19http://mathinsight.org/clustering_coefficient_definition
Clustering Coefficient
What is clustering coefficient of A?
How many edges may there be between A’s friends? B-C; B-D; B-E; C-D; C-E; D-E
Clustering Coefficient
What is clustering coefficient of A?
How many edges may there be between A’s friends? 6
How many edges are there between A’s friends?
Clustering Coefficient
What is clustering coefficient of A?
How many edges may there be between A’s friends? 6
How many edges are there between A’s friends? 1 (C-D)
Clustering Coefficient
What is clustering coefficient of A?
How many edges may there be between A’s friends? 6
How many edges are there between A’s friends? 1 (C-D)
Clustering coefficient: 1/6
Clustering Coefficient
What is clustering coefficient of B?
What is clustering coefficient of E?
24
Practice
https://www.learner.org/courses/mathilluminated/interactives/network/
25
References
Santo Fortunato, Community detection in graphs, Physics Reports 486, 75-174 (2010).
Teaching Materials: SCI 199Y Tutorial, 2010
26