Consider the following graph, consisting of strongly connected blobs of seven nodes each, weakly connected to each other with a single edge:
Running community detection on this graph, you would expect each of the blobs to form a community. While this works well for the Louvain algorithm on small graphs, it is known to fail on larger graphs. For instance, when run on a graph with a structure similar to the one depicted in the preceding figure but with 100 blobs, the Louvain algorithm will only identify 50 communities. This problem is known as the resolution limit problem: for a graph with edges of a fixed size (number of nodes) and density, the communities detected by the Louvain algorithm cannot be larger (or smaller) than a given number of nodes. This means that the algorithm will fail at discovering small communities in large networks (the 100 blobs case). It will also fail at detecting large communities in small networks. A special case for this last example is the...