Class AbstractFastGreedy<U>

java.lang.Object
es.uam.eps.ir.relison.sna.community.detection.modularity.AbstractFastGreedy<U>
Type Parameters:
U - type of the users.
All Implemented Interfaces:
CommunityDetectionAlgorithm<U>, DendogramCommunityDetectionAlgorithm<U>
Direct Known Subclasses:
FastGreedy, SizeWeightedFastGreedy

public abstract class AbstractFastGreedy<U>
extends java.lang.Object
implements CommunityDetectionAlgorithm<U>, DendogramCommunityDetectionAlgorithm<U>
Abstract class for the implementation of Fast Greedy algorithm versions for optimizing modularity.

Reference: M.E.J. Newman. Fast Algorithm for detecting community structure in networks. Physical Review E 69(6): 066133 (2004)

  • Field Summary

    Fields 
    Modifier and Type Field Description
    private int optimalNumComms
    The optimal number of communities.
    protected java.util.Random rng
    Random number generator.
    private int rngSeed
    Random number seed.
  • Constructor Summary

    Constructors 
    Constructor Description
    AbstractFastGreedy()
    Constructor.
    AbstractFastGreedy​(int rngSeed)
    Constructor.
  • Method Summary

    Modifier and Type Method Description
    Communities<U> detectCommunities​(Graph<U> graph)
    Computes the communities for a certain graph.
    Dendogram<U> detectCommunityDendogram​(Graph<U> graph)
    Computes the community dendogram for a certain graph.
    protected abstract org.jooq.lambda.tuple.Tuple3<java.lang.Integer,​java.lang.Integer,​java.lang.Double> findOptimalJoint​(Graph<U> graph, Communities<U> comm)
    Finds the optimal pair of communities to merge.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait