The discovery of communities [1, 2, 3, 4, 5,6] is an important problem in social network analysis, where the goal is to identify the groups (communities) as well as their members and the ones that belong to several communities. Researchers focus on different methods to detect communities from social networks; the majority of methods supposes that communities are separated where each member of these communities constitutes a node that is categorized under one label. In the real world, a member can be interested by various topics—for instance students can belong to more than one community. Assign multiple labels to the same node is the best representation of the properties of a social network. The most common definition of a community is as follows: ‘A community is a part of a graph where the nodes are
strongly related together compared to the other nodes of the same graph’; numerous approaches to detect communities in a social network were proposed in the past.