  We use the concept of the network communicability (Phys. Rev. E 77 (2008)
036111) to define communities in a complex network. The communities are defined
as the cliques of a communicability graph, which has the same set of nodes as
the complex network and links determined by the communicability function. Then,
the problem of finding the network communities is transformed to an all-clique
problem of the communicability graph. We discuss the efficiency of this
algorithm of community detection. In addition, we extend here the concept of
the communicability to account for the strength of the interactions between the
nodes by using the concept of inverse temperature of the network. Finally, we
develop an algorithm to manage the different degrees of overlapping between the
communities in a complex network. We then analyze the USA airport network, for
which we successfully detect two big communities of the eastern airports and of
the western/central airports as well as two bridging central communities. In
striking contrast, a well-known algorithm groups all but two of the continental
airports into one community.
