Class LFMLocal

Inheritance Relationships

Base Type

Class Documentation

class LFMLocal : public NetworKit::SelectiveCommunityDetector

Local version of the LFM algorithm

This is the local community expansion as introduced in:

Lancichinetti, A., Fortunato, S., & Kertész, J. (2009). Detecting the overlapping and hierarchical community structure in complex networks. New Journal of Physics, 11(3), 033015. https://doi.org/10.1088/1367-2630/11/3/033015

Their algorithm detects overlapping communities by repeatedly executing this algorithm for a random seed node that has not yet been assigned to any community.

The algorithm has a resolution parameter alpha. A natural choice for alpha is 1, the paper states that values below 0.5 usually give a community containing the whole graph while values larger than 2 recover the smallest communities.

Public Functions

LFMLocal(const Graph &g, double alpha = 1.0)

Construct the LFMLocal algorithm.

Parameters:
  • G – The graph to find a community on.

  • alpha – The resolution parameter.

virtual std::set<node> expandOneCommunity(const std::set<node> &s) override

Expand a set of nodes into a single community.

Parameters:

s – The set of seed nodes.

Returns:

The found community.

virtual std::set<node> expandOneCommunity(node seed)

Detect a community for the given seed node.

The default implementation calls expandOneCommunity(conststd::set<node>&) with a set of one node.

Parameters:

seed – The seed to find the community for.

Returns:

The found community as set of node.

Protected Attributes

const double alpha