Introduction
Besides clustering, which is the task of partitioning graph nodes into disjoint subsets, it could also be interesting to identify dense regions inside the graph G. In that case, we are not trying to find a partition of G but only some subsets of nodes that are highly interconnected.
Density is an important concept in graph analysis and has been proven to be of particular interest in various areas, such as social networks, biology, and the World Wide Web [543, 524, 277]. It can be defined in many ways based on various concepts (subgraph connectivity, cliques, cores, subgraph density, etc.), leading to various approaches, as described in this chapter.
We first investigate some well-known local density measures or indices. The aim of these local density indices is to provide ameasure of the extent to which a local subset of nodes, centered on a particular node, is highly cohesive, that is, highly interconnected. In other words, these measures try to answer questions like, “Do friends of a node tend to be friends of one another?” or “Is the friend of my friend also my friend?”
Then, some global measures, smoothing the local density over the network, are presented. These tend to be more robust with respect to local variations of the density.
Thereafter, a few bottom-up agglomerative methods are described. These techniques allow highly dense regions to be detected, by extending them gradually in a sequential way according to a greedy algorithm. These methods are also known as hierarchical clustering techniques in multivariate statistics, pattern recognition, data mining, and machine learning. They are very useful when exploring the structure of the network.
Finally, a heuristics for maximum clique detection is briefly described.
Basic Local Density Measures
Many measures of local density of a graph were proposed [123, 469, 608, 804]; only a few popular choices are discussed here. The aim of these local density indices is to provide ameasure of the extent to which a local subset of nodes, sometimes centered on a particular node, is highly cohesive. Cohesiveness of a subgraph can be characterized in several distinct ways [708], one of the most intuitive being subgraph connectivity. Intuitively, if a subgraph is cohesive, it should be possible to remove some of its nodes without disconnecting the subgraph.