A feature of many complex networks—whether they describe social networking or the interactions between proteins in a cell—is that their nodes (the sites of the interactions) tend to cluster into groups, or “communities.” In a paper appearing in Physical Review E, Brian Ball and his colleagues at the University of Michigan, Ann Arbor, present a new method for finding such communities in a network and determining if and how they overlap, which could be helpful in understanding the functions of a wide range of networked systems.
Most previous attempts to solve the “community detection problem” divide networks into distinct, disjoint groups of nodes, but a better description for many networks would take into account that groups can overlap. Though this idea has been around for a while, Ball et al. show how to find overlapping groups efficiently, using a principled statistical approach based on a model that assigns edges to groups. Their algorithm, which they use to analyze passenger airline flights in the US and the interactions between characters in Victor Hugo’s Les Miserables (among other examples), is fast enough to apply to large networks and, as such, represents a promising alternative to other algorithms in the literature. The largest network the authors analyze—an online social network—has more than four million nodes and million connections between them. – Alex Arenas