Are there algorithms to cluster Graphs, not just cluster nodes in a graph

clusteringgraph theoryhierarchical clustering

I am wondering if there are algorithms to cluster graphs; what I meant is to cluster many graphs, not cluster the nodes in a graph.

For example, we have N graphs, G1, G2, G3, …..GN. Then we can identify [G1, G2, G3] have high similarity in topology, [G4, G5] another one, and so on.

Best Answer

The main problem here seems to me to be about defining and finding the (dis)similarity between different graphs.

  • The 'graph edit distance' (defining distance in terms of number of operations neccesary to convert one graph into the other) is a common way that has been described here on stack overflow.

  • In section 4.2 of "Exact and inexact graph matching: methodology and applications" you find alternative methods for inexact graph matching.

    These are: artificial neural networks, relaxation labeling, spectral methods and kernel methods.

    Riesen, Kaspar, Xiaoyi Jiang, and Horst Bunke. "Exact and inexact graph matching: Methodology and applications." Managing and Mining Graph Data (2010): 217-247.

Then, after solving that problem, to perform clustering you can use any clustering method that uses a distance matrix.

Related Question