In many real-world applications it is desirable to allow
overlapping clusters as data points may intrinsically belong
to more than one cluster. For example, in social networks
users belong to numerous communities. In biology, a large
fraction of proteins belong to several protein complexes simultaneously,
and genes have multiple coding functions and
participate in different metabolic pathways. In information
retrieval and text mining, documents, news articles, and web
pages can belong to different categories.