  Discovering communities in complex networks means grouping nodes similar to
each other, to uncover latent information about them. There are hundreds of
different algorithms to solve the community detection task, each with its own
understanding and definition of what a "community" is. Dozens of review works
attempt to order such a diverse landscape -- classifying community discovery
algorithms by the process they employ to detect communities, by their
explicitly stated definition of community, or by their performance on a
standardized task. In this paper, we classify community discovery algorithms
according to a fourth criterion: the similarity of their results. We create an
Algorithm Similarity Network (ASN), whose nodes are the community detection
approaches, connected if they return similar groupings. We then perform
community detection on this network, grouping algorithms that consistently
return the same partitions or overlapping coverage over a span of more than one
thousand synthetic and real world networks. This paper is an attempt to create
a similarity-based classification of community detection algorithms based on
empirical data. It improves over the state of the art by comparing more than
seventy approaches, discovering that the ASN contains well-separated groups,
making it a sensible tool for practitioners, aiding their choice of algorithms
fitting their analytic needs.
