Community Detection: There has been a plethora of research in the detection of communities from a given network. These include traditional clustering based algorithms such as hierarchical clustering, partitional clustering and spectral clustering, which group nodes together based on a similarity metric [1]}. Another class of community detection algorithms revolves around the optimization of metrics that define the quality of a network partition, such as modularity [2]}, [3]}, conductance [4]}, cut-ratio [5]}, etc.
Few other methods are based on random walks [6]}, information theory [7]}, [8]}, and spectral algorithms [9]}, [10]}.
Algorithms that detect overlapping communities have also been proposed [11]}, [12]}.
A detailed study of community detection algorithms can be found in [13]}, [14]}.
