Options
All
  • Public
  • Public/Protected
  • All
Menu

Fast local moving algorithm.

The fast local moving algorithm first adds all nodes in a network to a queue. It then removes a node from the queue. The node is moved to the cluster that results in the largest increase in the quality function. If the current cluster assignment of the node is already optimal, the node is not moved. If the node is moved to a different cluster, the neighbors of the node that do not belong to the node's new cluster and that are not yet in the queue are added to the queue. The algorithm continues removing nodes from the queue until the queue is empty.

The fast local moving algorithm provides a fast variant of the StandardLocalMovingAlgorithm.

Hierarchy

Index

Properties

DEFAULT_RESOLUTION: number = 1

Default resolution parameter.

DEFAULT_N_ITERATIONS: number = 1

Default number of iterations.

resolution: number

Resolution parameter.

random: Random

Random number generator.

nIterations: number

Number of iterations.

Methods

  • getResolution(): number
  • setResolution(resolution: number): void
  • Calculates the quality of a clustering using the CPM quality function.

    The CPM quality function is given by

    1 / (2 * m) * sum(d(c[i], c[j]) * (a[i][j] - resolution * n[i] *
    n[j])),

    where a[i][j] is the weight of the edge between nodes i and j, n[i] is the weight of node i, m is the total edge weight, and resolution is the resolutionparameter. The function d(c[i], c[j]) equals 1 if nodes i and j belong to the same cluster and 0 otherwise. The sum is taken over all pairs of nodes i and j.

    Modularity can be expressed in terms of CPM by setting n[i] equal to the total weight of the edges between node i and its neighbors and by rescaling the resolution parameter by 2 * m.

    Parameters

    Returns number

    Quality of the clustering

  • Removes a cluster from a clustering by merging the cluster with another cluster. If a cluster has no connections with other clusters, it cannot be removed.

    Parameters

    • network: Network

      Network

    • clustering: Clustering

      Clustering

    • cluster: number

      Cluster to be removed

    Returns number

    Cluster with which the cluster to be removed has been merged, or -1 if the cluster could not be removed

  • removeSmallClustersBasedOnNNodes(network: Network, clustering: Clustering, minNNodesPerCluster: number): boolean
  • removeSmallClustersBasedOnWeight(network: Network, clustering: Clustering, minClusterWeight: number): boolean
  • Removes small clusters from a clustering. Clusters are merged until each cluster has at least a certain minimum total node weight.

    The total node weight of a cluster equals the sum of the weights of the nodes belonging to the cluster.

    Parameters

    • network: Network

      Network

    • clustering: Clustering

      Clustering

    • minClusterWeight: number

      Minimum total node weight of a cluster

    Returns boolean

    Boolean indicating whether any clusters have been removed

  • initializeBasedOnRandom(random: Random): void
  • initializeBasedOnResolutionAndNIterationsAndRandom(resolution: number, nIterations: number, random: Random): void
  • Initializes a fast local merging algorithm for a specified resolution parameter and number of iterations.

    Parameters

    • resolution: number

      Resolution parameter

    • nIterations: number

      Number of iterations

    • random: Random

      Random number generator

    Returns void

  • initializeBasedOnResolution(resolution: number): void
  • initializeBasedOnResolutionAndNIterations(resolution: number, nIterations: number): void
  • getNIterations(): number
  • setNIterations(nIterations: number): void
  • Improves a clustering by performing one iteration of the fast local moving algorithm.

    The fast local moving algorithm first adds all nodes in a network to a queue. It then removes a node from the queue. The node is moved to the cluster that results in the largest increase in the quality function. If the current cluster assignment of the node is already optimal, the node is not moved. If the node is moved to a different cluster, the neighbors of the node that do not belong to the node's new cluster and that are not yet in the queue are added to the queue. The algorithm continues removing nodes from the queue until the queue is empty.

    Parameters

    Returns boolean

    Boolean indicating whether the clustering has been improved

Constructors

Generated using TypeDoc