The mcl-algorithm is a software algorithm that specializes in cluster creation for scalable graphs. With its foundation based on stochastic flow, this algorithm is designed to create clusters that are optimal for a variety of applications.
The algorithm simulates flow using alternating two simple algebraic operations on matrices: expansion and inflation. Expansion models the spreading out of flow, while inflation models the contraction of flow. By varying these parameters, clusterings on different scales of granularity can be found. The number of clusters does not need to be specified in advance, but the algorithm can be adapted to different contexts.
The rate of convergence of the MCL process and projection of the iterands afterwards onto the resulting clustering give hooks for unsupervised parameter adjustment. The iterands of the MCL process have structural properties which allow a cluster interpretation and generalize the mapping of MCL limits onto clusterings. The mathematics associated with the MCL process shows that there is an intrinsic relationship between the MCL process and cluster structure in graphs.
The limit of the MCL process is generally extremely sparse, and the iterands are sparse in a weighted sense. This gives the means to scale the algorithm drastically, leading to a worst-case complexity of order Nk^2, where N is the number of nodes of the input graph, and where k is a threshold for the number of resources allocated per node.
MCL-Algorithm is a valuable tool given the many heuristic approaches in cluster analysis. With its elegant, mathematically sound formulation, the algorithm is an excellent choice for researchers and developers looking to analyze graphs and clusters.
Version mcl-09-308: N/A