java.lang.Object
org.jgrapht.alg.scoring.BetweennessCentrality<V,E>
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
VertexScoringAlgorithm<V,
Double>
Betweenness centrality.
Computes the betweenness centrality of each vertex of a graph. The betweenness centrality of a node $v$ is given by the expression: $g(v)= \sum_{s \neq v \neq t}\frac{\sigma_{st}(v)}{\sigma_{st}}$ where $\sigma_{st}$ is the total number of shortest paths from node $s$ to node $t$ and $\sigma_{st}(v)$ is the number of those paths that pass through $v$. For more details see wikipedia. The algorithm is based on
- Brandes, Ulrik (2001). "A faster algorithm for betweenness centrality". Journal of Mathematical Sociology. 25 (2): 163–177.
- Author:
- Assaf Mizrachi
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Strategy followed when counting paths. -
Constructor Summary
ConstructorDescriptionBetweennessCentrality
(Graph<V, E> graph) Construct a new instance.BetweennessCentrality
(Graph<V, E> graph, boolean normalize) Construct a new instance.BetweennessCentrality
(Graph<V, E> graph, boolean normalize, BetweennessCentrality.OverflowStrategy overflowStrategy) Construct a new instance. -
Method Summary
-
Constructor Details
-
BetweennessCentrality
Construct a new instance.- Parameters:
graph
- the input graph
-
BetweennessCentrality
Construct a new instance.- Parameters:
graph
- the input graphnormalize
- whether to normalize by dividing the closeness by $(n-1) \cdot (n-2)$, where $n$ is the number of vertices of the graph
-
BetweennessCentrality
public BetweennessCentrality(Graph<V, E> graph, boolean normalize, BetweennessCentrality.OverflowStrategy overflowStrategy) Construct a new instance.- Parameters:
graph
- the input graphnormalize
- whether to normalize by dividing the closeness by $(n-1) \cdot (n-2)$, where $n$ is the number of vertices of the graphoverflowStrategy
- strategy to use if overflow is detected
-
-
Method Details
-
getScores
Get a map with the scores of all vertices- Specified by:
getScores
in interfaceVertexScoringAlgorithm<V,
E> - Returns:
- a map with all scores
-
getVertexScore
Get a vertex score- Specified by:
getVertexScore
in interfaceVertexScoringAlgorithm<V,
E> - Parameters:
v
- the vertex- Returns:
- the score
-