Class LouvainMapEquation

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class LouvainMapEquation : public NetworKit::CommunityDetectionAlgorithm

Public Types

enum class ParallelizationType : uint8_t

Values:

enumerator NONE
enumerator RELAX_MAP
enumerator SYNCHRONOUS
enumerator None
enumerator RelaxMap
enumerator Synchronous

Public Functions

explicit LouvainMapEquation(const Graph &graph, bool hierarchical = false, count maxIterations = 32, std::string_view parallelizationStrategy = "relaxmap")
Parameters:
  • G[in] input graph

  • hierarchical[in] use recursive coarsening

  • maxIterations[in] maximum number of iterations for move phase

  • parallelization[in] strategy (default synchronous): none relaxmap -> one lock per community to update cuts synchronous -> work on stale cuts and volumes, update in second step

explicit LouvainMapEquation(const Graph &graph, bool hierarchical, count maxIterations, ParallelizationType parallelizationType)
Parameters:
  • G[in] input graph

  • hierarchical[in] use recursive coarsening

  • maxIterations[in] maximum number of iterations for move phase

  • parallelization[in] strategy (default synchronous): none relaxmap -> one lock per community to update cuts synchronous -> work on stale cuts and volumes, update in second step

virtual void run() override

Apply algorithm to graph