Network Theory: Community Detection Dr. Henry Hexmoor Department of Computer Science Southern Illinois University Carbondale.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Great Theoretical Ideas in Computer Science
Social network partition Presenter: Xiaofei Cao Partick Berg.
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
Introduction to Graph Cluster Analysis. Outline Introduction to Cluster Analysis Types of Graph Cluster Analysis Algorithms for Graph Clustering  k-Spanning.
Modularity and community structure in networks
Community Detection Laks V.S. Lakshmanan (based on Girvan & Newman. Finding and evaluating community structure in networks. Physical Review E 69,
Community Detection Algorithm and Community Quality Metric Mingming Chen & Boleslaw K. Szymanski Department of Computer Science Rensselaer Polytechnic.
Graph Partitioning Dr. Frank McCown Intro to Web Science Harding University This work is licensed under Creative Commons Attribution-NonCommercial 3.0Attribution-NonCommercial.
Information Networks Graph Clustering Lecture 14.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
1 Modularity and Community Structure in Networks* Final project *Based on a paper by M.E.J Newman in PNAS 2006.
Author: Jie chen and Yousef Saad IEEE transactions of knowledge and data engineering.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
1 CS 201 Compiler Construction Lecture 12 Global Register Allocation.
Fast algorithm for detecting community structure in networks.
Segmentation Graph-Theoretic Clustering.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
A scalable multilevel algorithm for community structure detection
New Algorithm DOM for Graph Coloring by Domination Covering
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Introduction to Graph Theory
Image Segmentation Seminar III Xiaofeng Fan. Today ’ s Presentation Problem Definition Problem Definition Approach Approach Segmentation Methods Segmentation.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
A Clustering Algorithm based on Graph Connectivity Balakrishna Thiagarajan Computer Science and Engineering State University of New York at Buffalo.
Image segmentation Prof. Noah Snavely CS1114
1 Closures of Relations: Transitive Closure and Partitions Sections 8.4 and 8.5.
CS774. Markov Random Field : Theory and Application Lecture 02
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
Topology Control of Multihop Wireless Networks Using Transmit Power Adjustment Paper By : Ram Ramanathan, Regina Resales-Hain Slides adapted from R. Jayampathi.
Introduction to Graph Theory
Graph Theory and Applications
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
University at BuffaloThe State University of New York Detecting Community Structure in Networks.
Community Discovery in Social Network Yunming Ye Department of Computer Science Shenzhen Graduate School Harbin Institute of Technology.
DM GROUP MEETING PRESENTATION PLAN Eigenvector-based Centrality Measures For Temporal Networks by D Taylor et.al. Uncovering the Small Community.
Finding community structure in very large networks
Community structure in graphs Santo Fortunato. More links “inside” than “outside” Graphs are “sparse” “Communities”
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
James Hipp Senior, Clemson University.  Graph Representation G = (V, E) V = Set of Vertices E = Set of Edges  Adjacency Matrix  No Self-Inclusion (i.
Alan Mislove Bimal Viswanath Krishna P. Gummadi Peter Druschel.
High Performance Computing Seminar
Graph Search Applications, Minimum Spanning Tree
Graph clustering to detect network modules
The NP class. NP-completeness
Graph theory Definitions Trees, cycles, directed graphs.
Community detection in graphs
TELCOM2125: Network Science and Analysis
Network Science: A Short Introduction i3 Workshop
Peer-to-Peer and Social Networks
Graph Algorithm.
Planarity Testing.
Segmentation Graph-Theoretic Clustering.
Michael L. Nelson CS 495/595 Old Dominion University
Haim Kaplan and Uri Zwick
Spectral Clustering Eric Xing Lecture 8, August 13, 2010
3.3 Network-Centric Community Detection
A Fundamental Bi-partition Algorithm of Kernighan-Lin
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Graph Theory: Cuts and Connectivity
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Constructing a m-connected k-Dominating Set in Unit Disc Graphs
Chapter 8 (Part 2): Relations
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
CS 201 Compiler Construction
Presentation transcript:

Network Theory: Community Detection Dr. Henry Hexmoor Department of Computer Science Southern Illinois University Carbondale

A community is a subset of nodes in the network that form a cohesive group. In order to discover how to detect communities in a network it is essential that to understand what a vertex cut set is, which is set of vertices whose removal disconnects the network; thereby laying the foundational step in detecting communities. Let us consider the following network: {C} is the minimum vertex cut set in accordance with the above network. Three community detection algorithms are explained the following slides: 1.A global algorithm (Kernighan and Lin, 1970) 2.Spectral Partitioning 3.Girvan - Newman Algorithm Community Definition

A GLOBAL ALGORITHM (Kernighan and Lin, 1970) 1.Divide network vertices into two groups of input size in some way, including randomly 2.For each pair (i, j) of vertices such that i is in one and j is in the other group, compute change in the cut set by an interchange between i and j (keeping their neighbors but move to the other group). Among all pairs (i, j), find the pair whose interchange would reduce the cut set the most. Swap that pair 3.Repeat step 2 making sure interchange is non-repeated for a pair of nodes 4.After all possible swaps are complete, the obtained result is the best network position in terms of communities

Example 1: Example 2: If A and E are swapped, A adds three to cut set E adds one to cut set Therefore, this is a bad swap

SPECTRAL POSITIONING Consider a graph, G(|n|, |m|) Divide G into groups 1 & 2 R = Number of edges between groups 1 & 2 = ½∑A ij (I & j belong to different groups) S = +1 if i ∈ group 1 -1 if i ∈ group 2 Kronecker Delta, ∂ ij = ½ (1 – S i S j ) = 1 if I & j ∈ different groups ø if I & j ∈ same group R = ¼ R = ¼ ∑ (K ij ∂ ij - A ij ). S i S j Where (K ij ∂ ij - A ij ) is the ijth laplacian matrix = L ij Ki = = degree of I R = ¼ S T L S (where S is the vector with elements S i ) In general, given A, D = diagonal matrix (degree of nodes along the diagonal) Laplacian, L = D - A

Example 1 Example 2 L = Expected edges between I & j in a random network = (k i k j )/2m Q = modularity = (1/4m) = ∑ (A ij – ((k i k j )/2m)) S i S j = (1/4m) S T B S B is the modularity matrix B ij = (A ij – ((k i k j )/2m))

Girvan and Newman Algorithm 1.Compute betweenness for all existing edges in the network 2.Remove the edge with the highest betweenness 3.Recompute all edge betweenness values 4.Repeat steps 2 & 3 until no edges remain -- The remaining connected components are the communities

Example

Positional Roles Analysis (1/4) There are times when we can group nodes who relate to other groups of nodes in a specific manner; e.g., employer- employee; teacher- student ; father –son Consider groups 1 and 2.

i.e.. The role is used for grouping. Step 1: Find structurally equivalent nodes. Positional Roles Analysis (2/4)

Positional Roles Analysis (3/4) Step 2: Search for nodes that can be assigned to positions in groups from step 1. In an adjacency matrix, position (i.e., groups) can be seen as blocks.

Positional Roles Analysis (4/4) Step 3: Reduction – compute densities in blocks and if larger than a threshold, round up/ down to an image matrix:

Other equivalence groupings… An alternative sets of node equivalence ( White Retiz, 1983) This is non. proximity based.

Local Community Detection (1/4) Community Detection Cont’d – Local ( clauset, 2005) Consider a graph G, with C G about which we know all connections neighbors of C is U.

Local Community Detection (2/4)

Local Community Detection (3/4) Next, we define boundary of C being B. I = Interior T = Terminal

Local Community Detection (4/4) A Greedy Algorithm 1.Add v0 to C 2.Add all neighbors of v0 to U 3.Set B= v0 4.While | C | < K do 5. For each v j ∈ U do 6. Compute 7. End for 8.Find V j such that is maximum 9.Add that V j to C 10.Add all new neighbors of that V j to U 11.Update R and B 12.End while

Changes in Local modularity x = # of edges in T that terminated at V j y = # of edges that will be added to T by agglomeration of V j z = # of edges that will be named from T by agglomeration.