  Most methods proposed to uncover communities in complex networks rely on
combinatorial graph properties. Usually an edge-counting quality function, such
as modularity, is optimized over all partitions of the graph compared against a
null random graph model. Here we introduce a systematic dynamical framework to
design and analyze a wide variety of quality functions for community detection.
The quality of a partition is measured by its Markov Stability, a
time-parametrized function defined in terms of the statistical properties of a
Markov process taking place on the graph. The Markov process provides a
dynamical sweeping across all scales in the graph, and the time scale is an
intrinsic parameter that uncovers communities at different resolutions.
  This dynamic-based community detection leads to a compound optimization,
which favours communities of comparable centrality (as defined by the
stationary distribution), and provides a unifying framework for spectral
algorithms, as well as different heuristics for community detection, including
versions of modularity and Potts model. Our dynamic framework creates a
systematic link between different stochastic dynamics and their corresponding
notions of optimal communities under distinct (node and edge) centralities. We
show that the Markov Stability can be computed efficiently to find multi-scale
community structure in large networks.
