|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.uci.ics.jung.algorithms.cluster.EdgeBetweennessClusterer
An algorithm for computing clusters (community structure) in graphs based on edge betweenness. [Note: The betweenness of an edge measure the extent to which that edge lies along shortest paths between all pairs of nodes.] Edges which are least central to communities are progressively removed until the communities have been adequately seperated. This algorithm works by iteratively following the 2 step process:
Running time is: O(kmn) where k is the number of edges to remove, m is the total number of edges, and n is the total number of vertices. For very sparse graphs the running time is closer to O(kn^2) and for graphs with strong community structure, the complexity is even lower.
This algorithm is a slight modification of the algorithm discussed below in that the number of edges to be removed is parameterized.
Constructor Summary | |
EdgeBetweennessClusterer(int numEdgesToRemove)
Constructs a new clusterer for the specified graph. |
Method Summary | |
ClusterSet |
extract(Graph graph)
Finds the set of clusters which have the strongest "community structure". |
java.util.List |
getEdgesRemoved()
Retrieves the list of all edges that were removed (assuming extract(...) was previously called. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public EdgeBetweennessClusterer(int numEdgesToRemove)
numEdgesToRemove
- the number of edges to be progressively removed from the graphMethod Detail |
public ClusterSet extract(Graph graph)
extract
in interface GraphClusterer
graph
- the graph
public java.util.List getEdgesRemoved()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |