Complex systems can be represented in terms of graphs, where the
elements composing the complex system are described as nodes / vertices
and their interactions as edges / links.
At a global level, the nature of these interactions is far from trivial
and very complex in nature.
At a mesoscopic (intermediate) scale, it is possible to identify a group
of nodes that are densely connected among themselves, but sparsely
connected to the rest of the graph. Such heavily interconnected group of
vertices are often characterized as communities and occur in a
wide variety of networked systems. For example, such communities can be
considered as independent portions of a graph, playing a similar
role, like the tissues or the organs in the human body. Community
detection finds applications in a wide and diverse set of areas such as
biology, sociology, and computer science, to name a few, where systems
are often represented as graphs. This problem is extremely hard and has
not yet been solved satisfactorily, despite the huge effort of a large
interdisciplinary community of scientists working on it over the past
few years. This task gets even harder when having to identify such
communities in weighted directed graphs. We refer the reader to a survey
on community detection [1]} for more details.
