Constructor and Description |
---|
Clustering()
Generates an empty clustering
|
Clustering(ArrayList<OrderedSet<Integer>> clusters)
Generates a clustering with the specified set of clusters.
|
Clustering(int[] vertexDistribution)
Generates a clustering with the specified vertex distribution to clusters.
|
Modifier and Type | Method and Description |
---|---|
Clustering |
copy()
Returns a copy of this clustering.
|
OrderedSet<Integer> |
get(int index)
Returns the cluster with the specified index of this clustering,
represented as the set consisting of the indices
of its vertices.
|
ArrayList<OrderedSet<Integer>> |
getClusters()
Returns a list of the clusters of this clustering.
|
int |
getNumberOfClusters()
Returns the number of clusters of this clustering.
|
Clustering |
merge(int i,
int j)
Merges the clusters i and j of this clustering and returns the resulting clustering.
|
double |
modularity(int[][] adjacency,
int edges,
int[] deg)
Computes and returns the modularity of this clustering in an undirected graph.
|
double |
modularity(int[][] adjacency,
int edges,
int[] indeg,
int[] outdeg)
Computes and returns the modularity of this clustering in a directed graph.
|
String |
toString() |
String |
toString(Vertible[] vertices)
Returns a string representing this clustering of vertices.
|
public Clustering()
public Clustering(int[] vertexDistribution)
vertexDistribution[i] = j
means that vertex i is
in cluster j.vertexDistribution
- encodes the distribution of the vertices to the clusterspublic Clustering(ArrayList<OrderedSet<Integer>> clusters)
clusters
- disjoint sets of vertices representing the clusterspublic Clustering copy()
public int getNumberOfClusters()
public OrderedSet<Integer> get(int index)
index
- index specifying the clusterpublic ArrayList<OrderedSet<Integer>> getClusters()
public double modularity(int[][] adjacency, int edges, int[] indeg, int[] outdeg)
Q = (2m)-1 ∑i,j ( Aij - (2m)-1 kioutkjin )
where kiout and kiin are the outdegree and the indegree of vertex i, respectively. M. E. J. Newman (2010): Networks. An Introduction. Oxford University Press, Oxford New York, Eq. (7.69).adjacency
- the adjacency matrix of the directed graphedges
- the number of edges of the directed graphindeg
- array of the the indegreesoutdeg
- array of the outdegreespublic double modularity(int[][] adjacency, int edges, int[] deg)
Q = (2m)-1 ∑i,j ( Aij - (2m)-1 kikj )
where ki is the degree of vertex i. For more details see M. E. J. Newman (2010): Networks. An Introduction. Oxford University Press, Oxford New York, Eq. (7.69).adjacency
- the adjacency matrix of the directed graphedges
- the number of edges of the directed graphdeg
- array of the the degreespublic Clustering merge(int i, int j)
i
- index of the first clusterj
- index of the second clusterpublic String toString(Vertible[] vertices)
vertices
- an array of the vertices of this clustering